• Hardware Platform (dGPU - RTX 4090)
• DeepStream Version 7.0
• NVIDIA GPU Driver Version (535.230.02 CUDA ver 12.2)
• Issue Type( question / bug)
I’m running a customized deepstream-app pipeline with modifications to the analytics_done_buf_probe for overlaying items onto the OSD and some detection algorithms. The pipeline uses 4 RTSP URI sources with a batch size of 4, streaming output via RTSP on ports 8553–8556.
I’m encountering severe artifacting and freezes in the output RTSP streams, especially during movement. VLC often fails to load the stream or takes a long time, and once it does, it either freezes on a frame or shows artifacts until the pipeline is terminated. However, when using EGLsink or a file-sink, the output is smooth and free of artifacts even with multiple streams.
I’ve tried various configurations with both nvstreammux and new_nvstreammux, adjusted sink properties, and settings, but the problem persists across all four streams. While I suspect network limitations may contribute, others have reported improvements through config tweaks.
According to my requirements, I need the RTSP output with minimal artifacting and being atleast similar to the input stream in terms of latency and artifacts. Please let me know if I need any more config changes to potentially improve performance. Each camera is supposed to provide 25fps at 1920x1080 input.
Another detail to note, I tried the same config on an RTX 3090 based system but i couldn’t manage to run the hardware based encoding setting on it and tried with Software encoding, getting the same issues but a bit worse in terms of pixelation and artifacting.
deepstream-app config:
[application]
enable-perf-measurement = 1
perf-measurement-interval-sec = 5
kitti-track-output-dir = /opt/nvidia/deepstream/deepstream-7.0/sources/apps/sample_apps/deepstream-app/detections/
[tiled-display]
enable=0
rows=1
columns=1
width=1280
height=720
gpu-id=0
nvbuf-memory-type=0
[source0]
enable=1
type=4
uri=rtsp://link1
num-sources=1
gpu-id=0
cudadec-memtype=0
latency=0
select-rtp-protocol=4
[source1]
enable=1
type=4
uri=rtsp://link2
num-sources=1
gpu-id=0
cudadec-memtype=0
latency=0
select-rtp-protocol=4
[source2]
enable=1
type=4
uri=rtsp://link3
num-sources=1
gpu-id=0
cudadec-memtype=0
latency=0
select-rtp-protocol=4
[source3]
enable=1
type=4
uri=rtsp://link4
num-sources=1
gpu-id=0
cudadec-memtype=0
latency=0
select-rtp-protocol=4
[sink0]
enable=1
#Type - 1=FakeSink 2=EglSink 3=File 4=RTSPStreaming
type=4
gpu-id=0
rtsp-port=8553 # < change port
#1=h264 2=h265
codec=2
source-id=0 # indicate source-id here
container=1
output-file=out.mp4
#encoder type 0=Hardware 1=Software
enc-type=0
sync=0
bitrate=8000000
#H264 Profile - 0=Baseline 2=Main 4=High
#H265 Profile - 0=Main 1=Main10
profile=1
nvbuf-memory-type=1
[sink1]
enable=1
#Type - 1=FakeSink 2=EglSink 3=File 4=RTSPStreaming
type=4
gpu-id=0
rtsp-port=8554 # < change port
#1=h264 2=h265
codec=2
source-id=1 # indicate source-id here
container=1
output-file=out.mp4
#encoder type 0=Hardware 1=Software
enc-type=0
sync=0
bitrate=8000000
#H264 Profile - 0=Baseline 2=Main 4=High
#H265 Profile - 0=Main 1=Main10
profile=1
nvbuf-memory-type=1
[sink2]
enable=1
#Type - 1=FakeSink 2=EglSink 3=File 4=RTSPStreaming
type=4
gpu-id=0
rtsp-port=8555 # < change port
#1=h264 2=h265
codec=2
source-id=2 # indicate source-id here
container=1
output-file=out.mp4
#encoder type 0=Hardware 1=Software
enc-type=0
sync=0
bitrate=8000000
#H264 Profile - 0=Baseline 2=Main 4=High
#H265 Profile - 0=Main 1=Main10
profile=1
nvbuf-memory-type=1
[sink3]
enable=1
#Type - 1=FakeSink 2=EglSink 3=File 4=RTSPStreaming
type=4
gpu-id=0
rtsp-port=8556 # < change port
#1=h264 2=h265
codec=2
source-id=3 # indicate source-id here
container=1
output-file=out.mp4
#encoder type 0=Hardware 1=Software
enc-type=0
sync=0
bitrate=8000000
#H264 Profile - 0=Baseline 2=Main 4=High
#H265 Profile - 0=Main 1=Main10
profile=1
nvbuf-memory-type=1
[osd]
enable = 1
gpu-id = 0
border-width = 0
text-size = 15
text-color = 1;1;1;0
text-bg-color = 0.3;0.3;0.3;0
font = Serif
nvbuf-memory-type = 0
[streammux]
gpu-id = 0
live-source = 1
batch-size = 4
batched-push-timeout = 20000
width=1280
height=720
sync-inputs=0
enable-padding = 1
nvbuf-memory-type = 1
config-file=/opt/nvidia/deepstream/deepstream-7.0/sources/apps/sample_apps/deepstream-app/config/newnvstreammux.txt
[primary-gie]
enable = 1
gpu-id = 0
gie-unique-id = 1
nvbuf-memory-type = 0
config-file = /opt/nvidia/deepstream/deepstream-7.0/sources/apps/sample_apps/deepstream-app/config/config_infer_primary_yoloV5.txt
[tracker]
enable = 1
gpu-id = 0
tracker-height = 640
tracker-width = 480
ll-lib-file = /opt/nvidia/deepstream/deepstream-7.0/lib/libnvds_nvmultiobjecttracker.so
ll-config-file = /opt/nvidia/deepstream/deepstream-7.0/samples/configs/deepstream-app/config_tracker_NvDCF_perf.yml
[optical-flow]
enable = 0
[tests]
file-loop = 0
newnvstreammux_config:
[property]
algorithm-type=1
max-fps-control=0
overall-max-fps-n=30
overall-max-fps-d=1
overall-min-fps-n=30
overall-min-fps-d=1
max-same-source-frames=1






