我想写一个新的虚拟摄像头驱动程序,这对于例如将采取AVI或实时数据流,例如用于屏幕和流它作为网络摄像头资源。
我没有摄像头真的,我想增加其流桌面屏幕虚拟摄像头。
我应该写在内核模式下的摄像头,这样做呢? 如果是这样,你能引导我到样品摄像头驱动程序?
如果我DirectShow中做到这一点,我怎么可以添加一个网络摄像头设备列出在控制面板的网络摄像头列表,所以例如在雅虎信使,我可以选择该设备作为网络摄像头和流我的台式机作为网络摄像头的图像。
我该如何开始?
我想写一个新的虚拟摄像头驱动程序,这对于例如将采取AVI或实时数据流,例如用于屏幕和流它作为网络摄像头资源。
我没有摄像头真的,我想增加其流桌面屏幕虚拟摄像头。
我应该写在内核模式下的摄像头,这样做呢? 如果是这样,你能引导我到样品摄像头驱动程序?
如果我DirectShow中做到这一点,我怎么可以添加一个网络摄像头设备列出在控制面板的网络摄像头列表,所以例如在雅虎信使,我可以选择该设备作为网络摄像头和流我的台式机作为网络摄像头的图像。
我该如何开始?
你需要写一个DirectShow源过滤器。 Windows SDK中包含一个名为基类库,它可以帮助你制定这样一个过滤器。 见CSourceStream一个很好的起点。
为了让设备下的其他视频流的设备展现出来,你与CLSID_VideoInputCategory下DirectShow的API来注册你的过滤器。 你并不需要/不应该写一个内核驱动程序。
你可以用DirectShow的包装下的样本“AMCAP”得到启动,它是初学者极好的样本。 如果要列出摄像头设备,去ChooseDevices()方法。