Reducing latency on a NVIDIA Jetson Nano to Intel NUC streaming platform

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

Reducing latency on a NVIDIA Jetson Nano to Intel NUC streaming platform

Ingemar Johansson
I am looking for ways to squeeze down the video latency as much as possible
in an experiment platform
 
On the sender side (NVIDIA Jetson Nano with an e-con systems Cunano camera)
i have :
gst-launch-1.0 rtpbin name=rtpbin v4l2src device=/dev/video2 ! "video/x-raw,
format=(string)UYVY, width=(int)2304, height=(int)1296" ! nvvidconv !
"video/x-raw(memory:NVMM), format=(string)I420" ! omxh264enc
insert-sps-pps=true preset-level=1 profile=2 ! rtph264pay  ! udpsink
host=127.0.0.1 port=30000
 
On the receiver size (Intel NUC) I have:
gst-launch-1.0 udpsrc port=30000 !
application/x-rtp,media=video,clock-rate=90000,encoding-name=H264 !
rtpjitterbuffer latency=50 ! rtph264depay ! vaapih264dec low-latency=true !
queue ! xvimagesink max-lateness=-1 sync=false
 
Are there any special tricks that I can use to squeeze down latency ?



--
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: Reducing latency on a NVIDIA Jetson Nano to Intel NUC streaming platform

Vinod Kesti
GstShark gives element by element latency report.
That would help you to narrow down the element causing latency,.

 



--
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: Reducing latency on a NVIDIA Jetson Nano to Intel NUC streaming platform

Michael Gruner
In reply to this post by Ingemar Johansson
I’d start with the sink configuration. When reducing latency, you want the opposite configuration as the one you have:

sync=true
max-lateness=<some reasonable value>

This way you’ll drop late buffers instead of trying to render everything, which may end up queuing up buffers along the pipeline. If most buffers are being rendered late (you don’t see a smooth video and get a lot of dropped buffers messages) you need to find a better scheduling for your pipeline. Try to add some queues after the most time-consuming elements to parallelize processing.

On the other hand you may use the latency tracer to identify the bottlenecks in your pipe.

Michael
www.ridgerun.com

> On Aug 13, 2019, at 2:22 AM, Ingemar Johansson <[hidden email]> wrote:
>
> I am looking for ways to squeeze down the video latency as much as possible
> in an experiment platform
>
> On the sender side (NVIDIA Jetson Nano with an e-con systems Cunano camera)
> i have :
> gst-launch-1.0 rtpbin name=rtpbin v4l2src device=/dev/video2 ! "video/x-raw,
> format=(string)UYVY, width=(int)2304, height=(int)1296" ! nvvidconv !
> "video/x-raw(memory:NVMM), format=(string)I420" ! omxh264enc
> insert-sps-pps=true preset-level=1 profile=2 ! rtph264pay  ! udpsink
> host=127.0.0.1 port=30000
>
> On the receiver size (Intel NUC) I have:
> gst-launch-1.0 udpsrc port=30000 !
> application/x-rtp,media=video,clock-rate=90000,encoding-name=H264 !
> rtpjitterbuffer latency=50 ! rtph264depay ! vaapih264dec low-latency=true !
> queue ! xvimagesink max-lateness=-1 sync=false
>
> Are there any special tricks that I can use to squeeze down latency ?
>
>
>
> --
> 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: Reducing latency on a NVIDIA Jetson Nano to Intel NUC streaming platform

Ingemar Johansson
Thanks for the suggestions.
I tried gstshark to record the latencies. Seem to only be able to record the
latency from the beginning of the pipeline to the end. Is there any link
somewhere that outlines how to record more detailed latencies for individual
components in the pipeline.

As regards to sync = true vs false.. oddly enough I get lower latency when I
set sync=false ?
Currently I get down to ~180ms camera to screen latency with my setup. The
screen is a DELL 4k with a lag of 25ms, response time=8ms and 30fps


/Ingemar



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