Deepstream parallel pipeline

Please provide complete information as applicable to your setup.

• Hardware Platform (Jetson / GPU) 4090
• DeepStream Version 7.0
• JetPack Version (valid for Jetson only)
• TensorRT Version
• NVIDIA GPU Driver Version (valid for GPU only)
• Issue Type( questions, new requirements, bugs)
• 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)
• Requirement details( This is for new requirement. Including the module name-for which plugin or for which sample application, the function description)

When referring to the sample from the DeepStream parallel pipeline at
https://github.com/NVIDIA-AI-IOT/deepstream_reference_apps/tree/master/deepstream_parallel_inference_app,
I have a question: why is it necessary to use streamdemux? Is it mandatory?

In the diagram below, the upper example follows the structure shown in the sample.

However, in the second diagram, I propose using uridecodebin directly connected to a tee, and then from the tee branching out to multiple streammux elements — one for each pipeline branch.

Would this approach work?
If not, could you please explain why it’s not recommended and why the streamdemux element is required in this case?

Thank you.

What is your purpose? There is no target, so we don’t know whether your solution meet your requirement or not.

The two graphs are all different to deepstream_reference_apps/deepstream_parallel_inference_app at master · NVIDIA-AI-IOT/deepstream_reference_apps. We already provided the complete pipeline in the repo. For our parallel case, the first nvstreammux is used to form the base batch meta. After nvstreamdemux, the batch is destoyed while the base batch meta skips the nvstreamdemux and reach to the nvdsmetamux. All the branches reach to nvdsmetamux with their own batch metas, nvdsmetamux will combine the batch metas into single batch meta.

Why is it necessary to have a direct link from the streammux to the metamux instead of linking from the (pgie, sgie) bins? Thanks

It is the base batch meta with the base GstBuffer (the pts is with it also), the other meta data should be merged to it according to the pts and frame id.

Hi! Since we haven’t heard back from you for a while, we’re assuming everything is resolved and will close this topic. If you need any further help, don’t hesitate to open a new topic. Thanks!