All the files for the testcase I'm describing are available here:<br><a href="http://svn.sat.qc.ca/miville/inhouse/prototypes/gstreamer/cpp/videotest/">http://svn.sat.qc.ca/miville/inhouse/prototypes/gstreamer/cpp/videotest/</a><br>
<br>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 (<a href="http://www.linuxfoundation.org/en/Net:Netem">http://www.linuxfoundation.org/en/Net:Netem</a>) to simulate 5ms delay and 0.1 ms of jitter (with 25% variance).<br>
<br>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.<br>
<br>Best,<br>Tristan<br><br>-- <br>Tristan Matthews<br>email: <a href="mailto:tristan@sat.qc.ca">tristan@sat.qc.ca</a><br>web: <a href="http://tristanswork.blogspot.com">http://tristanswork.blogspot.com</a><br>