Python deepstream-imagedata-multistream - cropping rtsp source

• Hardware Platform (Jetson / GPU)
Nvidia RTX A2000
• DeepStream Version
6.0.1
• TensorRT Version
8.0.1-1
• NVIDIA GPU Driver Version (valid for GPU only)
470.86

Hello,

I have some question about cropping source frames by using src-crop in nvvideoconvert.

I was testing a few sources - usb, rtsp and file.
For usb - no problems, cropping source frames works great.
In the rtsp and file case - nvvideoconvert props are set, I can see it in my pipeline.png.
Stream is working the frames are not cropped.

I have found many topicks about the problem but did not find any solution.

The easiest way to reproduce the issue is to run deepstream-imagedata-multistream and just add the line:

nvvidconv1.set_properties(“src-crop”, “0:0:320:300”)

and as input run any file from deepstream example streams.

So is it possible to crop rtsp/file source by using nvvideoconvert?

BR!

Is your crop happening before nvstreammux? And have you updated the width and height properties of streammux as well?

yes

No, but for usb source I did not have to do this, so I think it’s not necessary

I have also tested the rtspsrc in GstBin - this configuration is working.
The problem occurs when I’m using uridecodebin - but only if the converting process is realized in GstBin.

Edit:
Why I need it inside?
Cause if I will have 2 different sources - I want to crop it different way.

So the structure should be like below:

Gstbin_1 (uridecodebin → videoconvert ->nvvideoconvert (src-crop: 0:0:200:200)-> scaling →
Gstbin_2 (uridecodebin → videoconvert ->nvvideoconvert (src-crop: 0:0:300:300))-> scaling →

and after scaling just ->streammux-> inference → …

I see. Is it possible to attach your pipeline graph?
You may follow this to generate the graph image of your pipeline GStreamer Pipeline Diagram | GStreamer Pipeline Editor | RidgeRun

Sure, I have already generated the pipeline graph, to see whats inside:

All right, I have found the solution for the problem.
Dont know why but using Gst.Bin as sink to the streammux does not work.

Finally I have append the uridecodebin inside Gst.Bin, converters and caps filter for every stream are outside of GstBin.
You can take a look at the pipeline and see the differencess between the first pipeline I have added.

The above pipeline is also solution for the problem what I mentioned in the topic:
deepcopy problem

So the question is why the GstBin is not working as expected?
What did I do wrong?