【问题标题】:How can I emulate a video capture device and provide dynamic video content?如何模拟视频捕获设备并提供动态视频内容?
【发布时间】:2009-05-19 23:09:27
【问题描述】:

我想模拟来自网络摄像头的视频输入以进行测试。

所以我需要能够在 Windows 中模拟软件视频捕获设备并能够动态生成其输出。

我怎样才能做到这一点?

我更喜欢 C# 或 C++ 的解决方案。

【问题讨论】:

    标签: c# windows video video-capture device-emulation


    【解决方案1】:

    您可以使用Virtual Webcam(旧链接,但还有其他链接)它将获取视频/图像文件并将其显示在网络摄像头设备中。您的系统会认为它是一个普通设备。

    然后你需要创建一些可以生成视频/图像的东西,如果你需要静态图像那么很容易生成 bmp。

    【讨论】:

    • 他说动态不是实时的,我想在动态中你有一些你想在运行时可视化但不一定实时的模型。
    【解决方案2】:

    旧的(没有选择的答案)问题....实际上可能是我见过的最古老的问题之一...但我自己在寻找答案时遇到了这个问题,我记得“虚拟网络摄像头”仍然存在的那一天(现在只是一个中文广告网站)。

    不要害怕!有新的资源可以解决您长达十年的探索: 首先,检查 OBS,开源对视频流做了很多:

    其次,为它检查这个虚拟网络摄像头插件。完全符合您的要求,并且确实使用了@qbeuek 对 DirectDraw 的建议:

    它是用 C++ 编写的,因此获取所需的部分并重写为 C# 留给读者作为练习,但功能就在那里。

    【讨论】:

    • 非常酷!您是否碰巧知道是否有办法在虚拟摄像头上打开音频?视频正常,但音频可能不在范围内?
    • 对不起@Miguel,我从来没有真正使用过它的代码,只是最终产品。 OBS 确实具有许多音频捕获功能,因此请看看它在该插件之外能够完成什么。
    【解决方案3】:

    据我所知,Windows 中有一组 COM 接口来管理音频和视频的录制和播放。它曾经被称为 DirectShow,但可能同时名称已更改。这些接口用于构建音频和视频过滤器图,对数据流进行编码/解码。

    要走的路: - 了解 Microsoft DirectShow API, - 实现一个实现视频源接口的COM对象,

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-01
      • 2011-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多