How to set the msg-broker if use my own model when running the code of deepstream_paraller_infer

after nvmultistreamtiler, the frame meta info including source dimensions will dumped, you can add probe on nvmultistreamtiler sink and src to confirm.
currently, there are two solutions.

  1. use msg-conv-msg2p-new-api =0.
  2. use msg-conv-msg2p-new-api = 1, msgconv plugin needs to be in front of nvmultistreamtiler, as the comments in source4_1080p_dec_parallel_infer.yml said, " sink type = 6 by default creates msg converter + broker. To use multiple brokers use this group for converter and use sink type = 6 with disable-msgconv : 1", please set disable-msgconv: 1, and enable message-converter.

Thanks! I had set the msg-conv-msg2p-new-api =0 before, and got the correct position data and wrong label (all the labels are Vehicle). I had provided the snapshot before.
1

I will try the second solution to see if it works.

Here is the result of solution 2, and I still get no data for the position:


2

  1. please dump the gstreamer pipeline graph to check if msgconv is in front of tiler.
  2. if msgconv is in front of tiler, the frame_meta->source_frame_width and frame_meta->source_frame_height should not be zero, then scaleW will not be zero, please add logs to check.

Sorry, how to dump the gstreamer pipeline graph ? I’m not clear about it…

please refer to :DeepStream SDK FAQ - #10 by mchi

it is not clear, please attach zip, and if msgconv is in front of tiler, the frame_meta->source_frame_width and frame_meta->source_frame_height should not be zero, then scaleW will not be zero, please add logs to check.

1.zip (1.5 MB)

it is not correct because there are two msgconv, please set disable-msgconv : 1, then please add logs to check.

I checked the code of deepstream_parallel_infer_app.cpp, and find the msgconv would be in front of tiller, pls find the following snapshot marked with line number:
2

The problem is I can not get any information in kafka service if I set the disable-msgconv : 1…

if disable-msgconv : 1 and add new message-converter, are all information right in msgconv plugin? did msgbroker plugin process and send the message? please add logs to debug.

It‘s my setting as per your suggestion:

And here is the logs as below:

And I did not find any logs printed from dsmeta_payload.cpp and envetmsg_payload.cpp, also nothing can be found in the kafka service:

please set #msg-conv-comp-id= in message-converter, it represents nvmsgconv’s comp-id property, please refer to Gst-nvmsgconv — DeepStream 6.2 Release documentation
please add log in gst_nvmsgconv_transform_ip to debug.

Sorry, I’m not clear how to add the log in gst_nvmsgconv_transform_ip? where is this function?

By the way, I have set the com-id to be 2, still nothing can be got.
5

But if I set the disable-msgconv: 0, I can get the information from kafka, and I can see the function of generate_dsmeta_message_minimal in dsmeta_payload.cpp acticvated…(—but just the position of data were wrong)

opt\nvidia\deepstream\deepstream\sources\gst-plugins\gst-nvmsgconv\gstnvmsgconv.c

it should be same with pgie’s id.

Still confuse about the pgies-id. As per the clarification in official, it is the first PGIE unique-id in this branch.

there will be multiple branches in deepstream_parallel_infer app, every branch will has own pgie and sgie. from your pipeline, there will be two pgies, one’s id 1, and the other id is 2.
gst_nvmsgconv_transform_ip is nvmsgconv’s chain function, the workflow should be:
gst_nvmsgconv_transform_ip->msg2p_generate_new(nvds_msg2p_generate_new)->generate_dsmeta_message_minimal, please add logs to check step by step.

need to check this issue, from the workflow, it will go into generate_dsmeta_message_minimal.