GStreamer:在一个端口上接收/解复用多个RTP流?

时间:2018-06-01 09:22:44

标签: gstreamer rtp

我想使用gstreamer为多个UDP RTP流创建网络接收器。基本设置(一个发件人,一个接收器)工作正常,看起来像这样:

# sender:
gst-launch-1.0 -vvtcm audiotestsrc ! rtpgstpay config-interval=1 ssrc=1 ! udpsink host=127.0.0.1 port=5000
# receiver:
gst-launch-1.0 -vvtcm udpsrc port=5000 caps="application/x-rtp,media=application,clock-rate=90000,encoding-name=X-GST" ! rtpssrcdemux ! rtpgstdepay ! autoaudiosink

但是,我希望有多个发件人可以动态启动和停止流式传输到同一个端口。 AFAICT RTP中的SSRC字段允许我这样做,但我无法弄清楚如何配置rtpssrcdemux以便它将创建额外的接收器垫。

E.g。当我启动以下接收器管道时:

gst-launch-1.0 -vvtcm udpsrc port=5000 caps="application/x-rtp,media=application,clock-rate=90000,encoding-name=X-GST" ! rtpssrcdemux name=demux demux.src_0 ! rtpgstdepay ! autoaudiosink demux.src_1 ! rtpgstdepay ! autoaudiosink

它将等待第一个音频流,但当我使用不同的SSRC启动第二个发送者时,管道将以streaming task paused, reason not-linked (-1)停止。

提示欢迎......?

0 个答案:

没有答案