我正在做一个项目,需要读取USB摄像机的输入,对其进行一些处理,然后将数据发送到虚拟摄像机,以便Skype等可以访问它。
我已经编译并使用了vcam filter。我还能够对FillBuffer方法进行一些更改。现在,我需要知道是否可以将数据从另一个应用程序发送到vcam过滤器,或者我是否需要编写另一个过滤器。
最佳答案
当前作为模板的vcam项目是其他视频消耗应用程序(如Skype)的接口(interface),这些应用程序使用DirectShow API访问视频捕获设备并在平台/位数上与过滤器匹配。
您负责开发其余的假定过滤器:您可以直接在过滤器中访问真实设备(大大简化了任务,这是您用自己的FillBuffer
填充的代码,该代码可从其他来源生成视频),或者您是实现进程间通信,以便FillBuffer
实现可以从另一个应用程序传输数据。
Nethier vcam或任何标准DriectShow示例均提供了覆盖进程间通信的功能,并且您可能还需要处理其他复杂问题:一个应用程序和多个实例用于消耗视频的过滤器,平台不匹配等。
也可以看看: