Saving the inference results in periodic intervals+ smartrecording+deepstreamtest5

Please provide complete information as applicable to your setup.

We are using deepstream6.2 and Deepstream-test5, SDK. By enabling the smart recording feature, we are able to save the videos in periodic intervals from the source;
[source0]
enable=1
type=4
uri=rtsp://localhost:8554/ds-test
num-sources=1
gpu-id=0
cudadec-memtype=0
smart-record=2
smart-rec-container=0
#smart-rec-start-time=6
#smart-rec-start-time=6
smart-rec-duration=30
smart-rec-file-prefix=smart_record
smart-rec-dir-path=/home/ds_configs/video-storage/source0
smart-rec-video-cache=30

However we want to save the inference results(videos with bounding boxes/class labels/trackids) in periodic intervals, say for every 60 seconds. we are able to do this using deepstreamsr. But not sure how to integrate this feature to the deepstream-test5 application.Please let us known to enable smart recording for sink inside the test5 application

Please provide complete information as applicable to your setup.

• Hardware Platform (Jetson / GPU)

• DeepStream Version

• JetPack Version (valid for Jetson only)

• TensorRT Version

• NVIDIA GPU Driver Version (valid for GPU only)

• Issue Type( questions, new requirements, bugs)

• How to reproduce the issue ? (This is for bugs. Including which sample app is using, the configuration files content, the command line used and other details for reproducing)

• Requirement details( This is for new requirement. Including the module name-for which plugin or for which sample application, the function description)

Please provide complete information as applicable to your setup.

Thu Jun 1 09:33:47 2023
±----------------------------------------------------------------------------+
| NVIDIA-SMI 520.56.06 Driver Version: 520.56.06 CUDA Version: 11.8 |
|-------------------------------±---------------------±---------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 NVIDIA GeForce … Off | 00000000:01:00.0 Off | N/A |
| N/A 38C P0 N/A / N/A | 5MiB / 6144MiB | 0% Default |
| | | N/A |
±------------------------------±---------------------±---------------------+

±----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| 0 N/A N/A 2550 G /usr/lib/xorg/Xorg 4MiB |
±----------------------------------------------------------------------------+

• DeepStream Version: 6.2

• Issue Type( questions, new requirements, bugs):Adding a new requirement to save the inference results as periodic intervals inside the test5 application

• How to reproduce the issue ?
We have made some changes in the deep_sink_bin.c using the splitmuxsink to save the the inference results in mp4 format.But the changes reproduce the below issue
** ERROR: <create_multi_source_bin:1490>: Failed to create element ‘src_bin_muxer’
** ERROR: <create_multi_source_bin:1583>: create_multi_source_bin failed
** ERROR: <create_pipeline:1485>: create_pipeline failed
** ERROR: main:1472: Failed to create pipeline
Quitting
App run failed

• Requirement details( This is for new requirement. Including the module name-for which plugin or for which sample application, the function description
deepstream_sink_bin.c (33.3 KB)
deepstream_config.h (3.6 KB)
deepstream_sinks.h (4.8 KB)
I am also attaching the codes for your reference. We need your guidance on adding the code base to sink for saving video files in periodic intervals

  1. please open more logs to check which element was created failed. please do “export GST_DEBUG=3” first to modify Gstreamer’s log level, then run again, you can redirect the logs to a file.
  2. here is a sample to use splitmuxsink , you only need to modify the sink.
    gst-launch-1.0 videotestsrc num-buffers=500 ! video/x-raw,width=320,height=240 ! videoconvert ! queue ! timeoverlay ! x264enc key-int-max=10 ! h264parse ! splitmuxsink location=video%02d.mov max-size-time=10000000000 max-size-bytes=1000000
1 Like

Thank You! I am able to save the video files after modifying the sink. How ever I want to save the video files for every one minute or one hour. The g-streamer command you shared saves the video file for less than a second
gst-launch-1.0 videotestsrc num-buffers=500 ! video/x-raw,width=320,height=240 ! videoconvert ! queue ! timeoverlay ! x264enc key-int-max=10 ! h264parse ! splitmuxsink location=video%02d.mov max-size-time=10000000000 max-size-bytes=1000000

How to modify the statement for recording the videos for one hour /one minute

is this storing smart record event video or else store the segment of the video means every 10 segment and i am also doing smart record event but i my case smart record event is store in every 10 seconds how to change this

how did you integrate deepstream_sink_bin to deepstreeam-test5

you can set smart-rec-interval in the configuration file, please refer to test5_dec_infer-resnet_tracker_sgie_tiled_display_int8.txt

test5 is based on deepstream_sink_bin, you can check the Makefile.

ok

Sorry for the late reply, Is this still an DeepStream issue to support? Thanks

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