Question about MsgConv plugin

Please provide complete information as applicable to your setup.

• Hardware Platform (Jetson / GPU) Jetson Nano
• DeepStream Version 4.0.2
• JetPack Version (valid for Jetson only)
• TensorRT Version
• NVIDIA GPU Driver Version (valid for GPU only)

Is there a way to operate on the entire list of NvDsUserMeta of type NvDsEventMsgMeta in a NvDsFrameMeta from the MsgConv plugin? Currently the plugin processes each NvDsEventMsgMeta individually. I’d like to be able to send a single message to the broker that is generated from multiple NvDsEventMsgMeta objects in a single frame.

Can NVDS_PAYLOAD_DEEPSTREAM_MINIMAL meet your requirements?
you can set in config.

I would like to create my own payload format. My issue is being able to process multiple NvDsEventMsgMeta in the MsgConv plugin. My understanding is that the MsgConv plugin only processes a single NvDsEventMsgMeta object, and sends the constructed JSON to the Broker plugin, to be sent via AMQP or other protocol. Is this correct? If so, is there a way I can construct a single message in the MsgConv plugin from all the NvDsEventMsgMeta objects in a single frame? This is opposed to packing all the metadata I want to send into a message in a single NvDsEventMsgMeta object.

My understanding is that the MsgConv plugin only processes a single NvDsEventMsgMeta object, and sends the constructed JSON to the Broker plugin, to be sent via AMQP or other protocol. Is this correct?

→ it’s correct for NVDS_PAYLOAD_DEEPSTREAM

is there a way I can construct a single message in the MsgConv plugin from all the NvDsEventMsgMeta objects in a single frame?

→ in case you want to implement based on type NVDS_PAYLOAD_CUSTOM, you can refer to how NVDS_PAYLOAD_DEEPSTREAM_MINIMAL in sources/gst-plugins/gst-nvmsgconv/gstnvmsgconv.c::gst_nvmsgconv_transform_ip implemented. it read all object metadata in one frame into one list, which will get processed by sources/libs/nvmsgconv/nvmsgconv.cp::generate_deepstream_message_minimal, it should meet your requirements.

after nvmsgconv and before sending it to next plugin i.e. nvmsgbroker, how can I get that JSON payload schema or at which location this JSON payload schema can be accessed??

Hi ImSaur,

Please help to open a new topic with more details. Thanks

1 Like

Hi @kayccc
Please have a look.