Deepstream-app problems with AMQP broker

Please provide complete information as applicable to your setup.

• Hardware Platform (Jetson / GPU)
Jetson Nano
• DeepStream Version
5.0
• JetPack Version (valid for Jetson only)
4.4
• TensorRT Version
7.0?
• NVIDIA GPU Driver Version (valid for GPU only)
• Sample application and the configuration file content
deepstream-app
Config file main part:

[sink0]
enable=1
type=6
source-id=0
gpu-id=0
msg-conv-config=/opt/nvidia/deepstream/deepstream/sources/apps/sample_apps/deepstream-test5/configs/dstest5_msgconv_sample_config.txt
msg-broker-proto-lib=/opt/nvidia/deepstream/deepstream/lib/libnvds_amqp_proto.so
msg-broker-conn-str=192.168.1.2;5678;mqtt-test;mqtt-test
topic=test
msg-conv-payload-type=0

• Reproduce steps
Run any model with the above sink
• Reproducing rate and duration
Every time

Problem: I can’t see the output when I subscribe to the AMQP topic. I’ve used the rabbitmq-c clients and they work perfectly fine. I’ve also used the sources/lib/amqp_protocol_adapter files and they work as well. I’m able to receive messages sent by those. I’m not able see the messages sent by deepstream. How do I fix this?

Thank you!

Hola.
Tengo la misma configuración en hardware y software, y me esta sucediendo lo mismo, lo que noto es que en manager de rabbitMQ en channels es state, al comienzo arranca luego pasa ha idle. en las gráficas se ve por un momento un pico de mensaje.

Hi,
the message pulished to amqp server, specifically to exchange you created, if not created, default is amqp.topic, you can not see the message directly through the sample, you could use amqp-consume to get the message pulished. here is output get printed on standard output , using test4 sample and amqp-consume:

{
“messageid” : “80c99e3d-d5ef-436e-b012-477f03b1e399”,
“mdsversion” : “1.0”,
@timestamp” : “2020-09-17T07:31:31.724Z”,
“place” : {
“id” : “1”,
“name” : “XYZ”,
“type” : “garage”,
“location” : {
“lat” : 30.32,
“lon” : -40.549999999999997,
“alt” : 100.0
},
“aisle” : {
“id” : “walsh”,
“name” : “lane1”,
“level” : “P2”,
“coordinate” : {
“x” : 1.0,
“y” : 2.0,
“z” : 3.0
}
}
},
“sensor” : {
“id” : “CAMERA_ID”,
“type” : “Camera”,
“description” : “"Entrance of Garage Right Lane"”,
“location” : {
“lat” : 45.293701446999997,
“lon” : -75.830391449900006,
“alt” : 48.155747933800001
},
“coordinate” : {
“x” : 5.2000000000000002,
“y” : 10.1,
“z” : 11.199999999999999
}
},
“analyticsModule” : {
“id” : “XYZ”,
“description” : “"Vehicle Detection and License Plate Recognition"”,
“source” : “OpenALR”,
“version” : “1.0”,
“confidence” : -0.10000000149011612
},
“object” : {
“id” : “-1”,
“speed” : 0.0,
“direction” : 0.0,
“orientation” : 0.0,
“vehicle” : {
“type” : “sedan”,
“make” : “Bugatti”,
“model” : “M”,
“color” : “blue”,
“licenseState” : “CA”,
“license” : “XX1234”,
“confidence” : -0.10000000149011612
},
you could refer to sources/libs/amqp_protocol_adaptor/README the last part for how to use amqp-consume

Tried to run test4 and that didn’t work either. It gave me
error from element h264-parser internal data stream error
I tried with 1080p_h264.mp4, sample_720p.mp4, sample_720p.h264

I know it is connecting to the broker because I can see it on the management console.

Even the first configuration I posted connected to the broker but it didn’t send any data because the management console showed no data being sent/received

error from element h264-parser internal data stream error
Your issue seems with source, you should solve this first.
and test4 only accept H264 source, not with container.

1 Like

Yep so I fixed that. But that’s deepstream-test4. Deepstream-test4 is working properly. The deepstream-app still doesn’t work. It connects with the broker but no info is sent. Is that a bug in the source? Do I need to do extra things to make it?

Exactamente! Usted lo arregló? Está funcionando para usted?
//
Exactly! Did you fix it? Is it working for you?

Hello.
Suggestion read.
NVIDIA DeepStream Plugin Manual : GStreamer Plugin Details | NVIDIA Docs
Gst-nvmsgconv.

WARNING - the workaround I did is not the best way to do it.(Modify: deepstream-app (deepstream_app.c → add probe)).

I was planning to do the same. I think adding the probe is the only option. Thank you!

Or you could refer to test5 sample which builds on top of the deepstream-app to demonstrate how to:

  • Use “nvmsgconv” and “nvmsgbroker” plugins in the pipeline.
1 Like