No messages sent to the borker (rabbitmq) in deepstream 6.2

my setup

NVIDIA Orin NX Developer Kit - Jetpack 5.1.1 [L4T 35.3.1]
Platform:

  • Distribution: Ubuntu 20.04 focal
  • Release: 5.10.104-tegra
    Libraries:
  • CUDA: 11.4.315
  • cuDNN: 8.6.0.166
  • TensorRT: 8.5.2.2
  • VPI: 2.2.7
  • Vulkan: 1.3.204
  • OpenCV: 4.5.4 - with CUDA: NO
    SDK:
  • Deepstream 6.2
  • RabbitMQ

looking for complete guide about enabling msg brokers, in my case rabbitmq, I was successful with enabling analytics and now I would like to receive data about line crossing or roi. Unfortunately I spent 2 days looking for info but finally I cant solve my problem, which is lack of messages send to the topic. I can see connections at the Rabbit console but no message is sent there. I’m using config files and run my app using deepstream-app.

Here are some configs sections I have in my setup:

APP CFG

[sink2]
enable=1
#gpu-id=0
#nvbuf-memory-type=0
source-id=0
#Type - 1=FakeSink 2=EglSink 3=File 4=UDPSink 5=Overlay 6=MsgConvBroker
type=6
msg-conv-config=msgconv_config.txt
#(0): PAYLOAD_DEEPSTREAM - Deepstream schema payload
#(1): PAYLOAD_DEEPSTREAM_MINIMAL - Deepstream schema payload minimal
#(256): PAYLOAD_RESERVED - Reserved type
#(257): PAYLOAD_CUSTOM - Custom schema payload
msg-conv-payload-type=0
msg-broker-proto-lib=/opt/nvidia/deepstream/deepstream-6.2/lib/libnvds_amqp_proto.so
msg-broker-config=cfg_amqp.txt

[nvds-analytics]
enable=1
config-file=config_nvdsanalytics.txt

ANALYTICS CFG

[property]
enable=1
#Width height used for configuration to which below configs are configured
config-width=1280
config-height=720
#osd-mode 0: Dont display any lines, rois and text
#1: Display only lines, rois and static text i.e. labels
#2: Display all info from 1 plus information about counts
osd-mode=2
set OSD font size that has to be displayed
display-font-size=12

[line-crossing-stream-0]
enable=1
class-id=1
line-crossing-Exit=930;200;810;390;1100;440;560;320
mode=balanced
extended=0

[roi-filtering-stream-0]
enable=1
class-id=1
roi-main=860;125;770;350;1045;410;1080;130
inverse-roi=0

[direction-detection-stream-0]
enable=1
#Label;direction;
direction-towards_exit=730;480;100;580
class-id=1

CFG_AMQP.TXT

[message-broker]
hostname = localhost
port = 5672
username = guest
password = guest
exchange = amq.topic
topic = mytopic
amqp-framesize = 131072
#share-connection = 1

AND msgconv_config.txt (taken from example) - which btw I completely don’t understand

[sensor0]
enable=1
type=Camera
id=CAMERA_ID
location=45.293701447;-75.8303914499;48.1557479338
description=“Entrance of Garage Right Lane”
coordinate=5.2;10.1;11.2

[place0]
enable=1
id=1
type=garage
name=XYZ
location=30.32;-40.55;100.0
coordinate=1.0;2.0;3.0
place-sub-field1=walsh
place-sub-field2=lane1
place-sub-field3=P2

[place1]
enable=1
id=1
type=garage
name=XYZ
location=28.47;47.46;1.53
coordinate=1.0;2.0;3.0
place-sub-field1=“C-76-2”
place-sub-field2=“LEV/EV/CP/ADA”
place-sub-field3=P2

[analytics0]
enable=1
id=XYZ
description=“Vehicle Detection and License Plate Recognition”
source=OpenALR
version=1.0

can anybody provide me with some useful example, python app 4 is about specific classes, I have my own model, and just want to count objects that cross the line and got info when ROI is occupied?

Thanks in advance!

Kris

The deepstream-app sample only supports the default message types NVIDIA DeepStream SDK API Reference: NvDsEventMsgMeta Struct Reference | NVIDIA Docs

Please refer to deepstream-test4 for generating new message in app.

The gst-nvanalytics result can be got from NVIDIA DeepStream SDK API Reference: Analytics Metadata | NVIDIA Docs.

If you want to customize your own message, please refer to Gst-nvmsgconv — DeepStream 6.2 Release documentation

gst-nvmsgconv is open source.

@Fiona.Chen thanks for your quick reply, I will follow your instructions, just one important note, I tested DeepStream-test4 and I have the same result, I can see the connections when starting the application but no messages :(

Can you refer to the README file under /opt/nvidia/deepstream/deepstream/sources/apps/sample_apps/deepstream-test4?

Can you use the nvds_logger tool to get the log? The usage is in /opt/nvidia/deepstream/deepstream/sources/tools/nvds_logger/README .

Hey!

thanks for suggestions, test4 example works, the interesting thing that it works only with the sample video, when I switch to another one, it doesn’t send any data, so I assume that it depends on configuration file sensors, places ect. but still don’t understand this relation.

br, Kris

Please check the video you test. The default model used in test4 only detects cars, people, bicycle and roadsigns. If you think it depends on the configuration file, please upload your configurations.

hey @Fiona.Chen my configs are in first post on top, do you know where I can find some documentation that can help me understand, what is the relation of the msgconv_config.txt and ANALYTICS CFG because cant find what is the sensor place ect. and how it refers to the messages populated to the message broker?

There is no update from you for a period, assuming this is not an issue anymore. Hence we are closing this topic. If need further support, please open a new one. Thanks

msgconv_config.txt is the gst-nvmsgconv plugin’s configuration file. Gst-nvdsanalytics — DeepStream 6.3 Release documentation is another plugin. Please read the user manual for the introduction.

gst-nvmsgconv is open source. The source code is in /opt/nvidia/deepstream/deepstream/sources/gst-plugins/gst-nvmsgconv

deepstream-app and deepstream-test5 are all sample apps which can construct GStreamer pipeline according to the app configuration file. The deepstream-app configuration syntax is described in DeepStream Reference Application - deepstream-app — DeepStream 6.3 Release documentation

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.