Pipeline: RTSP streams —> person detection —> person tracking —> RTSP stream output
Currently, I am using Deepstream 6.2 running on an Nvidia RTX 4090 card. I am evaluating how many simultaneous camera streams it can support.
First, I ran the full pipeline with 36 streams, resulting in 15.5 FPS.
Then, I simplified the pipeline to only RTSP streams —> fakesink, maintaining 36 streams and achieving 17 FPS. As I continued to increase the number of cameras, the FPS decreased even though there was no AI processing. Why, despite having sufficient resources, can’t I increase the number of cameras further? (Increasing FPS leads to a decrease).
I suspect there might be a bottleneck in reading RTSP streams. Specifically, I am using nvurisrcbin with default settings, and I have ensured sufficient bandwidth infrastructure to handle more than 36 cameras.
Has anyone encountered this issue? What could be the cause?
What is your RTSP streams? Do you know the original video format, resolution, bitrate and FPS of you RTSP sources? We call the video/audio/etc inside RTSP streams as payload RTP payload formats - Wikipedia.
Most RTSP streams contains compressed encoded videos, the RTSP clients received the video stream through network protocol (this take some time due to your network status and performance) and decompress(decoding) the compressed video/audio. The decompression(decoding) takes time and hardware resources.
GeForce products are just graphics cards for desktops and laptops. The hardware video decoder insider GeForce products are just for entertainment purpose(watching movie, video conference, video chat, etc). There is only one video decoding core in RTX 4090. Video Encode and Decode GPU Support Matrix | NVIDIA Developer
The max supported decoding performance may be 16~17 H264 1080p@30fps streams for GeForce RTX4090 card. Video Codec SDK | NVIDIA Developer