Any idea why this pipeline has about a 2 sec delay?

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

Any idea why this pipeline has about a 2 sec delay?

MonkeyWithComputer
Hi,

I'm running this pipeline on a TX2. The elements are supposed to be using
hardware decoding and encoding. Somewhere there is a huge latency, but im
not sure how to profile this on a TX2. GSTShark isnt running on my TX2 to
get any latency or timing info. Any idea where the issue might be or how I
can reduce the latency?

Input over udp is h264 in an mpeg-ts.
gst-launch-1.0 udpsrc port=6110 ! tsdemux ! queue ! h264parse ! omxh264dec !
nvvidconv ! 'video/x-raw(memory:NVMM),format=I420,width=720,height=480' !
omxh264enc control-rate=2 preset-level=0 bitrate=3000000 ! mpegtsmux !
udpsink host=192.168.0.001 port=4100

Thanks,

Bogdan



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Any idea why this pipeline has about a 2 sec delay?

Tim Müller
On Tue, 2018-04-03 at 18:21 -0700, MonkeyWithComputer wrote:

Hi,

> I'm running this pipeline on a TX2. The elements are supposed to be
> using hardware decoding and encoding. Somewhere there is a huge
> latency, but im not sure how to profile this on a TX2. GSTShark isnt
> running on my TX2 to get any latency or timing info. Any idea where
> the issue might be or how I can reduce the latency?

Define "huge"? How do you measure it?

> Input over udp is h264 in an mpeg-ts.
> gst-launch-1.0 udpsrc port=6110 ! tsdemux ! queue ! h264parse !
> omxh264dec !
> nvvidconv ! 'video/x-
> raw(memory:NVMM),format=I420,width=720,height=480' !
> omxh264enc control-rate=2 preset-level=0 bitrate=3000000 ! mpegtsmux
> ! udpsink host=192.168.0.001 port=4100

tsdemux will add about 700ms of latency here (which isn't strictly
needed, in most cases a much lower value will work too, but this is the
worst case so that's what it does currently), and the decoder might add
a bit more especially if B-frames are used.

Cheers
 -Tim

--
Tim Müller, Centricular Ltd - http://www.centricular.com
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Any idea why this pipeline has about a 2 sec delay?

MonkeyWithComputer
Hi Tim,

How do I reduce that latency? I dont see a parameter that I can pass in to
set latency. Or is there a better element to use than tsdemux?

Thanks,

Bogdan



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Any idea why this pipeline has about a 2 sec delay?

MonkeyWithComputer
This post was updated on .
In reply to this post by Tim Müller
The huge latency is about 1200ms from camera to display(just taking pictures
of a running clock, if you have a better way of measure latency please let
me know. GSTshark doesnt seem to run on my TX2.). The baseline latency is
about 250ms using a different decoder method. So im seeing an extra second
or so of latency.


edit:
looks like setting sync=false at the udpsink got rid of most of the latency.
Any idea how I might be able to optimize this pipeline further?


--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
gstreamer-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Any idea why this pipeline has about a 2 sec delay?

Nicolas Dufresne-5
In reply to this post by MonkeyWithComputer


Le lun. 9 avr. 2018 17:43, MonkeyWithComputer <[hidden email]> a écrit :
Hi Tim,

How do I reduce that latency? I dont see a parameter that I can pass in to
set latency. Or is there a better element to use than tsdemux?

The simplest is to fix the latency on the entire pipeline, see 'pipeline' property on GstPipeline, in gst-launch-1.0 you need the following 'special' syntaxt:

  gst-launch-1.0 pipeline. \( latency=150000000 <your pipeline> \)

The would force 150ms.


Thanks,

Bogdan



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Any idea why this pipeline has about a 2 sec delay?

Baby Octopus
>> The simplest is to fix the latency on the entire pipeline, see 'pipeline'
property on GstPipeline, in gst-launch-1.0 you need the following 'special'
syntaxt:

>>  gst-launch-1.0 pipeline. \( latency=150000000 <your pipeline> \)

>> The would force 150ms.

I'm not sure if you can set the pipeline latency lower than what the actual
latency is. This is what the documentation says *"Setting a too low latency,
especially lower than the minimum latency from the LATENCY query, will most
likely cause the pipeline to fail."*



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel