• GPU: L4
• Deepstream Version: 7
• Nvidia-Driver Version: 566.14 | CUDA Version: 12.7
• Issue Type: Modifying the output message structure of deepstream
Currently deepstream is publishing the detections and embeddings to kafka. Check how can we publish the images also with it.
A sample of this structure that I want to receive would look like:
{
"frame_ID": "frame_001",
"detections": [
{
"tracking_ID": "track_001",
"class_label": "Vehicle",
"confidence_threshold": 0.95,
"bbox": {
"topleftx": 1,
"toplefty": 480,
"bottomrightx": 99,
"bottomrighty": 668
}
},
{
"tracking_ID": "track_002",
"class_label": "Person",
"confidence_threshold": 0.89,
"bbox": {
"topleftx": 120,
"toplefty": 300,
"bottomrightx": 200,
"bottomrighty": 400
}
}
],
"frame": "base64_encoded_frame_data"
}
Please provide the link of deepstream_test4_app.c
, and explicitly mention where to put the below given code snippets.
if (usrMetaData->base_meta.meta_type == NVDS_CROP_IMAGE_META) {
NvDsObjEncOutParams *enc_jpeg_image =
(NvDsObjEncOutParams *) usrMetaData->user_meta_data;
START_PROFILE;
encoded_data = g_base64_encode(enc_jpeg_image->outBuffer, enc_jpeg_image->outLen);
Also, please note, my objective is to extract the entire frame, not just the object crops.
I only want to extract the frame and push it to kafka as a base64 encoded frame without having a MASSIVE drop in speed.