Is it possible to replace metadata

Hi everyone. For my project, I need to display a stitched topview image with detected object distance information. So there should be one GUI contains 4 cameras output and one stitched output.

I modified pipeline that can display inference result with 4 cameras now.

                       -> tiler -> conv -> osd ->conv -> overlay
                       |
src -> nvinfer -> tee -
                       |
                       -> (custom plugin) ->overlay

My questions are
(1) is it possible to replace metadata (contains 4 frame as a batch) to one frame(stitched topview image) ?
(2) can I use opencv to draw something on picture , other than using OSD ?

• Hardware Platform (Jetson / GPU):Xavier
• DeepStream Version:4.0
• JetPack Version (valid for Jetson only):4.3
• TensorRT Version:6.0.1
• NVIDIA GPU Driver Version (valid for GPU only)

Could you check gstdsexample.cpp -> get_converted_mat to see if it can help?

Hi bcao. Thank you for your reply.

I took a look into get_converted_mat. This function can solve the second problem I asked.

But for the first question, original metadata is 4 frames as a batch, and what I want is to replace it to one stitched frame(batch size is 1). Is this possible? Does it have to create a new buffer and replace old one?

For nvmultistreamtiler, it seems like it change batch size and stitch frames. Is there a plan to outsource this plugin?

Instead of replacing existing metadata user can acquire additional user metadata and fill in the information that user wants. Refer to DeepStream user metadata application.

Currently the nvmultistreamtiler is not opensource.