如何在Linux上写一个虚拟网络摄像头?

时间:2012-05-03 12:40:58

标签: c++ c linux opencv video-streaming

我想从真实网络摄像头捕获视频,使用 openCv 应用过滤器,并在虚拟网络摄像头上编写过滤后的视频,然后在网络上进行流式传输。

前2分我没有问题,但我不知道如何在虚拟网络摄像头上写字。

有可能吗?

我该怎么做?

我在 Debian 上使用 openCv C ++ 。 感谢

2 个答案:

答案 0 :(得分:11)

嗯,实际上这是可能的。快速而肮脏的方法是使用WebcamStudio。 这将创建一个新的视频设备(例如,/ device / video2),其他程序将其视为普通视频设备并可以从桌面获取其输入,因此您只需将其设置为捕获OpenCV输出显示的部分屏幕那里。

更好但更技术性的方法是使用V4L2 loop back module。这样您就可以简单地将OpenCV的输出传输到模块,该模块被其他程序视为普通视频设备。请参阅本页底部的自述文件: https://github.com/umlaeute/v4l2loopback 和维基: https://github.com/umlaeute/v4l2loopback/wiki 欲获得更多信息。

希望有所帮助。

答案 1 :(得分:0)

您还可以结合使用 $.getJSON(url, function (data) { var events = data.resultsPage.results.event; console.log(events); // Initially filter out all the events with status "cancelled" so they won't be rendered const filteredEvents = events.filter(event => event.status !== "cancelled"); // Running on the filtered events filteredEvents.forEach(function (item, index, array) { ... }); }); v4l2loopbackOBS Studio

使用obs-v4l2sink捕获设备中的视频,然后OBS Studio是一个小插件,可以将输出写入您选择的obs-v4l2sink

v4l2sink

https://github.com/umlaeute/v4l2loopback/wiki/OBS-Studio

https://github.com/CatxFish/obs-v4l2sink