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的主要内容,如果未能解决你的问题,请参考以下文章
AR Drone 2.0、Gstreamer、C++ RTMP 服务器(无需 SDK 的流式传输)