【发布时间】:2009-05-19 23:09:27
【问题描述】:
我想模拟来自网络摄像头的视频输入以进行测试。
所以我需要能够在 Windows 中模拟软件视频捕获设备并能够动态生成其输出。
我怎样才能做到这一点?
我更喜欢 C# 或 C++ 的解决方案。
【问题讨论】:
标签: c# windows video video-capture device-emulation
我想模拟来自网络摄像头的视频输入以进行测试。
所以我需要能够在 Windows 中模拟软件视频捕获设备并能够动态生成其输出。
我怎样才能做到这一点?
我更喜欢 C# 或 C++ 的解决方案。
【问题讨论】:
标签: c# windows video video-capture device-emulation
您可以使用Virtual Webcam(旧链接,但还有其他链接)它将获取视频/图像文件并将其显示在网络摄像头设备中。您的系统会认为它是一个普通设备。
然后你需要创建一些可以生成视频/图像的东西,如果你需要静态图像那么很容易生成 bmp。
【讨论】:
旧的(没有选择的答案)问题....实际上可能是我见过的最古老的问题之一...但我自己在寻找答案时遇到了这个问题,我记得“虚拟网络摄像头”仍然存在的那一天(现在只是一个中文广告网站)。
不要害怕!有新的资源可以解决您长达十年的探索: 首先,检查 OBS,开源对视频流做了很多:
其次,为它检查这个虚拟网络摄像头插件。完全符合您的要求,并且确实使用了@qbeuek 对 DirectDraw 的建议:
它是用 C++ 编写的,因此获取所需的部分并重写为 C# 留给读者作为练习,但功能就在那里。
【讨论】:
据我所知,Windows 中有一组 COM 接口来管理音频和视频的录制和播放。它曾经被称为 DirectShow,但可能同时名称已更改。这些接口用于构建音频和视频过滤器图,对数据流进行编码/解码。
要走的路: - 了解 Microsoft DirectShow API, - 实现一个实现视频源接口的COM对象,
【讨论】: