Playback of RTP stream using gstreamer

amolnatekar amol.natekar at
Thu Jan 5 01:33:01 PST 2012


We have a thirdparty server which streams live data over RTP using the
following rtp profiles:

 1) H.264 Video using the RTP profile for H264 i.e. RFC 3984 
 2) AAC audio using the RTP profile for MPEG4-Generic Audio (Aac-hbr mode)
i.e. RFC 3640

The contents of sdp file received from the server are as below (There is no
RTSP/RTCP protocol, the sdp file is received externally by some other

o=VLSS 10765500 10765500 IN IP4 
c=IN IP4
t=0 0
m=video 25000 RTP/AVP 96
a=rtpmap:96 H264/1000
a=fmtp:96 profile-level-id=
m=audio 25002 RTP/AVP 97
a=rtpmap:97 mpeg4-generic/16000/1
a=fmtp:97 streamtype=5; profile-level-id=15; config=1408; mode=AAC-hbr;
SizeLength=13; indexlength=3; indexdeltalength=3

we tried playing the video using the following pipeline:

gst-launch-0.10 udpsrc multicast-iface=eth0 uri=udp://
caps='application/x-rtp, media=(string)video, clock-rate=(int)90000,
encoding-name=(string)H264, profile-level-id=(string)\"\", payload=(int)96'
! rtph264depay ! ffdec_h264 ! ffmpegcolorspace ! ximagesink

The video playback jerks in between with the following message:

gstbasesink.c(2597): gst_base_sink_is_too_late ():
There may be a timestamping problem, or this computer is too slow.
WARNING: from element /GstPipeline:pipeline0/GstXImageSink:ximagesink0: A
lot of buffers are being dropped.

However when we use sync=false the playback is fine. Tried analyzing the
timing parameters using -v option and fakesink and it seems the timing is

We suspect that the following can create the issue:

1) Clock Rate as per the SDP file is 1000 however in caps we are using
90000. We tried with 1000 but the pipeline didn't execute throwing the
following error: WARNING: erroneous pipeline: could not link udpsrc0 to

2) The frame-rate of this video is 50 fps. The pipeline is getting wrong
frame rate info which can create this issue.

The playback of this sdp file using vlc plays fine without any jerks and A/V
sync issues.


View this message in context:
Sent from the GStreamer-devel mailing list archive at

More information about the gstreamer-devel mailing list