[gst-devel] problems in streaming H.264 content using gstreamer

Agarwal, Lomesh lomesh.agarwal at intel.com
Thu Aug 28 20:38:29 CEST 2008


I am trying to stream/render H.264 content using gstreamer on two Ubuntu machines. Here is what I run on the server (streaming) side -
gst-launch -v gstrtpbin name=rtpbin filesrc location=h264.ts ! \
                 queue2 max-size-buffers=65535 ! \
                 rtpmp2tpay ! \
                 queue2 max-size-buffers=65535 ! \
                 rtpbin.send_rtp_sink_0 \
                 { rtpbin.send_rtp_src_0 ! udpsink host=192.168.1.2 port=5000 } \
                 { rtpbin.send_rtcp_src_0 ! udpsink host=192.168.1.2 port=5001 sync=false async=false } \
                 { udpsrc port=5005 ! rtpbin.recv_rtcp_sink_0 }
On the receiver side I run following command to render it -
gst-launch -v gstrtpbin name=rtpbin udpsrc port=5000 caps="application/x-rtp,media=video,clock-rate=90000,encoding-name=mpegts" ! \
                 rtpbin.recv_rtp_sink_0 rtpbin. ! \
                 identity sync=true silent=true ! \
                 rtpmp2tdepay ! \
                 flutsdemux name=demuxer \
                     demuxer. ! queue max-size-buffers=0 max-size-time=0 ! flumcaacdec ! audioconvert ! volume volume=10 ! autoaudiosink \
                 demuxer. ! queue max-size-buffers=0 max-size-time=0 ! fluh264dec! autovideosink \
                 udpsrc port=5001 ! \
                 rtpbin.recv_rtcp_sink_0 \
                 rtpbin.send_rtcp_src_0 ! \
                 udpsink port=5005 sync=false async=false -t
h264.ts is a MPEG TS file with aac audio format and H.264 video format. I am using commercial versions of Fluendo plugins.
On the receiver side I see jerky video and after some time video stops. I am using a quad core machine on the receiver side.
If I repeat the same experiment using tcpserversink (in place of rtp bin) plugin on the streamer side and tcpclientsrc on the receiver side, everything works ok.
Am I missing setting some rtp bin property or is it a problem with rtp bin? Can someone suggest some experiment which can narrow down the problem?

Thanks,
Lomesh




More information about the gstreamer-devel mailing list