我想从真实网络摄像头捕获视频,使用 openCv 应用过滤器,并在虚拟网络摄像头上编写过滤后的视频,然后在网络上进行流式传输。
前2分我没有问题,但我不知道如何在虚拟网络摄像头上写字。
有可能吗?
我该怎么做?
我在 Debian 上使用 openCv 和 C ++ 。 感谢
答案 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) {
...
});
});
,v4l2loopback
和OBS Studio
。
使用obs-v4l2sink
捕获设备中的视频,然后OBS Studio
是一个小插件,可以将输出写入您选择的obs-v4l2sink
。