Smart recording on Azure IOTEDGE

Hi,

We are trying to implement deepstream on an azure IOT edge device and we are particularly interested in the smart recording capabilities.

We are trying to use Gst-nvurisrcbin for it’s smart recording capabilities from Python. The documentation says how we can enable this capability but does not say how we can trigger it. How can we trigger from Python smart recording on this bin? Using gst-inspect-1.0 nvurisrcbin we can see it has two element actions “start-sr” and “stop-sr” but need the corresponding elements that can emit these types of signals. Are there any such elements available in the Python API?

1 Like

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)

• Hardware Platform (Jetson / GPU)
GPU GeForce RTX 3080
• DeepStream Version
DeepStream 6.3
• JetPack Version (valid for Jetson only)

• TensorRT Version
8.6.1.6
• NVIDIA GPU Driver Version (valid for GPU only)
530.30.02 , CUDA Version: 12.1
• Issue Type( questions, new requirements, bugs)
How can we use Gst-nvurisrcbin, from Python, to use smart recording. Gst-nvurisrcbin — DeepStream 6.3 Release documentation shows that is supports this feature. Also we would like the events that trigger the recording to be read from Azure IoT Edge. Smart Video Record — DeepStream 6.3 Release documentation this document says it supports Azure IoT edpge protocol and there is also a proto buff lib that supports this protocol. How can we configure this.
• 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)
We are not using any sample app since we do not need inference capabilities for now. It is a application/pipeline built from scracth based on python sample apps (deepstream-app3 and deepstream-app4) that uses two elements nvurisrcbin and a fake sink. We just want to record video based on an eventorder can still be used

here is a sample to start record by local event, you can port it to Python version.
1. enable smart-record.
g_object_set (G_OBJECT (uri_decode_bin), “smart-record”, 2, “smart-rec-dir-path”, “.”, NULL);
you can get the parameters explanation by “gst-inspect-1.0 nvurisrcbin”.
2. send start message
g_signal_emit_by_name(source_bin,“start-sr”, &sessId, 2, 7, NULL);
3. send stop message
g_signal_emit_by_name(source_bin,“stop-sr”, NULL);

There is no update from you for a period, assuming this is not an issue anymore. Hence we are closing this topic. If need further support, please open a new one. Thanks

Here is a Python sample to use nvurisrcbin for smart recording.
1. apply this patch for gpointer Python binding.
rebuild, reinstall pyds-*.whl.
gpointer_bind.diff (1.4 KB)
2. send start/stop message
please refer to test3.py.diff (1.7 KB)
here is the start commandline:
python3 deepstream_test_3.py -i rtsp://xx --no-display --file-loop --s

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