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:
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.
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
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:
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].