Use FFMPEG to call the RTSP stream generated by Deepstream to report an error, unable to achieve zero delay opening

Please provide complete information as applicable to your setup.

• Hardware Platform (Jetson / GPU) NX/T1000
• DeepStream Version5.0/5.1
**• JetPack Version (valid for Jetson only)**4.5
• TensorRT Version7.2
**• NVIDIA GPU Driver Version (valid for GPU only)**466
• Issue Type( questions, new requirements, bugs)
• How to reproduce the issue ? (This is for bugs. Including which sample app is using, the configuration files content, the command line used and other details for reproducing)
• Requirement details( This is for new requirement. Including the module name-for which plugin or for which sample application, the function description)

Use FFMPEG to call the RTSP stream generated by Deepstream to report an error, unable to achieve zero delay opening

image
image
image

I’m analyzing the deep reasons。During the test, I found that the output stream generated by Deepstream had no SPS and PPS information, I tried to modify the code to add this information,but it didn’t work.
I tried to add:
g_object_set (G_OBJECT (bin->encoder), “insert-sps-pps”, TRUE, NULL);
g_object_set (G_OBJECT (bin->rtppay), “aggregate-mode”, “zero-latency”, NULL); // gstreamer1.14.5 do not contain this attribute
g_object_set (G_OBJECT (bin->rtppay), “config-interval”, -1, NULL);

But the SPS and PPS data are still not generated。This is the reason why ffmpeg reports an error and cannot achieve zero delay opening.
My understanding of video streaming is still superficial, and I need your guidance to achieve the effect of opening with zero delay

The Source RTSP

The Deepstream RTSP

There is sps and pps with every idr frame when you enable “insert-sps-pps”. The default idr interval is 256 frames. There is no way to achieve “zero delay” even it is an only idr stream because there will be network delay anyway. You can try “idrinterval” property to reduce the duration between idr frames.

Maybe my translation is not accurate, the “zero delay” means that the stream is displayed within one second, because I need to use WebRTC + FFMPEG + Deepstream for the client presentation

So you need very small idr interval.