Rtsp out delay and ouput stream frames order has a bit messy

Please provide complete information as applicable to your setup.

• Hardware Platform (Jetson / GPU) GPU 3090
• DeepStream Version 7.1 docker

load two stream (2560*1440) and out put tow rtsp stream

*PERF:  {'stream0': 24.77, 'stream1': 24.77} 

Encode Latency = 5.343994 
Encode Latency = 9.000977 
Encode Latency = 5.726807 
Encode Latency = 9.509033 
Encode Latency = 5.377930 
Encode Latency = 9.221924 
Encode Latency = 6.758789 
Encode Latency = 11.073975

perf looks normal, but Encode Latency is too big

had set sink.set_property("sync", 0),H265

streammux.set_property('batch-size', len(sensor_list))
streammux.set_property('batched-push-timeout', 32000)

encoder.set_property("bitrate", 2000000)
encoder.set_property('tuning-info-id', 2)
encoder.set_property('control-rate', 2)

nvidia-smi dmon -s puct

# gpu    pwr  gtemp  mtemp     sm    mem    enc    dec    jpg    ofa   mclk   pclk  rxpci  txpci 
# Idx      W      C      C      %      %      %      %      %      %    MHz    MHz   MB/s   MB/s 
    0    237     57      -     38      8     15      6      0      0   9501   1302     25      5 

tow question
1, how to narrow Latency
2, why ouput stream frames order has a bit messy, for example cuntime frame time is 19:35:33, next will be 19:35:31

Can you provide your whole pipeline , settings and configurations?

What are your sources? Can you provide config/streammux.yml?

Where and how do you get the frame timestamp?

sources are rtsp streams
streammux.yml

property:
  adaptive-batching: 1

image

There is a timestamp in the top-left corner of the video stream.

What kind of RTSP streams? Resolution and FPS? From IP camera or from a RTSP server you setup by yourself?

ftreams are from mediamtx
ffmpeg push video to mediamtx
fps 25
resolution 2560 1440

Since you are using the live streams as the input, and seems you are using new nvstreammux. Can you refer to DeepStream SDK FAQ - Intelligent Video Analytics / DeepStream SDK - NVIDIA Developer Forums for how to set the correct new nvstreammux parameters?

yes i saw it and followed the setting

Gst-nvstreammux:
● Set the batch-size to the number of sources
● export NVSTREAMMUX_ADAPTIVE_BATCHING=yes
● If you want to get high fps, set the batched-push-timeout to the (1000000 us/maximum fps among the videos)
Gst-nvstreammux New(export USE_NEW_NVSTREAMMUX=yes):
● Set the batch-size to the number of sources
● Should not turn off the adaptive-batching parameter
● Please refer to the following basic tuning principles first:Gst-nvstreammux Tuning parameters
● Set the max-same-source-frames to ceil(maximum fps/minimum fps)
● Set the max-num-frames-per-batch of each source to ceil(current fps/minimum fps)

If you have followed the instructions, why did you set “streammux.set_property(‘batched-push-timeout’, 32000)”?

Have you measured the FPS of the pipeline for this case?

There is no update from you for a period, assuming this is not an issue anymore. Hence we are closing this topic. If need further support, please open a new one. Thanks

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.