2

我有一个想法,但不知道是否可以这样做:

是否可以编写一个可以将视频源多路复用到任何需要它的软件的 USB cam 驱动程序?一种“中间人”司机:)

4

5 回答 5

1

是的。至于这如何取决于系统。你甚至没有说你在说什么操作系统。无论如何,windows 和 linux 都支持调用其他驱动程序的驱动程序。

于 2009-06-18T10:06:21.083 回答
1

如果您需要 Linux 驱动程序,请查看 v4l 环回驱动程序:

http://www.lavrsen.dk/foswiki/bin/view/Motion/VideoFourLinuxLoopbackDevice

应该可以将它与一些用户代码结合起来做你想做的事。

对于 Windows,您可能可以使用 DirectShow 在用户空间中执行某些操作。

于 2009-06-18T12:03:14.733 回答
1

这在 Windows 驱动程序模型中也应该是可能的。它被称为“上层过滤驱动程序”,位于常规驱动程序和用户空间之间。

底层驱动程序显然是独占的,而您的过滤器不应该是。那么阅读这篇关于如何使驱动程序(非)独占的博文可能是明智的。

于 2009-07-02T15:42:28.110 回答
0

嗯,如果它是 GNU/Linux、MacOS 或任何其他支持的操作系统,则可以使用足够简单的 FUSE 模块来多路复用设备节点......如果明天之前没有任何响应,我会尝试敲一下Perl(如果我能找到我的摄像头...):)

前段时间我考虑过编写这样的代码(作为内核模块),但它最终被搁置了——这个想法实际上是针对网络摄像头的,但可以应用于提供一个多路复用的只读设备节点,抽象任何其他设备提供数据流的节点...

于 2009-06-18T10:14:14.640 回答
0

可能想看看 FTDI 芯片 http://www.ftdichip.com/

有适用于许多操作系统的驱动程序。

也可以看看上面已经有 USB 芯片的 Arduino 板。 http://www.arduino.cc/

于 2009-06-18T12:23:29.980 回答