Request for Help: Exporting ReID Embeddings to Kafka

Request for Help: Exporting ReID Embeddings to Kafka

Setup Details

  • Hardware: GPU

  • DeepStream Version: 8.0

  • Issue Type: Question / Integration Help


The Goal

I am looking for an efficient way to output ReID embeddings from nvtracker directly to Kafka using nvmsgconv and nvmsgbroker.

I am currently using the deepstream-test4 python sample as my base.

The Challenge

I’ve seen methods suggesting modifications to dsmeta_payload.cpp, but I want to avoid this to ensure my pipeline remains compatible with future updates (e.g., moving from DeepStream 8.0 to 9.0).

My Questions

  1. Is there a native way to save ReID tensors to Kafka without writing a custom payload within a probe or modifying the DeepStream source code?

  2. Are there specific configurations or sample code available that demonstrate how to map nvtracker ReID data into the message converter schema?

Any guidance or reference samples would be greatly appreciated!

First please refer to the guide for how to add custom payload. if using new msgconv API (msg2p-newapi=1), you don’t need to modiy the DeepStream source code.

  1. If you can obtain ReID tensor, Please refer to this topic for how to add the related python binding and custom data.
  2. Please refer to this guide for how to obtain ReID. regarding data conversion, please read “3.Send the image by the broker based on Kafka” in /opt/nvidia/deepstream/deepstream/sources/apps/sample_apps/deepstream-test4/README, which demonstrates how to convert data in python.

Thanks for your reply. I am currently able to obtain the ReID tensor within a probe function.

I’m trying to find out if DeepStream can write the tensors to Kafka directly, without first getting the tensors from a probe.

I also hope to do it without modifying any DeepStream source code.

Sorry for the late reply!

No, DeepStream SDK can’t send ReID tensors to kafka directly. The nvmsgconv plugin and low-level lib are opensource. There is no code to add the tensors to Json string.

Is this still an DeepStream issue to support? Thanks!
If so, as written in my last comment, have you finished adding python binding for NvDsCustomMsgInfo? after adding the binding, please set msg2p-newapi=1 for nvmsgconv, then you can add the tensors to user meta wth NVDS_CUSTOM_MSG_BLOB type in probe function, as the user did in the topic mentioned in my last comment.
By this method, you don’t need to modify DeepStream SDK code, because nvsmsgconv low-level code already includes the codes to add NVDS_CUSTOM_MSG_BLOB data to the Json string.

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.