合并两个网络摄像头流到一个单一的直播流-程序化

本文关键字:单一 直播 程序化 一个 网络 两个 摄像头 合并 | 更新日期: 2023-09-27 18:10:05

我有两个网络摄像头,我想把它们的流合并成一个直播流预览,并显示在屏幕上。

我擅长c#/Java编程,你能帮我找一个框架来帮助我实现这一点吗?

谢谢,

合并两个网络摄像头流到一个单一的直播流-程序化

如果你的目标只是可视化两个视频并排,我建议你看看DirectShow。Net和GMFBridge工具包。

摘自GMFBridge网站关于包中包含的示例项目GMFPlay的引用:

GMFBridge: GMFPlay展示如何将多个剪辑视为单个电影

如果你想要"合并"两个流(如在另一个流的顶部绘制一些透明度级别),那么你可以尝试这个代码项目示例(仅用于可视化,也使用DirectShow)。

如果你真的想产生一个新的视频流,而不仅仅是可视化,你可以再次使用DirectShow结合混合过滤器,mediallooks - video - mixer例如看起来很有希望。

您可以组合两个摄像头,将流发送到服务器(如SRS),并使用ffplay实时显示。

 .'ffmpeg.exe -f dshow -i video="LRCP  USB2.0" -i .'right.avi -filter_complex "nullsrc=size=1280x1440 [base];[0:v] setpts=PTS-STARTPTS,scale=1280x720 [upper];[1:v] setpts=PTS-STARTPTS,scale=1280x720 [lower];[base][upper] overlay=shortest=1 [temp1];[temp1][lower] overlay=shortest=1:y=720" -c:v libx264 -preset:v ultrafast -tune:v zerolatency -f flv rtmp://192.168.1.136:1935/live/stream

您可以像这个图像示例一样实时观看组合视频。

查看此链接:https://codedump.io/share/fbX1tYFjPhdw/1/merging-two-web-cameras-streaming-into-a-single-live-streaming--programmatically

http://www.codeproject.com/KB/directx/DirectShowVMR9.aspx

引用GMFBridge网站上关于包中包含的样例项目GMFPlay的内容:

GMFBridge: GMFPlay展示了如何将多个剪辑视为单个电影如果你想要"合并"两个流(比如在另一个流的顶部绘制一些透明度级别),那么你可以尝试这个代码项目示例(仅用于可视化,也使用DirectShow)。

如果你真的想生成一个新的视频流,而不仅仅是可视化,你可以再次使用DirectShow结合混合过滤器,mediallooks - video - mixer例如看起来很有前途。