Is it possible to send metadata with nvmsgbroker via gst-launch?

Hi there

I tried deepstream-test4 and it’s working great, with AMQP messages.

Then when I read nvmsgconv docs it says that it takes the metadata, applies the schema, and genereate the messages, for nvmsgbroker.

My pipeline is sort of:

! nv.sink_01 nvstreammux name=nv width=1280 height=720 batch-size=1 batched-push-timeout=4000000 live-source=true\
                       ! queue ! nvvideoconvert\
                       ! nvinfer config-file-path=/opt/nvidia/deepstream/deepstream-4.0/sources/objectDetector_Yolo/config_infer_primary_yoloV3.txt batch-size=1 unique-id=1\
                       ! nvvideoconvert ! nvdsosd ! tee name=deep ! queue ! videoconvert ! nvegltransform ! nveglglessink\
                                  deep. ! nvmsgconv config=/opt/nvidia/deepstream/deepstream-4.0/sources/apps/sample_apps/deepstream-test4/dstest4_msgconv_config.txt payload-type=1\
                                        ! nvmsgbroker proto-lib=/opt/nvidia/deepstream/deepstream-4.0/lib/libnvds_amqp_proto.so\
                                  config=/opt/nvidia/deepstream/deepstream-4.0/sources/apps/sample_apps/deepstream-test4/cfg_amqp.txt conn-str="127.0.0.1;5672;guest"\

I’m running it from a v4l2 source, and showing a lot of positive detections of Person and other objects.

It connects to the amqp broker (rabbitmq), but it doesn’t send any message.

So I clearly see that deepstream-test4 uses osd_sink_pad_buffer_probe to get the metadata and manually assembles msgmeta.

Question (1): Is this the only way? Do I have to assemble this pipe programmaticaly and create the msg_meta by hand?

Question (2): More of a suggestion. I think that nvmsgconv should have a “send-it-all” mode in order to transmit all the metadata without the need to program. At least at the testing stage.

thanks a lot

Guillermo

Question (1): YES - it is the only way
Question (2): Send-it-all may be taken up as a future enhancement after discussion with our internal team

Thank you very much for your answer.

The second point would be very useful in early proof of concept stages.

Regards