[gst-devel] adding queue to video rtp pipeline breaks video playback in presence of network jitter

Tristan Matthews tristan at sat.qc.ca
Thu Oct 22 18:09:41 CEST 2009


All the files for the testcase I'm describing are available here:
http://svn.sat.qc.ca/miville/inhouse/prototypes/gstreamer/cpp/videotest/

videosender.c encodes video in mpeg4 and sends it over rtp (with rtcp) to a
host specified as an argument. videoreceiver.c receives it, again taking the
hostname of the videosender host as an argument. This works fine under LAN
conditions. However in the presence of a slight amount of network jitter,
video playback becomes extremely stuttery/blocky. These conditions can be
reproduced by running the script badnet on the sending machine, which uses
the traffic shaping module netem (
http://www.linuxfoundation.org/en/Net:Netem) to simulate 5ms delay and 0.1
ms of jitter (with 25% variance).

I noticed that if I remove the queue element from my pipeline in
videoreceiver.c, playback is normal. I was under the impression that it was
good practice to have a queue (of 3 buffers) after your video decoder in
such a setup. Any tips? I made this test case because we (in Montreal) we're
streaming video to a site in Barcelona over a reliable research network and
noticed this problem. I'm not sure if it's an issue with rtpbin, or not or
if it's advisable to remove the queue.

Best,
Tristan

-- 
Tristan Matthews
email: tristan at sat.qc.ca
web: http://tristanswork.blogspot.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20091022/fe1e8e08/attachment.htm>


More information about the gstreamer-devel mailing list