Custom plugin based on gstdsexample vs nvivafilter?

Jetson Xavier NX / Jetpack 5.1.2 / DeepStream 6.2 / gstdsexample

I’m trying to customise gstreamer plugin so that I can do some image processing.

for example, I want to remap or warp the input buffer to the output buffer.
and in the end, composit multiple remaped camera feed to the one parnoramic frame.

in this case, should I write a custom deepstream plugin based on gstdsexample changing transform_ip or transform function?
or should I write use the nvivafilter with custom cuda kernel (.cu)?

Thank you.

What pipeline will you use? Jetson accelerated GStreamer pipeline or DeepStream pipeline? DeepStream SDK FAQ - Intelligent Video Analytics / DeepStream SDK - NVIDIA Developer Forums

If it is Jetson accelerated GStreamer pipeline, nvivafilter is OK.

If it is DeepStream pipeline, you need to customize with Gst-nvdsvideotemplate — DeepStream 6.2 Release documentation

1 Like

Thank you for your quick response.

Basically I want to do the real-time video pipeline for below.

 multi nvarguscamera --> panorama (this will be the custom plugin)  --> encoding the panorama (gstreamer is enough)
                                                                    --> detection from panorma(deepstream needed)

So in this case, I should use deepstream for the best performance?
I haven’t check the nvdsvideotemplate before, but I was referencing only dsexample,

In short, I should use nvdsvideotemplate for the customisation.

Kind Regards,

What kind of panorama do you need? nvvideotemplate is not suitable for multiple inputs and one output case.