编写虚拟网络摄像头?

alo*_*obi 16 c++ python webcam wia

我需要创建一个虚拟网络摄像头,它构成一个网络摄像头,但它将一组图像作为输入.我见过像ManyCam和假网络摄像头这样的解决方案,但它们似乎都有一个限制或其他(分辨率,最大文件大小,fps等)我正在使用Windows XP SP3.

我知道我必须为这个任务编写一个WIA接口,但作为一个Python程序员,我从来没有为设备编写驱动程序或接口.编写此界面的主要任务是什么?流量会是什么样的?

n0r*_*0rd 20

你需要写的DirectShow过滤器是一个实现一个COM服务器IPin,IAMStreamConfigIKsPropertySet接口.对于这个IPin部分你最好继承这个CSourceStream类,因为你需要获得Windows SDK,安装SDK后会有一个DirectShow Base Classes源samples\multimedia\directshow文件夹,在那里你会找到CSourceStream(以及其他许多) .DllRegisterServerCOM服务器的功能应该CLSID_VideoInputDeviceCategory使用filter mapper 在类别中注册您的过滤器.

构建COM服务器后,使用regsvr32工具注册它,虚拟网络摄像头应显示在网络摄像头列表中.

还要检查samples\multimedia\directshow\filters\ball可以改进的样本,并将其用作任务的起点.