我想开发一个虚拟网络摄像头驱动程序,从用户模式我将图像传递给它,它将显示为网络摄像头输出.
我不想使用DirectX过滤器和CSourceStream等.因为它们不适用于某些不使用DirectX捕获网络摄像头图像的程序.
我必须写一个内核模式设备驱动程序.
有任何想法吗?我尝试了DDK样本的testcap,但它没有处理来自用户模式的图像并且没有得到任何输入,只是它在网络摄像头中显示7种颜色...
任何帮助将不胜感激.谢谢
谢谢你们!
我从这里尝试了代码:http: //tmhare.mvps.org/downloads.htm (找到捕获源过滤器)
当我在雅虎,MSN编译它时,它运行良好,但它崩溃了AIM,Internet Explorer Flash网络摄像头,Firefox Flash网络摄像头和Skype ......在8次调用之后,我在QueryInterface中崩溃了,我发现它跟踪了它很多技巧..
现在我知道,它在第8次调用时崩溃了HRESULT CVCamStream :: QueryInterface(REFIID riid,void**ppv)
第8次调用,当它到达时,如果,我的意思是:返回CSourceStream :: QueryInterface(riid,ppv);
它位于Filters.cpp的第17行
为什么你认为我会崩溃?
谢谢大家指导我找到正确的解决方案,这是DirectShow,而不是驱动程序
我想写一个新的虚拟网络摄像头驱动程序,例如,它将采用AVI或实时流作为屏幕并将其作为网络摄像头源流式传输.
我真的没有网络摄像头,我想添加一个流媒体桌面屏幕的虚拟网络摄像头.
我应该在内核模式下编写一个网络摄像头来这样做吗?如果是这样,你能指导我一个样本网络摄像头驱动程序吗?
如果我应该在DirectShow中执行此操作,如何在控制面板中的网络摄像头列表中添加网络摄像头设备,例如在Yahoo Messenger中,我可以选择该设备作为网络摄像头并将我的桌面作为网络摄像头图像流式传输.
我该如何开始?