This repository contains Python bindings and sample applications for the DeepStream SDK. SDK version supported: 6.4
This release only supports Ubuntu 22.04 for DeepStreamSDK 6.4 with Python 3.10 and gst-python 1.20.3! Ubuntu 20.04 for DeepStreamSDK 6.3 with Python 3.8 support is NOW DEPRECATED
The bindings sources along with build instructions are available under bindings! We include one guide for contributing to bindings and another guide for advanced use-cases such as writing bindings for custom data structures.
Download the latest release package complete with bindings and sample applications from the release section.
Please report any issues or bugs on the DeepStream SDK Forums. This enables the DeepStream community to find help at a central location.
Python Bindings
DeepStream pipelines can be constructed using Gst Python, the GStreamer framework’s Python bindings. For accessing DeepStream MetaData, Python bindings are provided as part of this repository. This module is generated using Pybind11.
These bindings support a Python interface to the MetaData structures and functions. Usage of this interface is documented in the HOW-TO Guide and demonstrated in the sample applications.
Python Bindings Breaking API Change
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 and bindschema.cpp for reference.
Sample Applications
Sample applications provided here demonstrate how to work with DeepStream pipelines using Python.
The sample applications require MetaData Bindings to work.
To run the sample applications or write your own, please consult the HOW-TO Guide
We currently provide the following sample applications:
- deepstream-test1 — 4-class object detection pipeline, also demonstrates support for new nvstreammux
- UPDATED deepstream-test2 — 4-class object detection, tracking and attribute classification pipeline – now uses new names for tracker meta data types in DS 6.4
- deepstream-test3 — multi-stream pipeline performing 4-class object detection, also supports triton inference server, no-display mode, file-loop and silent mode
- UPDATED deepstream-test4 — msgbroker for sending analytics results to the cloud – now supports MQTT protocol adaptor
- deepstream-imagedata-multistream — multi-stream pipeline with access to image buffers
- deepstream-ssd-parser — SSD model inference via Triton server with output parsing in Python
- deepstream-test1-usbcam — deepstream-test1 pipeline with USB camera input
- UPDATED deepstream-test1-rtsp-out — deepstream-test1 pipeline with RTSP output – now demonstrates adding software encoder option to support Jetson Orin Nano
- deepstream-opticalflow — optical flow and visualization pipeline with flow vectors returned in NumPy array
- deepstream-segmentation — segmentation and visualization pipeline with segmentation mask returned in NumPy array
- deepstream-nvdsanalytics — multistream pipeline with analytics plugin
- runtime_source_add_delete — add/delete source streams at runtime
- deepstream-imagedata-multistream-redaction — multi-stream pipeline with face detection and redaction
- 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
- deepstream-preprocess-test — multi-stream pipeline using nvdspreprocess plugin with custom ROIs
- deepstream-demux-multi-in-multi-out — multi-stream pipeline using nvstreamdemux plugin to generated separate buffer outputs
- deepstream-imagedata-multistream-cupy — access imagedata buffer from GPU in a multistream source as CuPy array – x86 only
- deepstream-segmask — access and interpret segmentation mask information from NvOSD_MaskParams
- deepstream-custom-binding-test — demonstrate usage of NvDsUserMeta for attaching custom data structure – see also the Custom User Meta Guide
Detailed application information is provided in each application’s subdirectory under apps.
GITHUB REPOSITORY
https://github.com/NVIDIA-AI-IOT/deepstream_python_apps
- All rights reserved to the respective owners/authors