编写虚拟网络摄像头? - c++

我需要创建一个虚拟的网络摄像头,该虚拟的网络摄像头冒充一个网络摄像头,但是将其播放的一组图像作为输入。我见过诸如ManyCam和Fake Webcam之类的解决方案,但它们似乎都在一个限制或另一个限制(分辨率,最大文件大小,fps等)上,我正在使用Windows XP SP3。

我知道我必须为此任务编写WIA接口,但是作为Python程序员,我从未编写过驱动程序或设备接口。编写此接口的主要任务是什么?流程是什么样的?

参考方案

您需要编写DirectShow筛选器,该筛选器是实现 IPinIAMStreamConfigIKsPropertySet 接口的COM服务器。对于IPin部分,最好先继承 CSourceStream 类,为此,您需要获取Windows SDK,安装该SDK后,在samples\multimedia\directshow文件夹中将存在DirectShow基类源,您将在其中找到CSourceStream(等等)。 COM服务器的DllRegisterServer函数应使用过滤器映射器在CLSID_VideoInputDeviceCategory类别中注册您的过滤器。

构建COM服务器后,请使用regsvr32工具对其进行注册,并且您的虚拟网络摄像头应出现在网络摄像头列表中。

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

在Java中,执行“ ++++++++”表达式,编译器未报告任何错误并且可以正确执行? - java

我用eclipse编写了这段代码,用war写过,结果为3d。public static void main(String[] args) { double a = 5d + + + + + +-+3d; System.out.println(a); } 参考方案 您的表情可以改写为(5d) + (+ + + + +-+3d) 其中第一个+是应用于两个操作数的…

在Python和C++之间传输数据而无需写入Windows和Unix文件 - python

我有预先存在的python和C ++文件,其中python文件定义了许多点,而C ++代码利用其现有库进行了所需的计算。最终产品是C ++代码写入的文件。我正在寻找一种在python中获取2000点列表的方法,将其传递给函数,然后执行所有C ++代码并输出我需要的文件。其他注意事项。这必须是可以在Linux或Windows机器上工作的东西,并且最少安装新插件…

如何锁定终端运行的perl,obj c,c++,python和ruby等脚本的源代码? - python

我想出售我在perl,obj c,c ++,python,ruby,bash,php等中制作的脚本等它们都在终端中运行。 (Linux)如何锁定源代码,以便无需人们访问源代码即可分发我的脚本..?换句话说,如何将在Terminal中运行的程序的源代码锁定,以便人们可以使用该程序(如果该代码已下载到他们的Linux机器上,但他们无法访问实际的源代码)?例:ex…

SWIG和C++共享库 - c++

我有一个C++库(我们将其称为mylib)编译为libmylib.so中的/usr/local/lib文件,并且我在my lib中一个名为/usr/local/include的目录中有许多头文件。现在,我想做的(对于初学者而言)只是将其中一个头文件(包含有关我的图书馆提供的类的信息)与SWIG一起使用,以生成mylib_wrap.cxx文件,然后进行编译并将…

Python + Selenium:我无法从div获取打印文本 - python

Python + Selenium:我无法从此div获取打印文本:<div id="modal-content-18" class="modal-content" data-role="content"> <div> SignUp Failed. Please Try Aga…