Handle streams with different resolutions

I have a couple of cameras with resolution of 720 (height) x 1280(width) and a couple of cameras with the opposite solution i.e 1280 (height) x 720 (width). My application currently sets the streamuxer width and height to a fixed value but that can be changed my reading the input stream height and width.
My problem is, how should my tracker config and config_nvdsanalytics file (where I set my region of interest) handle resolution differences in streams?
Also, does the Deepstream analytics toolkit support relative coordinates instead of absolute? In that case a difference in streaming resolutions shouldn’t cause any problems.

• Hardware Platform (Jetson / GPU) GPU
• DeepStream Version 6.0.1
• JetPack Version (valid for Jetson only)
• TensorRT Version
• NVIDIA GPU Driver Version (valid for GPU only) 470.63
• 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)

You can configure nvdsanalytics based on stream id. Please refer below document.

https://docs.nvidia.com/metropolis/deepstream/dev-guide/text/DS_plugin_gst-nvdsanalytics.html

What about the config-width and config-height for which the analytics rules are configured? Can I configure these values for different streams?

In one config file, I’d like to feed in multiple cameras ROIs with different resolutions

[property]
enable=1
#Width height used for configuration to which below configs are configured
config-width=720
config-height=1280
osd-mode=2
#Set OSD font size that has to be displayed
display-font-size=12

Oh I think I understand this better now, I just want to confirm.

For the nvdsanalytics: the config-width and config-height have to stay constant and I add ROI info for different resolution streams using the config-width and config-height as my constant reference?

For streammux in order to handle different resolutions I need to use the export USE_NEW_NVSTREAMMUX which doesn’t require me to set output muxer width and height? What about the batch timeout? How would that be calculated? based on incoming frequencies?

I see this error when using the new streammux export flag once the program ends or application stops, not hurting atm… just informing.

[ERROR push 317] push failed [-2]
[ERROR push 317] push failed [-2]
[ERROR push 317] push failed [-2]
[ERROR push 317] push failed [-2]

The new streammux can’t support input with different resolutions. Please check heterogeneous batching in below:

https://docs.nvidia.com/metropolis/deepstream/dev-guide/text/DS_plugin_gst-nvstreammux2.html#heterogeneous-batching

So the new streammux and the old streammux don’t support different resolutions? I know that the old streammux supports scaling however I noticed for the old streammux, if my stream input resolutions and output resolution (streammux) are not the same inference is affected.

Also, when should I use the new streammux over the older one?

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

New streammux support different resolution is in our roadmap. Please wait for our future release. Thanks.

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