You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This release is compatible with DeepStream SDK 6.4
Ubuntu 22.04
Python 3.10
DeepStream SDK 6.4
Features:
- New API for alloc_nvds_event_msg_meta() - see deepstream-test4 and bindschema.cpp for reference
- Tracker meta data type names have been updated with DS 6.4 release - see deepstream-test2 for reference
- deepstream-test4 has been updated with information on how to run with MQTT protocol adaptor
- All app configurations have been updated to use newest model engines that ship with DS 6.4 and latest TAO toolkit
- deepstream-test1-rtsp-out has been updated to demonstrate support for Orin Nano by adding an option to use software encoder
Copy file name to clipboardExpand all lines: FAQ.md
+14-1Lines changed: 14 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,7 @@
1
1
# Frequently Asked Questions and Troubleshooting Guide
2
2
3
3
-[Frequently Asked Questions and Troubleshooting Guide](#frequently-asked-questions-and-troubleshooting-guide)
4
+
-[App causes Jetson Orin Nano to freeze and reboot](#app-causes-jetson-orin-nano-to-freeze-and-reboot)
4
5
-[Using new gst-nvstreammux](#using-new-gst-nvstreammux)
5
6
-[Git clone fails due to Gstreamer repo access error](#git-clone-fails-due-to-gstreamer-repo-access-error)
6
7
-[Application fails to work with mp4 stream](#application-fails-to-work-with-mp4-stream)
@@ -13,6 +14,18 @@
13
14
-[Triton container problems with multi-GPU setup](#triton-container-problems-with-multi-gpu-setup)
14
15
-[ModuleNotFoundError: No module named 'pyds'](#modulenotfounderror-no-module-named-pyds)
15
16
17
+
<aname="faq11"></a>
18
+
### App causes Jetson Orin Nano to freeze and reboot
19
+
Most of the DeepStream Python apps are written to use hardware encoders. The Jetson Orin Nano does not have any hardware encoders, so the app must be modified to use software encoders in the pipeline. Please see [deepstream-test1-rtsp-out](./apps/deepstream-test1-rtsp-out/deepstream_test_1_rtsp_out.py):
Most DeepStream Python apps are written to use the default nvstreammux and have lines of code written to set nvstreammux properties which are deprecated in the new gst-nvstreammux. See the [DeepStream documentation](https://docs.nvidia.com/metropolis/deepstream/dev-guide/text/DS_plugin_gst-nvstreammux2.html) for more information on the new gst-nvstreammux plugin. To use the new nvstreammux, set the `USE_NEW_NVSTREAMMUX` environment variable before running the app. For example:
@@ -152,5 +165,5 @@ The pyds wheel installs the pyds.so library where all the pip packages are store
@@ -84,12 +84,12 @@ Memory for MetaData is shared by the Python and C/C++ code paths. For example, a
84
84
85
85
#### Allocations
86
86
87
-
When MetaData objects are allocated in Python, an allocation function is provided by the bindings to ensure proper memory ownership of the object. If the constructor is used, the the object will be claimed by the garbage collector when its Python references terminate. However, the object will still need to be accessed by C/C++ code downstream, and therefore must persist beyond those Python references.
87
+
When MetaData objects are allocated in Python, an allocation function is provided by the bindings to ensure proper memory ownership of the object. If the constructor is used, the object will be claimed by the garbage collector when its Python references terminate. However, the object will still need to be accessed by C/C++ code downstream, and therefore must persist beyond those Python references.
88
88
89
89
Example:
90
90
To allocate an NvDsEventMsgMeta instance, use this:
91
91
```python
92
-
msg_meta = pyds.alloc_nvds_event_msg_meta() # get reference to allocated instance without claiming memory ownership
92
+
msg_meta = pyds.alloc_nvds_event_msg_meta(user_event_meta) # get reference to allocated instance without claiming memory ownership
Custom MetaData added to NvDsUserMeta require custom copy and release functions. The MetaData library relies on these custom functions to perform deep-copy of the custom structure, and free allocated resources. These functions are registered as callback function pointers in the NvDsUserMeta structure.
175
175
176
-
Callback functions are registered using these functions:
176
+
##### Deprecation Warning
177
+
Previously, Callback functions were registered using these functions:
*NOTE*: Callbacks need to be unregistered with the bindings library before the application exits. The bindings library currently keeps global references to the registered functions, and these cannot last beyond bindings library unload which happens at application exit. Use the following function to unregister all callbacks:
183
+
These are now DEPRECATED and are replaced by similar implementation in the binding itself. These are event_msg_meta_copy_func() and event_msg_meta_release_func() respectively. These can be found inside [bindschema.cpp](bindings/src/bindschema.cpp)
184
+
185
+
##### Deprecation Warning
186
+
*NOTE*: Previously, callbacks needed to be unregistered with the bindings library before the application exits. The bindings library currently keeps global references to the registered functions, and these cannot last beyond bindings library unload which happens at application exit. Use the following function to unregister all callbacks:
183
187
```pyds.unset_callback_funcs()```
188
+
These callbacks are automatically set inside the alloc_nvds_event_msg_meta() function and should NOT be set from the python application (e.g. deepstream-test4)
184
189
185
-
See the deepstream-test4 sample application for an example of callback registration and unregistration.
190
+
The deepstream-test4 sample application has been updated to show an example of removal of these callback registration and unregistration.
186
191
187
192
Limitation: the bindings library currently only supports a single set of callback functions for each application. The last registered function will be used.
Copy file name to clipboardExpand all lines: README.md
+12-9Lines changed: 12 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,11 +2,11 @@
2
2
3
3
This repository contains Python bindings and sample applications for the [DeepStream SDK](https://developer.nvidia.com/deepstream-sdk).
4
4
5
-
SDK version supported: 6.3
5
+
SDK version supported: 6.4
6
6
7
-
<b>The bindings sources along with build instructions are now available under [bindings](bindings)! We now include a [guide](bindings/BINDINGSGUIDE.md) for contributing to bindings and another [guide](bindings/CUSTOMUSERMETAGUIDE.md) for advanced use-cases such as writing bindings for custom data structures.</b>
7
+
<b>This release only supports Ubuntu 22.04 for DeepStreamSDK 6.4 with Python 3.10 and [gst-python](3rdparty/gst-python/) 1.20.3! Ubuntu 20.04 for DeepStreamSDK 6.3 with Python 3.8 support is NOW DEPRECATED</b>
8
8
9
-
<b>This release only supports Ubuntu 20.04 for DeepStreamSDK 6.3 with Python 3.8 and [gst-python](3rdparty/gst-python/) 1.16.2! Ubuntu 18.04 support is now deprecrated.</b>
9
+
The bindings sources along with build instructions are available under [bindings](bindings)! We include one [guide](bindings/BINDINGSGUIDE.md) for contributing to bindings and another [guide](bindings/CUSTOMUSERMETAGUIDE.md) for advanced use-cases such as writing bindings for custom data structures.
10
10
11
11
Download the latest release package complete with bindings and sample applications from the [release section](../../releases).
12
12
@@ -28,6 +28,9 @@ Python [bindings](bindings) are provided as part of this repository. This module
28
28
29
29
These bindings support a Python interface to the MetaData structures and functions. Usage of this interface is documented in the [HOW-TO Guide](HOWTO.md) and demonstrated in the sample applications.
30
30
31
+
### Python Bindings Breaking API Change
32
+
The binding for function alloc_nvds_event_msg_meta() now expects a NvDsUserMeta pointer which the NvDsEventMsgMeta is associated with. Please refer to [deepstream-test4](apps/deepstream-test4) and [bindschema.cpp](bindings/src/bindschema.cpp) for reference.
33
+
31
34
<aname="sample_applications"></a>
32
35
## Sample Applications
33
36
@@ -41,20 +44,20 @@ To run the sample applications or write your own, please consult the [HOW-TO Gui
41
44
</p>
42
45
43
46
We currently provide the following sample applications:
44
-
*[deepstream-test1](apps/deepstream-test1) -- 4-class object detection pipeline - now also demonstrates support for new nvstreammux
45
-
*[deepstream-test2](apps/deepstream-test2) -- 4-class object detection, tracking and attribute classification pipeline
46
-
*[deepstream-test3](apps/deepstream-test3) -- multi-stream pipeline performing 4-class object detection - now also supports triton inference server, no-display mode, file-loop and silent mode
47
-
*[deepstream-test4](apps/deepstream-test4) -- msgbroker for sending analytics results to the cloud
47
+
*[deepstream-test1](apps/deepstream-test1) -- 4-class object detection pipeline, also demonstrates support for new nvstreammux
48
+
***UPDATED**[deepstream-test2](apps/deepstream-test2) -- 4-class object detection, tracking and attribute classification pipeline - now uses new names for tracker meta data types in DS 6.4
49
+
*[deepstream-test3](apps/deepstream-test3) -- multi-stream pipeline performing 4-class object detection, also supports triton inference server, no-display mode, file-loop and silent mode
50
+
***UPDATED**[deepstream-test4](apps/deepstream-test4) -- msgbroker for sending analytics results to the cloud - now supports MQTT protocol adaptor
48
51
*[deepstream-imagedata-multistream](apps/deepstream-imagedata-multistream) -- multi-stream pipeline with access to image buffers
49
52
*[deepstream-ssd-parser](apps/deepstream-ssd-parser) -- SSD model inference via Triton server with output parsing in Python
50
53
*[deepstream-test1-usbcam](apps/deepstream-test1-usbcam) -- deepstream-test1 pipeline with USB camera input
51
-
*[deepstream-test1-rtsp-out](apps/deepstream-test1-rtsp-out) -- deepstream-test1 pipeline with RTSP output
54
+
***UPDATED**[deepstream-test1-rtsp-out](apps/deepstream-test1-rtsp-out) -- deepstream-test1 pipeline with RTSP output - now demonstrates adding software encoder option to support Jetson Orin Nano
52
55
*[deepstream-opticalflow](apps/deepstream-opticalflow) -- optical flow and visualization pipeline with flow vectors returned in NumPy array
53
56
*[deepstream-segmentation](apps/deepstream-segmentation) -- segmentation and visualization pipeline with segmentation mask returned in NumPy array
54
57
*[deepstream-nvdsanalytics](apps/deepstream-nvdsanalytics) -- multistream pipeline with analytics plugin
55
58
*[runtime_source_add_delete](apps/runtime_source_add_delete) -- add/delete source streams at runtime
56
59
*[deepstream-imagedata-multistream-redaction](apps/deepstream-imagedata-multistream-redaction) -- multi-stream pipeline with face detection and redaction
57
-
*<b>UPDATED</b> [deepstream-rtsp-in-rtsp-out](apps/deepstream-rtsp-in-rtsp-out) -- multi-stream pipeline with RTSP input/output -- now takes new command line argument "--rtsp-ts" for configuring the RTSP source to attach the timestamp rather than the streammux
60
+
*[deepstream-rtsp-in-rtsp-out](apps/deepstream-rtsp-in-rtsp-out) -- multi-stream pipeline with RTSP input/output - has command line option "--rtsp-ts" for configuring the RTSP source to attach the timestamp rather than the streammux
58
61
*[deepstream-preprocess-test](apps/deepstream-preprocess-test) -- multi-stream pipeline using nvdspreprocess plugin with custom ROIs
59
62
*[deepstream-demux-multi-in-multi-out](apps/deepstream-demux-multi-in-multi-out) -- multi-stream pipeline using nvstreamdemux plugin to generated separate buffer outputs
60
63
*[deepstream-imagedata-multistream-cupy](apps/deepstream-imagedata-multistream-cupy) -- access imagedata buffer from GPU in a multistream source as CuPy array - x86 only
0 commit comments