GStreamerRTP video stream Duplex audio and lag issue

Nicolas Dufresne nicolas.dufresne at
Tue Jun 16 08:26:57 PDT 2015

Le mardi 16 juin 2015 à 17:58 +0530, Apurv Saraf a écrit :
> hi all
> We are developing a video chatting app using GStreamer. We have been 
> able to send and receive videos using the following pipelines(one 
> system is iOS simulator in Xcode and other is ubuntu).
> On mac we are using :
> pipeline = gst_parse_launch("videotestsrc ! video/x
> -raw,width=640,height=480 ! x264enc ! h264parse ! rtph264pay ! 
> udpsink host= port=5000 udpsrc port=9078 
> caps=\"application/x-rtp,payload=96,encoding-name=H264\" ! queue ! 
> rtph264depay ! h264parse ! decodebin ! autovideosink", &error);
> On ubuntu we are using: 
> gst-launch-1.0 udpsrc port=5000 caps=\"application/x-rtp, payload=96, 
> encoding-name=H264\" ! queue ! rtph264depay ! h264parse ! decodebin ! 
> autovideosink videotestsrc ! video/x-raw,width=640,height=480 ! 
> x264enc ! h264parse ! queue ! rtph264pay ! udpsink host= 
> port=9078

You should learn a bit about RTP streaming and study each element you
are using, that would help. As a hint, in an RTP pipeline it is
recommended that the receiver uses rtpjitterbuffer to compensate for
network jitter, and give some time for downstream element to decode by
adding latency (configurable.).

Second big problem, you are using x264enc with default setup. The
default is near what we would use for encoding DVDs. Considering using
at least the zerolatency preset (tune=zerolatency). Other thing you may
want to configure is that delay of key frame repetition, or otherwise
look forward using rtpbin, which let you enable more RTP features.
Again, learn about these elements, their configuration and how this
should be configured for live usage.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: This is a digitally signed message part
URL: <>

More information about the gstreamer-devel mailing list