Behaviour of Gst-nvmsgconv and Gst-nvmsgbroker plugins

• Hardware Platform: GeForce RTX 3090
• DeepStream Version: 5.1
• TensorRT Version: 7.2.2
• NVIDIA GPU Driver Version: 460.32
• Issue Type: Question

According to the documentation for the Gst-nvmsgconv the plugin accepts NvDsBatchMeta and NvDsEventMsgMeta as input. I have the following questions regarding the expected behaviour of the plugin:

  1. Looking at the documentation for the other GStreamer plugins for DeepStream it appears none of the other plugins produce NvDsEventMsgMeta data as output. Is this metadata supposed to be provided by user applications?

  2. We’ve constructed a pipeline which feeds the results from the Gst-nvinfer and Gst-nvtracker plugins (results in NvDsBatchMeta) into the Gst-nvmsgconv plugin but don’t get any output from the message broker. Is this expected behaviour or should the results from these steps be published?

The msgmeta is generated by the application because the framework never knows what kind of message the user want to generate and send to the cloud. The user itself should define and implement it.

The deepstream-test4 app and deepstream-test5 app have shown the usage of nvmsgconv and nvmsgbroker. C/C++ Sample Apps Source Details — DeepStream 5.1 Release documentation, DeepStream Reference Application - deepstream-test5 app — DeepStream 5.1 Release documentation.

The sample app implement the generation of the message which contains information for persons and vehicles detected by the sample model. Take deepstream-test4 as the example, the message is generated in the generate_event_msg_meta() function /opt/nvidia/deepstream/deepstream-5.1/sources/apps/sample_apps/deepstream-test4/deepstream_test4_app.c.
This message can be converted by the default msgconv library /opt/nvidia/deepstream/deepstream-5.1/sources/libs/nvmsgconv.

The more information, please refer to /opt/nvidia/deepstream/deepstream-5.1/sources/apps/sample_apps/deepstream-test4/README