# Multi-stream Deepstream 9.0 app

**URL:** <https://forums.developer.nvidia.com/t/multi-stream-deepstream-9-0-app/368700>\
**Category:** DeepStream SDK\
**Tags:** configurations, camera, deepstream\
**Created:** [May 1, 2026, 2:10pm UTC](https://forums.developer.nvidia.com/t/multi-stream-deepstream-9-0-app/368700 "2026-05-01T14:10:02Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![pasayevh35](https://developer.download.nvidia.com/images/forums/profile-default-devtalk-84.png) [@pasayevh35](https://forums.developer.nvidia.com/u/pasayevh35)\
**Post date:** [May 1, 2026, 2:10pm UTC](https://forums.developer.nvidia.com/t/multi-stream-deepstream-9-0-app/368700/1 "2026-05-01T14:10:02Z")

</div>

Please provide complete information as applicable to your setup.

**• Hardware Platform (Jetson / GPU) - RTX A100 80GB**  
**• DeepStream Version 9.0**  
**• TensorRT Version 10.16.1**  
**• NVIDIA GPU Driver Version (valid for GPU only) 580.126.20**  
**• Issue Type( questions, new requirements, bugs) - Clarification on the best batch size selection.**  
Pipeline is roughly:

uridecodebin/rtspsrc → nvstreammux → nvinfer → nvtracker → nvvideoconvert → fakesink

Model: custom YOLO exported to TensorRT FP16  
Input: 640x640  
Output: [batch, 300, 6]

My goal is to keep GPU utilization stable below ~90%, not only maximize average throughput.

I tested two approaches:

1. streammux batch-size=80, nvinfer batch-size=80, FP16 TensorRT engine with max batch 80
2. streammux batch-size=32, nvinfer batch-size=32, FP16 TensorRT engine with max batch 32, while still connecting 80 RTSP sources

With batch 80, average throughput is good, but I see sudden GPU SM spikes. With batch 32 and interval=2, the runtime is much more stable in my tests.

My question:

For 80 live RTSP sources, is it generally better to build/use a batch-80 engine and let nvinfer process one large batch, or use a smaller batch-32 engine and let DeepStream/nvinfer process the 80 sources in smaller chunks? Is there a possibility that it will somehow “fall behind” and just inference wont keep up with decoded frames?

What are the practical advantages/disadvantages of each approach in DeepStream?

Specifically, I want to understand:

- Does nvinfer internally split larger nvstreammux batches into smaller inference chunks when nvinfer batch-size is smaller than the number of sources?
- Is using streammux batch-size=32 with 80 live sources a recommended/valid approach?
- Can smaller nvinfer batches reduce GPU utilization spikes even if average utilization is similar?
- Are there latency or frame-dropping side effects when streammux batch-size is smaller than the number of live sources?
- For live RTSP surveillance, should batch size be optimized for throughput, latency, or GPU utilization stability?

Any guidance or best practices for 80-camera DeepStream deployments would be appreciated.

---

<div class="post-metadata">

**Author:** ![Fiona.Chen](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/fiona.chen/32/15508_2.png) [@Fiona.Chen](https://forums.developer.nvidia.com/u/Fiona.Chen)\
**Post date:** [May 6, 2026, 8:19am UTC](https://forums.developer.nvidia.com/t/multi-stream-deepstream-9-0-app/368700/4 "2026-05-06T08:19:44Z")

</div>

> [@pasayevh35](#):
>
> With batch 80, average throughput is good, but I see sudden GPU SM spikes. With batch 32 and interval=2, the runtime is much more stable in my tests.

Can you explain what the “average throughput” mean? Does “the runtime is much more stable” mean the GPU usage is smooth?

> [@pasayevh35](#):
>
> is it generally better to build/use a batch-80 engine and let nvinfer process one large batch, or use a smaller batch-32 engine and let DeepStream/nvinfer process the 80 sources in smaller chunks?

From the model view, it depends on the model itself. Whether the batch size 80 engine for one time is better than batch size 32 engine for 3 times depends on the model itself.

From the whole pipeline’s view, if your concern is the GPU usage, the model is not the only component who uses GPU, the tracker and sometimes postprocessing if it is implemented with CUDA will also use GPU too. They work in parallel, so it is not calculable.

> [@pasayevh35](#):
>
> - Does nvinfer internally split larger nvstreammux batches into smaller inference chunks when nvinfer batch-size is smaller than the number of sources?

Nvinfer internally splits larger nvstreammux batches into smaller inference chunks. You have set the nvstreammux batch size as the same to the nvinfer batch size in your test, so nvinfer handle the nvstreammux batch one time.  
With your test case, the split is done by nvstreammux, nvstreammux will compose the batch size 32 batch from your 80 input streams, if your live streams are stable enough and the nvstreammux parameters are set properly, 3 batches may be generated for your 80 streams each time.

> [@pasayevh35](#):
>
> - Is using streammux batch-size=32 with 80 live sources a recommended/valid approach?

No.

> [@pasayevh35](#):
>
> - Can smaller nvinfer batches reduce GPU utilization spikes even if average utilization is similar?

No. It also depends on your model itself and the objects detected since you have tracker in your pipeline.

> [@pasayevh35](#):
>
> - Are there latency or frame-dropping side effects when streammux batch-size is smaller than the number of live sources?

Yes.

> [@pasayevh35](#):
>
> - For live RTSP surveillance, should batch size be optimized for throughput, latency, or GPU utilization stability?

What does the “throughput” mean? Which latency do you mean in this sentence? The network latency, inferencing latency or other ?

---

<div class="post-metadata">

**Author:** ![pasayevh35](https://developer.download.nvidia.com/images/forums/profile-default-devtalk-84.png) [@pasayevh35](https://forums.developer.nvidia.com/u/pasayevh35)\
**Post date:** [May 13, 2026, 12:18pm UTC](https://forums.developer.nvidia.com/t/multi-stream-deepstream-9-0-app/368700/5 "2026-05-13T12:18:36Z")

</div>

I actually tested it further and just connected 80 rtsp channels without nvinfer or nvtracker - just connecting to cam and taking snapsot every second and I realized that decoder percentage stay constantly at 100%. It results in artifacts - like all pixels are mixed inside the snapshot taken by bestshot and it is impossible to see anything there clearly.  
How can I fix this?  
Does this decoder belong to nvstreammux, is there any way that I view how it works inside deepstream?  
Can I change its configurations?

---

<div class="post-metadata">

**Author:** ![Fiona.Chen](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/fiona.chen/32/15508_2.png) [@Fiona.Chen](https://forums.developer.nvidia.com/u/Fiona.Chen)\
**Post date:** [May 14, 2026, 3:05am UTC](https://forums.developer.nvidia.com/t/multi-stream-deepstream-9-0-app/368700/6 "2026-05-14T03:05:10Z")

</div>

> [@pasayevh35](#):
>
> It results in artifacts - like all pixels are mixed inside the snapshot taken by bestshot and it is impossible to see anything there clearly.

Can you post the snapshot?

> [@pasayevh35](#):
>
> Does this decoder belong to nvstreammux, is there any way that I view how it works inside deepstream?

No, video decode is independent to nvstreammux, I even don’t know whether software decoder or hardware decoder you are using. Can you post the complete pipeline and configurations?

What does “it” mean in your sentence?

> [@pasayevh35](#):
>
> Can I change its configurations?

What does “it” mean in your sentence?

---

<div class="post-metadata">

**Author:** ![pasayevh35](https://developer.download.nvidia.com/images/forums/profile-default-devtalk-84.png) [@pasayevh35](https://forums.developer.nvidia.com/u/pasayevh35)\
**Post date:** [May 14, 2026, 7:58am UTC](https://forums.developer.nvidia.com/t/multi-stream-deepstream-9-0-app/368700/7 "2026-05-14T07:58:24Z")

</div>

![image](https://global.discourse-cdn.com/nvidia/original/4X/3/7/2/3722b67e2aa28bc5d7389f69c45e50ce613fd7a3.jpeg)

Here are my project files: [google drive link](https://drive.google.com/drive/folders/13-iTJ_ZXBkdnX3jUZaDFrFYn1_IfpCIJ?usp=drive_link)

ps: it is full app with bestshot not the one where i disconnected nvtracher and nvinfer

---

<div class="post-metadata">

**Author:** ![pasayevh35](https://developer.download.nvidia.com/images/forums/profile-default-devtalk-84.png) [@pasayevh35](https://forums.developer.nvidia.com/u/pasayevh35)\
**Post date:** [May 14, 2026, 8:16am UTC](https://forums.developer.nvidia.com/t/multi-stream-deepstream-9-0-app/368700/8 "2026-05-14T08:16:53Z")

</div>

> [@Fiona.Chen](#):
>
> No, video decode is independent to nvstreammux, I even don’t know whether software decoder or hardware decoder you are using. Can you post the complete pipeline and configurations?

The one I am talking about is probably the hardware decoder. I run the command nvidia-smi dmon and keep track of the decoder there

---

<div class="post-metadata">

**Author:** ![Fiona.Chen](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/fiona.chen/32/15508_2.png) [@Fiona.Chen](https://forums.developer.nvidia.com/u/Fiona.Chen)\
**Post date:** [May 14, 2026, 9:23am UTC](https://forums.developer.nvidia.com/t/multi-stream-deepstream-9-0-app/368700/9 "2026-05-14T09:23:20Z")

</div>

The snapshot shows that there is packet loss in the RTSP stream transferring.

As you have mentioned the decoder consumption is 100%, decoding may be delayed, then the RTSP stack need to buffer more and more received packets for the packets may not be consumed by the decoder as soon as possible. The network stack buffer size is limited, then packet loss happen when the network stack buffer is overflow.

As A100 video decoder can support up to 100x1080p@30fps H264 streams or 178x1080p@30fps HEVC streams, your 80 RTSP streams may exceed such limitation.

It is the hardware limitation.

---

<div class="post-metadata">

**Author:** ![pasayevh35](https://developer.download.nvidia.com/images/forums/profile-default-devtalk-84.png) [@pasayevh35](https://forums.developer.nvidia.com/u/pasayevh35)\
**Post date:** [May 15, 2026, 2:39pm UTC](https://forums.developer.nvidia.com/t/multi-stream-deepstream-9-0-app/368700/10 "2026-05-15T14:39:21Z")

</div>

![image](https://global.discourse-cdn.com/nvidia/original/4X/3/7/2/3722b67e2aa28bc5d7389f69c45e50ce613fd7a3.jpeg)

> [@Fiona.Chen](#):
>
> The snapshot shows that there is packet loss in the RTSP stream transferring.
> 
> As you have mentioned the decoder consumption is 100%, decoding may be delayed, then the RTSP stack need to buffer more and more received packets for the packets may not be consumed by the decoder as soon as possible. The network stack buffer size is limited, then packet loss happen when the network stack buffer is overflow.
> 
> As A100 video decoder can support up to 100x1080p@30fps H264 streams or 178x1080p@30fps HEVC streams, your 80 RTSP streams may exceed such limitation.
> 
> It is the hardware limitation.

Okay thank you for the information, if my streams provide 4k quality images, is there a way to reduce the resolution, asides from creating a substream of 1080p quality?

---

<div class="post-metadata">

**Author:** ![Fiona.Chen](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/fiona.chen/32/15508_2.png) [@Fiona.Chen](https://forums.developer.nvidia.com/u/Fiona.Chen)\
**Post date:** [May 18, 2026, 2:01am UTC](https://forums.developer.nvidia.com/t/multi-stream-deepstream-9-0-app/368700/11 "2026-05-18T02:01:38Z")

</div>

> [@pasayevh35](#):
>
> if my streams provide 4k quality images, is there a way to reduce the resolution, asides from creating a substream of 1080p quality?

What do you mean? You want to reduce the compressed video’s resolution inside video decoder?

---

<div class="post-metadata">

**Author:** ![pasayevh35](https://developer.download.nvidia.com/images/forums/profile-default-devtalk-84.png) [@pasayevh35](https://forums.developer.nvidia.com/u/pasayevh35)\
**Post date:** [May 18, 2026, 10:19am UTC](https://forums.developer.nvidia.com/t/multi-stream-deepstream-9-0-app/368700/12 "2026-05-18T10:19:58Z")

</div>

> [@Fiona.Chen](#):
>
> What do you mean? You want to reduce the compressed video’s resolution inside video decoder?

Sorry for my confusing questions, just it is my first time trying to set up such pipeline. I mean my streams arrive at 2560x1440 quality 30fps. It may be the reason why my decoder is always at 100%, what are my options to reduce it before it reaches the decoder, do I have to access the camera settings and set up a new substream with 1080p settings or there is another way?

---

<div class="post-metadata">

**Author:** ![Fiona.Chen](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/fiona.chen/32/15508_2.png) [@Fiona.Chen](https://forums.developer.nvidia.com/u/Fiona.Chen)\
**Post date:** [May 19, 2026, 1:38am UTC](https://forums.developer.nvidia.com/t/multi-stream-deepstream-9-0-app/368700/13 "2026-05-19T01:38:04Z")

</div>

> [@pasayevh35](#):
>
> what are my options to reduce it before it reaches the decoder, do I have to access the camera settings and set up a new substream with 1080p settings or there is another way?

In your case, DeepStream pipeline is just a RTSP client, the client can only support up to 100x1080p@30fps H264 streams or 178x1080p@30fps HEVC streams.

For the RTSP server side set up, you may consult the server vendors or providers.

---

<div class="post-metadata">

**Author:** ![pasayevh35](https://developer.download.nvidia.com/images/forums/profile-default-devtalk-84.png) [@pasayevh35](https://forums.developer.nvidia.com/u/pasayevh35)\
**Post date:** [May 20, 2026, 5:54am UTC](https://forums.developer.nvidia.com/t/multi-stream-deepstream-9-0-app/368700/14 "2026-05-20T05:54:15Z")

</div>

Thank you for your help

---

<div class="post-metadata">

**Author:** ![system](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/system/32/68080_2.png) [@system](https://forums.developer.nvidia.com/u/system)\
**Post date:** [June 3, 2026, 5:54am UTC](https://forums.developer.nvidia.com/t/multi-stream-deepstream-9-0-app/368700/15 "2026-06-03T05:54:55Z")

</div>

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