Is there any configuration to change the frequency of sending message to broker?

• Hardware Platform (Jetson / GPU)
Jetson Xavier NX
• DeepStream Version
DeepStream 5.0
• JetPack Version (valid for Jetson only)
• TensorRT Version

I am developing an application based on deepstream-test5-app.
Is there any configuration to change the frequency of sending message to broker? Currently the application is likely to send a message roughly every 0.5 second.
Ideally, I want to make it send only when parameters are changed. I looked into config file and documents but still not clear…
Please tell me if you know about this thing.
Thanks in advance.

Did you set different value for frame-interval in nvmsgconv? The reference is here: Gst-nvmsgconv — DeepStream 6.1 Release documentation

1 Like

@yingliu Thank you very much!
Sorry for asking a couple. Is there a way to send a message only when target objects are detected?

please specify more your issue. if there is new target, there will be a new object meta, so all objects in frame_meta->obj_meta_list are target objects, you can debug in bbox_generated_probe_after_analytics.

@fanzh thank you for your reply.
Current application sends message every 30 frames, and now I understand the frequency can be changed by frame-interval in config.
I am testing deepstream-occupancy-analytics which counts entry/exit of people, and I was wondering if there is a way to send message only when the count is up.

the default method is adding NvDsEventMsgMeta to to the buffer as user metadata of frame meta, if set msg2p-newapi to true, user metadata will be added every frame-interval. please refer to Gst-nvmsgconv — DeepStream 6.1 Release documentation
you can add this event after checking analysis output, please refer to deepstream-test5.

1 Like

@yingliu I looked for the file nvmsgconv, but I am lost…
As following the document, I looked into sources/libs/nvmsgconv/ and sources/gst-pugins/gst-nvmsconf. However I still don’t get where to add frame-interval parameter… Could you tell me which file I need to modify?

it can set by parameter PROP_FRAME_INTERVAL, the default value is :
self->frameInterval = DEFAULT_FRAME_INTERVAL;

@fanzh I am sorry. I still don’t get… Which file to add the parameter?
I searched, but I couldn’t find the line.

  1. you can modify configuration file to change frameInterval, for example:
    in this file: sources\apps\sample_apps\deepstream-test5\configs\test5_dec_infer-resnet_tracker_sgie_tiled_display_int8.txt
    in this line: msg-conv-frame-interval=30

  2. you can modify configuration file to change frameInterval,
    default value is in gst_nvmsgconv_init of
    if want to change, please refer to g_object_set (G_OBJECT (msgconv), “frame-interval”, frame_interval, NULL); in sources\apps\sample_apps\deepstream-test4\deepstream_test4_app.c

@fanzh I followed your advice, but there is no msg-conv-frame-interval=30 in the config file, also no frame_interval variable in deepstream_test4_app.c…

I added msg-conv-frame-interval=30 in [sink1] section in my config file and it returned an error:
Unknown key ‘msg-conv-frame-interval’ for group [sink1]

Where exactly should I add the line?

  1. you can find frame_interval in deepstream-test4 code, for example:
    if (is_first_object && !(frame_number % frame_interval)) {

  2. deepsream-test4 uses hardcode to set value, you can modify in code, for example:
    g_object_set (G_OBJECT (msgconv), “frame-interval”, frame_interval, NULL);

I found the following line in deestream-test4
if (is_first_object && !(frame_number % 30)) {

however, I couldn’t find in deepstream-test5. Because I am working on an app based on deepstream-test5, I would like to know it for deepstream-test5.
In deepstream-test5 Tthere is a comment

/* Frequency of messages to be send will be based on use case.
* Here message is being sent for first object every 30 frames.

in line 629-631, but no line to set the frame interval parameter.
Could you tell me how to for deepstream-test5 app?

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.