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