Gstreamer流h264文件

Gstreamer流h264文件,gstreamer,Gstreamer,我试图通过将RTP流发送到广播地址,将h264编码的电影文件从服务器一次流式传输到多个客户端 我得到的解决方案有效,但速度很慢。在本地播放视频效果很好 这是我的服务器: gst-launch-0.10 -v filesrc location=/home/zeroc8/Videos/bunny.mov \ ! qtdemux ! h264parse ! rtph264pay pt=96 ! udpsink host=192.168.1.255 port=5000 这是客户: gst-launch

我试图通过将RTP流发送到广播地址,将h264编码的电影文件从服务器一次流式传输到多个客户端

我得到的解决方案有效,但速度很慢。在本地播放视频效果很好

这是我的服务器:

gst-launch-0.10 -v filesrc location=/home/zeroc8/Videos/bunny.mov \
! qtdemux ! h264parse ! rtph264pay pt=96 ! udpsink host=192.168.1.255 port=5000
这是客户:

gst-launch-0.10 udpsrc port=5000 \
caps="application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, sprop-parameter-sets=(string)\"J01AHqkYGwe83gDUBAQG2wrXvfAQ\\,KN4JyA\\=\\=\", payload=(int)96, ssrc=(uint)786848209, clock-base=(uint)101553131, seqnum-base=(uint)64602" 
! rtph264depay ! ffdec_h264 ! ffmpegcolorspace ! autovideosink

我在这里做坏事吗?为什么这么慢?

刚刚从gstreamer邮件列表中得到答案。 如果其他人也有同样的问题,添加gstrtpjitterbuffer元素可以解决这个问题

gst-launch-0.10 udpsrc port=5000 \
caps="application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, sprop-parameter-sets=(string)\"J01AHqkYGwe83gDUBAQG2wrXvfAQ\\,KN4JyA\\=\\=\", payload=(int)96, ssrc=(uint)786848209, clock-base=(uint)101553131, seqnum-base=(uint)64602" \ 
! gstrtpjitterbuffer latency=1000 
! rtph264depay ! ffdec_h264 ! ffmpegcolorspace ! autovideosink

谢谢分享。gstreamer是否使用上述命令打开用于播放视频的gui?是的。但您也可以通过调用set_xwindow_id告诉它渲染到单独的绘图区域。