我是否可以进行通用API调用以获取来自网络摄像头的图像或视频源的处理,并将其替换为我自己的图像或视频,以便应用程序连接到摄像头(例如MSN / Skype /雅虎IM)会看到我的图像而不是相机拍摄的图像吗?

理想情况下,我试图以独立于设备供应商或界面的通用方式解决此问题(通过所有这些应用程序使用的标准网络摄像头堆栈,如果存在这样的事情)。

安全应用程序需要能够在客户端上禁用网络摄像头,而不是用于特定目的。我可以通过代码停止并启动图像捕获设备,但理想情况下我更希望启用设备并用图形替换捕获的图像,该图形告诉用户他们当前无法使用其凸轮的原因。

有帮助吗?

解决方案

大多数设计用于一般工作的现代网络摄像头通常会实现为WDM设备,然后作为DirectShow内核过滤器公开。然后,应用程序可以使用DirectShow处理实时视频流。可以编写一个具有高优点的自定义过滤器,可以尝试将其自身插入到任何相关图形中,然后即时修改视频流。然而,这种技术当然不是万无一失的,可以轻松解决。还有其他视频捕获技术不受此方法的影响。简而言之,没有可靠的方法可以为所有设备或安全地执行所需的操作。如果您只是希望能够使用标准网络摄像头并以非安全方式以编程方式更改视频输入,那么上述技术将起作用。

查看此处了解DirectShow的一般信息和此处了解有关视频捕获的信息。 AmCap EZRGB24 样本也是一个很好的起点。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top