adding queue to video rtp pipeline breaks video playback in presence of network jitter

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

adding queue to video rtp pipeline breaks video playback in presence of network jitter

Tristan Matthews-2
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: [hidden email]
web: http://tristanswork.blogspot.com

------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel