I’d start with the sink configuration. When reducing latency, you want the opposite configuration as the one you have:
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.
> 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
Re: Reducing latency on a NVIDIA Jetson Nano to Intel NUC streaming platform
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