Deepstream 5.0 Smart Record

Do the recorded files show the bounding boxes… I’ve had a look at the deepstream-test5 source and you add the smart record bin before decoding and the muxer so I imagine its the raw stream being written to file with no bounding boxes showing?

Also. Is it possible to provide an example of Smart Record in one of the simpler test apps like deepstream-test3 for example.
Deepstream-test5 and deepstream-app are very complex with so many layers of bins its almost impossible for me to follow the code.


I would be interested as well.
I hope that some simpler example would come.


You can add the smart record in the sink, so the bbox should be available.
BTW, we will add a separate sample in upcoming release.

1 Like

How do I add it after demux?

I have :

demux - queue - nvvideoconvert - queue - nvdsosd - nvvideoconvert - "video/x-raw(memory:NVMM), format=(string)I420" - nvv4l2h265enc - tee (branching into the two pipelines below:

- queue - fakesink

- queue - smartrecord bin

I am not receiving any errors and smart record is creating files - however they are always 616bytes and not playable.

Is there something missing from the above pipeline maybe?

Please ignore previous post… It wasn’t working because of a silly error where I was not linking the created smart record bin to the tee properly. All working well now and I have the bounding boxes in the smart record files. ;-)

However - I do notice an issue - recorded files are not at 10fps which is what my cameras are streaming at. They are typically higher. They are also a little glitchy… I find this with all files recorded in my custom DS5.0 programs and not just smart record.

Using smart record I notice that recorded file seem to jump back in time like there is some sort of timing issue. Is there a way I can send you a sample recording (mp4 file?)

Hi @jasonpgf2a,
Sorry for long delay!

Could you provide the config file? We will use the sample to repo.


I don’t have a config file as I’ve written my own app based on deepstream-test3. I have the smart record bin placed after the demuxer? Can I share code or example saved mp4 files via the FTP site?

yes, send me the ftp or google doc login info.


Hi @jasonpgf2a,
didn’t hear from you for some time, anything we can do for this case?


No this can be closed out. Elsewhere nvidia have responded that streammux and smart record fixes will be in 5.0GA so I’m waiting for that.
Thank you.

Thank you very much!

BTW, DS5.0GA will be released in Q3

1 Like

We just recently migrated our code to DS 5.0 and are currently refactoring our code to take advantage of the new smart record feature - were you able to do this successfully? I know you also implemented your own smart record feature in DS 4.0. Where are you inserting the smart record bin if you want the bounding boxes and are also using the tiler to display multiple sources? Did you have to create some of those same initial elements in the implementation of the custom smart record (queue, filter, parser, encoder) before feeding into the DS 5.0 smart record bin?

Yes smart record is working. You can tee-off the SR bin wherever you want so long as its fed with encoded buffers.
The deeepstream-test5 app shows an example of adding the SR bin before decoding the rtsp source. I’ve also tested it after inference where I re-encode first and it works well here too and will show the bboxes and other metadata in the recorded video. Check the code in deeepstream-test5 to see how to implement it.

Hi, I’m currently trying to enable smart record in the sink bin rather than the source to have bounding boxes also recorded. @jasonpgf2a @mchi Can you please share the exact steps you did to enable smart record in the sink?


You can just add a tee somewhere after the osd element (or after streamdemux if running with multiple streams) then add the smart record bin to a tee src pad just the same way as the deepstream 5 examples adds it.