【问题标题】:Modifying a webcam stream修改网络摄像头流
【发布时间】:2012-09-10 08:20:02
【问题描述】:

目前我正在做一个项目,我需要修改一个正在流式传输到 Skype 的网络摄像头流。本质上,我想做一些事情,比如模糊面部和其他匿名技术。

在做这个项目时,我遇到了几个问题。首先,我使用 opencv 进行修改,直到我尝试将其与 skype 接口(它不会因为 opencv 接管网络摄像头,然后 skype 无法使用它)才开始运作良好。然后我被一位朋友引导到 GStreamer 库,他们似乎可以工作,但我不断收到其他人似乎没有收到的错误。目前我正在研究 DirectShow。我已经能够制作一个虚拟网络摄像头供 Skype 观看,但虚拟网络摄像头只接受来自文件的输入。我在 Windows 和/或 Linux 中工作,这取决于我在哪个方面取得了更大的进步。

所以我基本上有两个问题

  1. 如果你做过一个项目或类似我正在做的事情,你能告诉我你是怎么做的吗

  2. 由于我仍在使用 Gstreamer+Opencv 和 Directshow 方法,是否有人知道如何将来自 opencv 或其他网络摄像头的输入提供给虚拟网络摄像头(我已经查看了虚拟网络摄像头的输入引脚,但没有了解如何使用它们)

另外,是的,我已经搜索了一个答案,但是由于这些对我来说是一个陡峭的学习曲线,而且大多数答案都是非代码的,所以我对一些答案感到很困惑。

【问题讨论】:

  • 您在使用 gstreamer 时经常遇到哪些其他人没有遇到的错误?
  • 这些是在 windows 中从 gstreamer.com sdk 运行 basic-tutorial1.c 时出现的错误。
  • (basic-tutorial-1.exe:29092): GStreamer-CRITICAL **: gst_element_set_state: 断言 GST_IS_ELEMENT (element)' failed (basic-tutorial-1.exe:29092): GStreamer-CRITICAL **: gst_element_get_bus: assert ion GST_IS_ELEMENT (element)' 失败 (basic-tutorial-1.exe:29092) : GStreamer-CRITICAL **: gst_bus_timed_pop_filtered: 断言GST_IS_BUS (bus)' failed (basic-tutorial-1.exe:29092): GStreamer-CRITICAL **: gst_object_unref: assertion object != NULL' 失败 (basic-tutorial-1.exe:29092): GStreamer-CRITICAL **: gst_element_set_state: 断言 `GST_IS_ELEMENT (element)' 失败跨度>
  • 抱歉,事情有点忙。这些错误来自 www.gstreamer.com 的 basic-tutorial-1.c
  • 对于 Mac OS X,check this out

标签: opencv virtual webcam gstreamer


【解决方案1】:

在 linux 上,gstreamer 提供了一个“v4l2sink”元素,允许您将视频流写入v4l2loopback 设备,该设备可以通过(某些版本的)skype 打开(skype 的 v4l2 支持非常糟糕)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-15
    • 2012-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-12
    • 2010-11-18
    相关资源
    最近更新 更多