Gstreamer 无法从其他电脑播放流:h264->rtp->udp
Gstreamer cant play stream from other pc: h264->rtp->udp
我想通过 UDP 将 h264 视频流式传输到另一台电脑。
我正在使用此管道生成流:
videotestsrc ! video/x-raw,width=400,height=400,framerate=7/1 ! videoconvert ! x264enc ! h264parse config-interval=1 ! video/x-h264,stream-format=byte-stream,alignment=nal ! rtph264pay ! udpsink host=192.168.1.100 port=2705
我可以在同一台机器(IP 地址为 192.168.1.100)上播放这个管道:
udpsrc port=2705 ! application/x-rtp,width=400,height=400,encoding-name=H264,payload=96,framerate=7/1 ! rtph264depay ! h264parse ! avdec_h264 ! autovideosink
但是当我尝试将它从另一台电脑流式传输到同一台机器时,我只得到这个输出并且它永远等待:
正在将管道设置为暂停...
管道是实时的,不需要 PREROLL ...
将管道设置为正在播放 ...
新时钟:GstSystemClock
重新分配延迟...
重新分配延迟...
这里可能是什么问题?
我找到了解决方案。播放管道中需要一个 videoconvert 元素。
正在运行的播放管道是:
udpsrc port=2705 ! application/x-rtp,width=400,height=400,encoding-name=H264,payload=96,framerate=7/1 ! rtph264depay ! h264parse ! avdec_h264 ! videoconvert ! autovideosink
我想通过 UDP 将 h264 视频流式传输到另一台电脑。
我正在使用此管道生成流:
videotestsrc ! video/x-raw,width=400,height=400,framerate=7/1 ! videoconvert ! x264enc ! h264parse config-interval=1 ! video/x-h264,stream-format=byte-stream,alignment=nal ! rtph264pay ! udpsink host=192.168.1.100 port=2705
我可以在同一台机器(IP 地址为 192.168.1.100)上播放这个管道:
udpsrc port=2705 ! application/x-rtp,width=400,height=400,encoding-name=H264,payload=96,framerate=7/1 ! rtph264depay ! h264parse ! avdec_h264 ! autovideosink
但是当我尝试将它从另一台电脑流式传输到同一台机器时,我只得到这个输出并且它永远等待:
正在将管道设置为暂停...
管道是实时的,不需要 PREROLL ...
将管道设置为正在播放 ...
新时钟:GstSystemClock
重新分配延迟...
重新分配延迟...
这里可能是什么问题?
我找到了解决方案。播放管道中需要一个 videoconvert 元素。
正在运行的播放管道是:
udpsrc port=2705 ! application/x-rtp,width=400,height=400,encoding-name=H264,payload=96,framerate=7/1 ! rtph264depay ! h264parse ! avdec_h264 ! videoconvert ! autovideosink