Hi,
I am having difficulties with reading nvdsanalytics output via kafka. I generated a people counting app and I would like to send the “Entry” and “Exit” results to Kafka. I combined deepstream-test4 and deepstream-nvdsanalytics-test apps , and for modification I followed the instructions giving in the webinar “Create Intelligent Places Using NVIDIA Pre-trained vision Models and DeepStream SDK”.
Hardware Platform (Jetson / GPU): Jetson Nano
DeepStream Version: DP 5.0
JetPack Version (valid for Jetson only): 4.4
For this purpose, I created,
typedef struct{
guint32 lcc_cnt_exit;
guint32 lcc_cnt_entry;
} MyUserMeta;
Then, in nvdsanalytics_src_pad_buffer_probe function, I modified the code as below:
MyUserMeta *user_data = (MyUserMeta *) g_malloc0(sizeof(MyUserMeta));
for (NvDsMetaList * l_user = frame_meta->frame_user_meta_list;
l_user != NULL; l_user = l_user->next) {
NvDsUserMeta *user_meta = (NvDsUserMeta *) l_user->data;
if (user_meta->base_meta.meta_type != NVDS_USER_FRAME_META_NVDSANALYTICS)
continue;
NvDsAnalyticsFrameMeta *meta = (NvDsAnalyticsFrameMeta *) user_meta->user_meta_data;
user_data->lcc_cnt_entry = meta->objLCCumCnt["Entry"];
user_data->lcc_cnt_exit = meta->objLCCumCnt["Exit"];
And, in generate_event_msg_meta function, I modified the code like this:
generate_event_msg_meta (gpointer data, gint class_id, NvDsObjectMeta * obj_params, MyUserMeta * obj_data)
{
NvDsEventMsgMeta *meta = (NvDsEventMsgMeta *) data;
meta->lccum_cnt_entry = obj_data->lcc_cnt_entry;
meta->lccum_cnt_exit = obj_data->lcc_cnt_exit ;
Also I added these lines to nvdsmeta_schema:
typedef struct NvDsEventMsgMeta {
guint lccum_cnt_entry;
guint lccum_cnt_exit;
}
I modified nvmsgconv.cpp:
struct NvDsAnalyticsObject {
string id;
string desc;
string source;
string version;
guint occupancy;
guint lccum_cnt_entry;
guint lccum_cnt_exit;
};
generate_analytics_module_object(){
json_object_set_double_member (analyticsObj, "Entry", meta->lccum_cnt_entry);
json_object_set_double_member (analyticsObj, "Exit", meta->lccum_cnt_exit);
}
I modified the Makefile and successfully built it.
So I am expecting to see “Entry” and “Exit” parts in the analyticsModule when I read the topic via Kafka. However, I didn’t manage. Do you have any idea to solve this?
Thank you.