2024-06-16 13:05:06 发布
网友
我需要创建一个虚拟摄像头,它的姿态是一个摄像头,但作为输入的一组图像,它播放。我见过很多解决方案,比如ManyCam和假摄像头,但它们似乎都有一个或另一个限制(分辨率、最大文件大小、fps等),我在Windows XP SP3上工作。
我知道我必须为这个任务编写一个WIA接口,但是作为一个Python程序员,我从来没有为设备编写驱动程序或接口。编写这个接口的主要任务是什么?水流会是什么样子?
您需要编写DirectShow过滤器,它是一个实现^{}、^{}和^{}接口的COM服务器。对于IPin部分,您最好从继承^{}类开始,因为您需要获得Windows SDK,安装SDK后,在samples\multimedia\directshow文件夹中会有一个DirectShow基类源文件,在那里您可以找到CSourceStream(以及其他许多文件)。^COM服务器的{}函数应使用筛选器映射器在CLSID_VideoInputDeviceCategory类别中注册筛选器。
IPin
samples\multimedia\directshow
CSourceStream
CLSID_VideoInputDeviceCategory
在构建COM服务器之后,您可以使用regsvr32工具注册它,您的虚拟网络摄像头应该出现在web cam列表中。
regsvr32
还要检查samples\multimedia\directshow\filters\ball示例,该示例可以改进并用作任务的起点。
samples\multimedia\directshow\filters\ball
您需要编写DirectShow过滤器,它是一个实现^{} 、^{} 和^{} 接口的COM服务器。对于} 类开始,因为您需要获得Windows SDK,安装SDK后,在}函数应使用筛选器映射器在
IPin
部分,您最好从继承^{samples\multimedia\directshow
文件夹中会有一个DirectShow基类源文件,在那里您可以找到CSourceStream
(以及其他许多文件)。^COM服务器的{CLSID_VideoInputDeviceCategory
类别中注册筛选器。在构建COM服务器之后,您可以使用
regsvr32
工具注册它,您的虚拟网络摄像头应该出现在web cam列表中。还要检查
samples\multimedia\directshow\filters\ball
示例,该示例可以改进并用作任务的起点。相关问题 更多 >
编程相关推荐