I implemented the RTSP server as described in the Jetson Nano FAQ :
“Jetson Nano FAQ”
It works properly, but the latency is high, about 2-3 seconds.
The video source is CSI Camera- IMX219. The server launch command is as follows:
./test-launch “nvarguscamerasrc ! nvvidconv ! nvv4l2h264enc ! h264parse ! rtph264pay name=pay0 pt=96”
GStreamer version: 1.14.5
The latency may be in receiver part. Note that typical latency from gstreamer (from rtpjitterbuffer plugin that would be instanciated from rtspsrc that would be instanciated from uridecodebin) would be 2000 ms.
Depending on how you’re receiving, you may be able to decrease this to a a few frames, but 0 might not be be the best option.
On sender side, you may try adding do-timestamp=1 to src such as:
With "do-timestamp=1, the same latency, no change.
Do you know if it is possible to get reduced Latency using GStreamer ?
Do you know if any RTSP or UDP example with reduced latency exist ? Thanks.
Thank you very much for the support.
Now, the latency is about 250 mSec. (huge improvement)
However, our latency target is below 100 mSec for 1080p,30 fps.
Is is possible to get this target with GStreamer ? Maybe using other package ?
Hi,
Please execute the steps on Jetson Nano and check if there is improvement:
Run $ sudo nvpmodel -m 0 and $ sudo jetson_clocks
Enable maxperf-enable=1 to nvv4l2h264enc
Set idrinterval to small value such as 15
There is 4-frame buffering in Argus so it may not be within 100ms for 30fps. After executing above steps, Jetson Nano are in maximum throughput and please try and see if there is further improvement.