• Hardware Platform (Jetson / GPU) - Jetson TX2
• DeepStream Version - v5.0.1
• JetPack Version (valid for Jetson only) - 4.4, L4T 32.4.3
• TensorRT Version - 7.1.3
• Issue Type( questions, new requirements, bugs) - question
I am using a single 30fps RTSP source to my Deepstream pipeline based off of https://nvcr.io/nvidia/deepstream:5.0.1-20.09-base and have configured an RTSP sink. Inference runs at about 14-17fps, which is causing an ever-increasing delay in the sink RTSP stream where, ideally, the sink RTSP stream would be as near-real-time as possible. I have proved that when the source RTSP framerate is lowered (i.e. 15fps), the delay in the sink RTSP stream goes away. Looking at the sink group configuration parameters, I would expect the
qos flag to handle this to keep the RTSP sink as close to real-time as possible, despite the inference framerate - but I could be wrong here.
I know that a potential solution would to be reduce the input dimensions, increase the inference interval, or increase the
drop-frame-interval on the source to increase the inference FPS, but all of these options will cause a decrease in model accuracy, which I would like to avoid.
I have tried setting
live-source in the
streammux group to 1 and
qos in the
sink group to 0, per this FAQ question, but this also doesn’t seem to reduce the delay.
My question is: What is the best way to reduce the delay between the source and sink RTSP streams without compromising model accuracy? I’d like the sink RTSP stream to be as close to source RTSP, regardless of the inference/model speed.
My source/sink Deepstream configuration is as follows:
[source0] # See https://docs.nvidia.com/metropolis/deepstream/dev-guide/text/DS_ref_app_deepstream.html#source-group enable=1 #Type - 1=CameraV4L2 2=URI 3=MultiURI 5= Camera(CSI) type=2 num-sources=1 uri=rtsp://10.1.10.97:8554/testRTSP rtsp-reconnect-interval-sec=10 gpu-id=0 latency=400 cudadec-memtype=0 camera-fps-n=0 camera-fps-d=1 camera-width=3840 camera-height=2160 [streammux] gpu-id=0 batch-size=1 batched-push-timeout=-1 ## Set muxer output width and height width=1260 height=720 nvbuf-memory-type=0 live-source=1 [sink0] # See https://docs.nvidia.com/metropolis/deepstream/dev-guide/text/DS_ref_app_deepstream.html#sink-group enable=1 #Type - 1=FakeSink 2=EglSink 3=File 4=RTSP type=4 bitrate=4000000 nvbuf-memory-type=0 rtsp-port=8554 udp-port=5400 width=1260 height=720 source-id=0 gpu-id=0 # for mp4 output container=1 codec=1 qos=0 sync=0