GStreamer画中画rtmp转rtmp

Posted

技术标签:

【中文标题】GStreamer画中画rtmp转rtmp【英文标题】:GStreamer Picture in Picture rtmp to rtmp 【发布时间】:2013-09-02 09:10:30 【问题描述】:

如何在 gstreamer 中混合两个 rtmp 流?

Src:nginx-rtmp 摄像头 - h.264/speex 接收器:nginx-rtmp

GStreamer 0.10 或 1.0

 ----------        -------
| rtmp src |----->|       |
 ----------       |       |       ---------- 
                  | video |----->| rtmp sink|
 ----------       | mixer |       ----------  
| rtmp src |----->|       |
 ----------       |       |
                   -------

【问题讨论】:

【参考方案1】:

您可以使用 videomixer、videoscale 和 videobox 实现此目的。

这个答案应该会给你一些想法:Can I use the Gstreamer API to merge 2 videos?

【讨论】:

【参考方案2】:

我在 Red5 服务器(Santosh、Amit)上手动发布两个流,使用以下管道我可以混合两个流并在 Red5 上发布另一个流(测试)。

GST_DEBUG=videomixer:6 gst-launch-1.0 videomixer sink_1::xpos=10\ sink_1::ypos=0 sink_2::xpos=10 sink_1::ypos=220 sink_3::xpos=50 \sink_1::ypos=120  name=mix ! videoconvert ! video/x-raw, height=500, \width=1000 ! x264enc tune=zerolatency bitrate=2000 ! flvmux ! rtmpsink \location='rtmp://xx.xx.xx.xx/oflaDemo/Test live=1'  rtmpsrc name=src1 \location='rtmp://xx.xx.xx.xx/oflaDemo/Amit live=1' ! decodebin ! \mix.sink_1 rtmpsrc name=src2 \location='rtmp://xx.xx.xx.xx/oflaDemo/Santosh live=1' ! decodebin !\ mix.sink_2

【讨论】:

以上是关于GStreamer画中画rtmp转rtmp的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Gstreamer 通过 RTMP 流式传输?

在 RTMP 流上添加时间叠加的 Gstreamer 问题

通过 GStreamer 和 Python 实现 RTMP

AR Drone 2.0、Gstreamer、C++ RTMP 服务器(无需 SDK 的流式传输)

如何使用 GStreamer 从 IP RTMP 摄像机流式传输到 v4l2loopback 摄像机?

如何实现多镜头画中画网络直播