zz: Directshow 虚拟摄像头实现

ZZ: 百度贴吧 --  陆其明

 

1 请陆老师指点一下下,关于虚拟摄像头的实现。
 
其实我觉得虚拟摄像头有点类似Source Filter,更确切的说应该是推模式的Source Filter,就好像SDK里面的那个Ball(弹球)例子一样。

我现在有几个问题不是很清楚,希望陆老师指点一下。
1.通常我们开发的Filter都在DirectShow Filters里面,而那些虚拟摄像头软件的Filter却和真实摄像头一样注册在Video Capture Source里面,请问它是怎么实现的?

2.通常我们开发的Filter都是通过CoCreateInstance函数创建的,而那些虚拟摄像头软件的Filter却和真实摄像头一样可以用IMoniker::BindToObject函数创建,请问它是怎么实现的?

我是顺着气味一路到此的,希望大家支持我。
   
 
作者: LeonCh 
  
 
2006-6-10 19:01   回复此发言  
 

2 回复:请陆老师指点一下下,关于虚拟摄像头的实现。
 
0. 是的,跟push source filter很像!
1. 使用IFilterMapper2::RegisterFilter进行注册,filter category指定CLSID_VideoInputDeviceCategory即可。
2. 通过枚举得到的Moniker应该都可以BindToObject来创建为filter。对于filter来说,不需要另外的实现。

你可能感兴趣的:(filter,百度)