This directory contains the source for all DeepStream 9.1 components shipped from this repository, along with platform-specific notes, external-prerequisite caveats, and deprecation status.
For build and install instructions, see build/BUILD.md.
Located in apps/sample_apps/. These apps demonstrate core DeepStream pipeline patterns using GStreamer APIs directly.
See apps/sample_apps/README.md for the full list with descriptions and run commands. Each app has its own README at apps/sample_apps/<app>/README.
Located in apps/reference_apps/. Advanced apps demonstrating specialized use cases.
See apps/reference_apps/README.md for details. Each app has its own README at apps/reference_apps/<app>/README.
Located in apps/tao_apps/. Sample applications for running NVIDIA TAO Toolkit models with DeepStream.
See apps/tao_apps/README.md for supported models, build, and run instructions.
Supported models include: PeopleNet Transformer, CitySemSegFormer, Mask2Former, Re-Identification, BodyPose3DNet, PoseClassification, OCDNet, OCRNet, LPDNet, LPRNet, Retail Detector, Retail Object Recognition.
Located in service-maker/. A C++ and Python SDK that abstracts GStreamer/GLib APIs for building DeepStream applications declaratively.
See service-maker/README.md for build instructions, API overview, and app list. See also the Service Maker introduction.
- C++ apps —
service-maker/sources/apps/cpp/ - Python apps —
service-maker/sources/apps/python/(flow API and pipeline API) - Modules — reusable signal handlers, probes, video sinks/sources, and more
Located in gst-plugins/. Source for all DeepStream GStreamer plugins.
See gst-plugins/README.md for the full list. Each plugin has its own README at gst-plugins/<plugin>/README with properties and usage. See also the DeepStream Plugins introduction.
Located in gst-utils/. Each utility has its own README at gst-utils/<utility>/README:
Located in utils/.
See utils/README.md for the full list. Each library has its own README at utils/<library>/README.
| Component | Platform | Notes |
|---|---|---|
deepstream-ipc-test |
Jetson (aarch64) only | Relies on NVDEC engine sharing not available on x86 or SBSA |
deepstream-multigpu-nvlink-test |
x86 dGPU only | Requires NVLink; not supported on Jetson |
deepstream-ucx-test |
x86 only | No UCX support shipped for aarch64 or SBSA; skipped by build/build.sh on those platforms |
The following components build successfully only when the listed external SDK is installed on the system. See each component's README for installation links and setup details.
| Component | External Prerequisite | Details |
|---|---|---|
gst-dsexample-cuda |
OpenCV 4.x built with CUDA support | gst-plugins/gst-dsexample-cuda/README |
gst-nvdsudp |
Rivermax SDK (rivermax_api.h) |
gst-plugins/gst-nvdsudp/README |
libnvdsgst_inferserver |
Triton Inference Server client | gst-plugins/gst-nvinferserver/README |
Components that use nvinferserver (Gst-nvinferserver / Triton) require the Triton Inference Server and its backends to be available before use. Setup differs by platform.
On x86 dGPU platforms, run these components inside DeepStream's Triton Inference Server container, which ships with Triton and the supported backend libraries pre-installed.
- Pull the container (
[version]is the DeepStream version, e.g.9.1):
docker pull nvcr.io/nvidia/deepstream:[version]-triton- Allow applications to connect to the host X display and start the container with the correct GPU id:
xhost +
docker run --gpus '"device=0"' -it --rm -v /tmp/.X11-unix:/tmp/.X11-unix \
-e DISPLAY=$DISPLAY --net=host nvcr.io/nvidia/deepstream:[version]-tritonThe DeepStream Triton container already includes Triton Server and backends. To run Triton bare-metal (directly on a Jetson device), the Triton Server must be set up first.
- Run the backend setup script (must be run as root) and export the Triton paths:
cd <DS_ROOT>/scripts/
sudo ./triton_backend_setup.sh
export PATH="${PATH:+${PATH}:}/opt/tritonserver/bin"
export LD_LIBRARY_PATH="${LD_LIBRARY_PATH:+${LD_LIBRARY_PATH}:}/opt/tritonserver/lib"Notes:
- By default the script downloads Triton Server version 2.60.0. For setting up any other version, change the package path accordingly. Without running this script and exporting the paths above, components using
nvinferserverfail at runtime on Jetson.- The script extracts the Triton server executable to the
/opt/tritonserver/binfolder. To run both the Triton server and DeepStream applications on the same Jetson device, use the following steps to start the Triton server:cd /opt/tritonserver/bin ./tritonserver --model-repository=/opt/nvidia/deepstream/deepstream/samples/triton_model_repo # Or for TAO Toolkit models: ./tritonserver --model-repository=/opt/nvidia/deepstream/deepstream/samples/triton_tao_model_repoNote:
<DS_ROOT>is the path where the repo is cloned.
Some Triton classification samples require a classification test video. Prepare it as follows:
- Install
ffmpeg(a prerequisite for the next step):
sudo apt-get update && sudo apt-get install ffmpeg- Generate the classification video stream into
samples/streams/classification_test_video.mp4:
cd <DS_ROOT>/scripts/
./prepare_classification_test_video.shNote: You can also copy your own classification video files to the same location instead of running this step.
The following steps download/generate the sample models used by the Triton configs (run on both x86 inside the container and Jetson):
- Prepare the TensorRT and ONNX sample models into
samples/triton_model_repo:
cd <DS_ROOT>/scripts/
./prepare_ds_triton_model_repo.sh- Prepare NVIDIA TAO Toolkit models (e.g. PeopleNet Transformer) into
samples/triton_tao_model_repo:
cd <DS_ROOT>/scripts/
./prepare_ds_triton_tao_model_repo.shNote: Run the scripts with
sudo -Eor as root if there are file-permission issues.
For gRPC-based Triton usage, the same setup applies; Triton Server runs in a separate DeepStream Triton container (x86) or on the L4T host (Jetson), and the client communicates over gRPC.
The following components are legacy and no longer maintained. They are still shipped with the DeepStream 9.1 public release but have been excluded from this repository. Deprecation was announced as part of the DS 9.1 public release.
deepstream-audiodeepstream-avsyncdeepstream-mrcnn-testdeepstream-segmentation-testdeepstream_asr_appdeepstream_asr_tts_app
gst-nvdsA2Vtemplategst-nvdsaudiotemplategst-nvdsspeechgst-nvdstexttospeech
For component details, source, and configuration, refer to the DeepStream 9.1 public release documentation.