带有两个 Udpsink 的 Gstreamer

Gstreamer with two Udpsinks

我想知道如何接收 Gstreamer Live 视频流,它在接收器端有双 udpsink。

这里我提供了一个 Udpsink 发射器和接收器,它工作得很好

发件人"raspivid -t 999999 -h 480 -w 640 -fps 25 -b 2000000 -o - | gst-launch-0.10 -v fdsrc fd=0 ! h264parse ! rtph264pay ! udpsink host=192.168.0.105 port=5000"

接收器 : "udpsrc port=5000 caps=application/x-rtp buffer-size=100000 ! rtph264depay ! ffdec_h264 ! queue ! autovideosink sync=false"

双 Udpsink 发送器raspivid -t 999999 -h 480 -w 640 -fps 25 -b 2000000 -o - | gst-launch-0.10 -v fdsrc fd=0 ! T 恤名称=tp \tp. h264解析! rtph264支付! udpsink 主机=192.168.0.105 端口=5000 \tp。 ! h264解析! rtph264支付! udpsink 主机=192.168.0.100 端口=5005

现在我无法在接收方的任何一方接收。请帮助我。提前致谢。

双 udpsink 发送器的主要问题是您没有在 tee 元素后使用 'queue'(s)。尝试在 Tee 元素之后添加 queue 或 queue2 元素。 (您可能还需要使用队列元素的 'leaky' 属性)

请参阅 link 关于 gstreamer 中的多线程和队列。

改为使用单个 multiudpsink 元素:

raspivid -t 999999 -h 480 -w 640 -fps 25 -b 2000000 -o - | gst-launch-0.10 -v fdsrc fd=0 ! h264parse ! rtph264pay ! multiudpsink clients=192.168.0.105:5000,192.168.0.100:5005