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

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.

OK, thanks . I’ll follow the steps to check the problem.

I just add the logs in gst_nvmsgconv_transform_ip, and found the len of user_meta_list is zero, show snapshot as below:

provide my personal setting also:
dec_parallel_infer.yml (7.9 KB)

Here I tag my test for your information:
I add some testing code to check the workflow, but I got strange results:—I set the disable-msgconv : 1


2

please set msg-conv-msg2p-new-api to 1 in [message-converter], please refer to parsing function parse_msgconv_yaml in opt\nvidia\deepstream\deepstream\sources\apps\apps-common\src\deepstream-yaml\deepstream_msgconv_yaml.cpp
the workflow should be:
gst_nvmsgconv_transform_ip-> if(self->msg2pNewApi) msg2pNewApi =1
→ msg2p_generate_new(nvds_msg2p_generate_new)->generate_dsmeta_message_minimal

Sir, It’s really hard to check the workflow as per your suggestion because I’m a greenhand of cpp。
By the way, I just check two function in deepstream_parallel_infer_app.cpp, find the problem of why I can’t get correct source frame dimension, details are shown below:



3

I also try my best to flow your suggestion, but it is too complicate. If I set the disable-msgconv : 1, I can’t find any msg info in any of the functions: generate_dsmeta_message_minimal or generate_dsmeta_message. But if I set disable-msgconv :0, it’s clearly to find the msg sent from generate_dsmeta_message_minimal, but just wrong source frame dimension which cause wrong position data.

Later, I try to find the workflow , and got the following results:

disable-msgconv: 1

disable-msgconv: 0

did you do this setting? need to check why msg2pNewApi is 0.

Yes, I had set the disable-msgconv :1, also set to 0 to compare with the difference.

I mean did you set msg-conv-msg2p-new-api to 1 in [message-converter].