How to update/change NvDsAnalytics metadata?

Please provide complete information as applicable to your setup.

**• Hardware Platform (Jetson / GPU)**tx2
• DeepStream Version5.0
**• JetPack Version (valid for Jetson only)**4.4
• TensorRT Version7.1
• NVIDIA GPU Driver Version (valid for GPU only)

Hi everybody,

I’ve tested deepstream-nvdsanalytics app and got to know how to retrieve the analytic data, like objInROIcnt, objLCCumCnt… But I have a question: If I have a time table/schedule for each ROI, in off-duty cycle, the above mentioned figures should set to zero. How can I update these figures? I’ve tried function like nvds_remove_user_meta_from_frame but it did not work. The OSD screen display did not change accordingly. I think this has nothing to do with topic:“User/Custom Metadata Addition inside NvDsBatchMeta”, am I wrong? Please provide some advices.


Could you explain more details about that?


I used nvdsanalytics plugin along with deepstream-app. In parse_nvdsanalytics_meta_data()function:

NvDsAnalyticsFrameMeta *meta =

            (NvDsAnalyticsFrameMeta *) user_meta->user_meta_data;

        /* Get the labels from nvdsanalytics config file */

        for (std::pair<std::string, uint32_t> status : meta->objInROIcnt){

            // filtering with schedule

            status.first = "i do not konw!!!!";

            out_string << " Objs in ROI ";

            out_string << status.first;

            out_string << " = ";

            out_string << status.second;


I set values for status.first or status.second and got the updated values in terminals, but the displayed string values on OSD windows unchanged. And I tried to remove the value pairs by calling nvds_remove_user_meta_from_frame() just before above mentioned statements and it again did not effect OSD display.

My question is:

  1. How can I manually change values in user/custom metadata such as analytics which are already existing in NvDsBatchMeta? Because I’m aware that if I want to add new user metadata, I need to follow the method in “sample_apps/deepstream-user-metadata-test”.
  2. What is the best practice to filter analytics metadata according to a time shedule? Do I need to write a plugin or just use a probe to retrieve data, change them and write back from analytics plugin’s src pad/osd plugin’s sink pad?


OSD is attached separately as display meta

user needs to modify the display_meta of the object

Got it! Thank you for your reply!

By default the remove filter changes the classes bbox to a blue colour,

Is there a setting/config to be added to make the bbox and label not be shown?

or will we have to manualy remove it from the display_meta

Hi Andrew_Smith,

Please help to open a new topic for your issue. Thanks

I have opened a new issue below