How to Set Deepstream RTSPStreaming output FPS

Please provide complete information as applicable to your setup.

• Hardware Platform (Jetson / GPU) Xavier nx / T1000
• DeepStream Version 5.0/5.1
• JetPack Version (valid for Jetson only) 4.4/4.5
• TensorRT Version 7.1/7.2
• NVIDIA GPU Driver Version (valid for GPU only) 455/460
• Issue Type( questions, new requirements, bugs) RTSPStreaming output delay and blurred
• 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) The RTSP source is 25 FPS, but deepstream sink rtspstreaming is 30FPS, that leads to output stream delay and blurred screen,
• Requirement details( This is for new requirement. Including the module name-for which plugin or for which sample application, the function description)

Now I alleviate the phenomenon of blurred screen by configuring the sink component iframeinternal = 25, but there is still the phenomenon of stuck, the RTSP source is 25 FPS, but deepstream sink rtspstreaming is 30FPS, How to Set Deepstream RTSPStreaming output FPS?

In GStreamer, the FPS of the output stream can be set through the framerate property. How to keep FPS of output stream consistent with that of input stream in deepstream?
截图

The partial configuration
[sink11]
enable=1
#Type - 1=FakeSink 2=EglSink 3=File 4=RTSPStreaming
type=4
#1=h264 2=h265
codec=1
#encoder type 0=Hardware 1=Software
enc-type=0
sync=1
iframeinterval=25
#bitrate=4000000
#H264 Profile - 0=Baseline 2=Main 4=High
#H265 Profile - 0=Main 1=Main10
profile=2
#set below properties in case of RTSPStreaming
rtsp-port=8554
udp-port=5400
source-id=0

[streammux]
gpu-id=0
##Boolean property to inform muxer that sources are live
live-source=1
batch-size=1
##time out in usec, to wait after the first buffer is available
##to push the batch even if the complete batch is not formed
batched-push-timeout=40000
##Set muxer output width and height
width=1920
height=1080
##Enable to maintain aspect ratio wrt source, and allow black borders, works
##along with width, height properties
enable-padding=0
nvbuf-memory-type=0
##If set to TRUE, system timestamp will be attached as ntp timestamp
##If set to FALSE, ntp timestamp from rtspsrc, if available, will be attached
attach-sys-ts-as-ntp=1

How do you know the RTSP source is 25 FPS?

deepstream will not change any timestamp in the original source.

image
The source FPS is 25.
Although Deepstream did not change any timestamp, However, Deepstream does a lot of deep use of GStreamer, and unlike the official GStreamer example, unless you are a very experienced GStreamer engineer, it is very difficult to configure the FPS for the output stream. This defeats the purpose of Deepstream being simple and easy to use. And it caused a lot of problems

For live stream like rtsp, the display will refer to timestamp but not FPS marked in video.

There is no interface to set FPS of encoder.

Please refre to RTP spec rfc3550 (ietf.org)

For customization of deepstream, the basic knowledge and coding skills for gstreamer is a preliminary.

Although I am not satisfied, thank you for your answer.

How to handle an RTSP stream generated by Deepstream when it is called by FFmpeg?



The source, no problem

help me, 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);
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 “insert-sps-pps” property just enable sps/pps headers with IDR frames and the default IDR frame interval is 400. So you may see a lot of sps/pps not found before the next idr frame. It is OK.

Hi,You have sloved this problem?