How to replace input nvbufsurface

• Hardware Platform (Jetson / GPU) Jetson
• DeepStream Version 6.1
• JetPack Version (valid for Jetson only) 4.5?
• TensorRT Version 8.4
• Issue Type( questions, new requirements, bugs) questions

Hi, I’m implementing a custom gstreamer plugin.

I want the plugin to

  • receive inference results from upstream nvinfer
  • copy detected objects to custom background image
  • output the image in certain resolution

But currently i have following problems

  • many copies are invoked
  • i can only output the image in the input resolution

To archive my goal, I think I need to create another nvbufsuface and construct output image on it and replace a pointer in original gstbuffer to a new nvbufsurface.

Could someone give me any help or ideas?

There is already a sample plugin for transform in /opt/nvidia/deepstream/deepstream/sources/gst-plugins/gst-nvdsvideotemplate, please refer to the GStreamer document and codes for the basic GStreamer related concept and coding skills. The Basics of Writing a Plugin (

1 Like