<div dir="ltr">Sorry, Found the 'set latency' function and it is possible to reduce this <br><div><div><div class="gmail_extra"><br><div class="gmail_quote">On 24 February 2016 at 16:47, David Jaggard <span dir="ltr"><<a href="mailto:davywj@gmail.com" target="_blank">davywj@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div>Hi Tim,<br><br></div>I am using zerolatency and I was aware of the 200ms in the rtpbin (which is perfectly acceptable) but not TSDemux! How do I force a lower latency on the pipeline?<br><br></div>Thanks very much<br></div><div class="gmail_extra"><br><div class="gmail_quote">On 24 February 2016 at 16:38, Tim Müller <span dir="ltr"><<a href="mailto:tim@centricular.com" target="_blank">tim@centricular.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Wed, 2016-02-24 at 16:06 +0000, David Jaggard wrote:<br>
<br>
Hi David,<br>
<br>
> The input of my stream is MPEG2 TS over RTP. The output is H264 video<br>
> only.<br>
><br>
> Pipeline:<br>
> udpsrc->rtpbin->queue2->rtpMP2TDepay->TSDemux->(video)->queue2-<br>
> >DecodeBin->queue2->Deinterlace->queue2->x264Enc->queue2->h264pay-<br>
> >rtpbin->queue2->multiudpsink<br>
><br>
> (I added all those queues to try and trace the bottleneck).<br>
><br>
> The latency for the entire pipeline is set to a huge 1060ms.<br>
><br>
> Every single queue other than the last is empty. The very last queue<br>
> before the sink reports about 1100ms worth of data. This means that<br>
> the entire pipeline is (virtually) latency free except when it<br>
> arrives at the sink and has to buffer in order to synchronize to the<br>
> clock. Why is it choosing such a high latency?<br>
<br>
Most of that (700ms) will be from tsdemux, which currently advertises<br>
the worst-case scenario latency.<br>
<br>
Then there's an rtpjitterbuffer in rtpbin, which by default has a<br>
latency of 200ms (you can configure this via the rtpbin "latency"<br>
property).<br>
<br>
The rest is probably from deinterlace (one frame) and x264enc (try<br>
x264enc tune=zerolatency if you're not using that yet).<br>
<br>
You should be able to force a lower latency on the pipeline than it<br>
would configure by default.<br>
<br>
You could also modify tsdemux to advertise a lower latency (most<br>
streams have much lower latency requirements, but we currently don't<br>
analyse the stream to estimate that yet, but just announce the worst<br>
case value).<br>
<br>
Cheers<br>
<span><font color="#888888"> -Tim<span class="HOEnZb"><font color="#888888"><br>
<br>
--<br>
Tim Müller, Centricular Ltd - <a href="http://www.centricular.com" rel="noreferrer" target="_blank">http://www.centricular.com</a><br>
<br>
<br>
_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
</font></span></font></span></blockquote></div><br></div>
</blockquote></div><br></div></div></div></div>