NVIDIA/DeepStream
GitHub: NVIDIA/DeepStream
NVIDIA 推出的 GPU 加速实时视频分析 SDK,基于 GStreamer 构建多流多模型推理 pipeline,覆盖边缘到云端的视觉 AI 部署。
Stars: 108 | Forks: 21
# DeepStream
[NVIDIA DeepStream SDK](https://developer.nvidia.com/deepstream-sdk) 是一个用于基于 AI 的视频和图像理解的流分析工具包,它提供了一个基于 GStreamer 的框架,以便在 NVIDIA GPU(dGPU 和 Jetson)上构建多流、多模型推理 pipeline。
DeepStream pipeline 结合了硬件加速的解码/编码、TensorRT 推理、目标追踪和消息代理(message broker)集成,从而在 dGPU 和 Jetson 平台上提供实时视频分析。
DeepStream 作为一个统一的 GitHub 仓库发布;其源代码使用本项目的 [LICENSE](LICENSE)(文档:CC-BY-4.0;源代码:Apache-2.0)。有关特定 GitHub Release 资产的许可证详情,可参阅 [DeepStream 发布资产](#deepstream-release-assets) 下的 [Release 资产许可证](#release-asset-license)。该项目处于积极维护状态,但目前不接受代码贡献——详情请参阅[贡献指南](#contribution-guidelines)。
# 概述
本仓库包含 DeepStream 9.1 的完整源代码。
**组件** ([`src/`](src/README.md)):
- [`src/gst-plugins/`](src/README.md#gstreamer-plugins) — DeepStream GStreamer 插件源码
- [`src/utils/`](src/README.md#utility-libraries) — 实用程序库源码
- [`src/apps/sample_apps/`](src/README.md#sample-applications) — 基于 GStreamer 的示例应用程序
- [`src/apps/reference_apps/`](src/README.md#reference-applications) — 高级参考应用程序
- [`src/apps/tao_apps/`](src/README.md#tao-apps) — TAO 模型集成应用程序
- [`src/service-maker/`](src/README.md#service-maker) — Service Maker C++/Python SDK 和应用程序
**工具** ([`tools/`](tools/)):
- [`inference_builder`](https://github.com/NVIDIA-AI-IOT/inference_builder/tree/3f0c09f2e3da076cbbb75e17bdebd565b03d1a18) — 可视化推理 pipeline 构建器
- [`auto-magic-calib`](https://github.com/NVIDIA-AI-IOT/auto-magic-calib/tree/bc5b1d9b3154d4242f147c35754670bc7981d37a) — 摄像头自动校准工具
- [`yolo_deepstream`](tools/yolo_deepstream/README.md) — YOLO + TensorRT 集成
- [`sam2-onnx-tensorrt`](tools/sam2-onnx-tensorrt/README.md) — SAM2 ONNX 到 TensorRT 的转换
- [`deepstream-host-provisioning`](tools/deepstream-host-provisioning/README.md) — Ansible playbook,用于为 Ubuntu 主机(x86_64 和 ARM SBSA)配置完整的 NVIDIA 计算栈(driver, CUDA, cuDNN, TensorRT, Docker)以及 DeepStream 依赖项
- [`deepstream-otelcol`](tools/deepstream-otelcol/README.md) — 用于流式指标的 OpenTelemetry Collector 设置
**AI 代理技能** ([`skills/`](skills/README.md),适用于 Claude Code 和兼容的编码代理):
- [`deepstream-dev`](skills/deepstream-dev/SKILL.md) — 常规 DeepStream 开发
- [`deepstream-generate-pipeline`](skills/deepstream-generate-pipeline/SKILL.md) — 交互式 `gst-launch` pipeline 构建器
- [`deepstream-profile-pipeline`](skills/deepstream-profile-pipeline/SKILL.md) — Nsight Systems 性能分析与配置推导
- [`deepstream-sop`](skills/deepstream-sop/SKILL.md) — SOP 步骤序列合规性微服务
- [`deepstream-import-vision-model`](skills/deepstream-import-vision-model/SKILL.md) — 自主视觉模型接入
- [`deepstream-run-mv3dt`](skills/deepstream-run-mv3dt/SKILL.md) — 在示例或自定义数据集上运行 MV3DT 参考应用程序
- [`amc-setup-calibration-stack`](skills/amc-setup-calibration-stack/SKILL.md) — 启动 AutoMagicCalib 微服务和 UI
- [`amc-run-sample-calibration`](skills/amc-run-sample-calibration/SKILL.md) — 使用内置的示例数据集验证 AMC
- [`amc-run-video-calibration`](skills/amc-run-video-calibration/SKILL.md) — 校准用户提供的 MP4 摄像头视频
- [`amc-run-rtsp-calibration`](skills/amc-run-rtsp-calibration/SKILL.md) — 通过 VIOS capture 校准实时 RTSP 摄像头流
# 环境要求
在构建之前,请确保已安装以下先决条件:
- **NVIDIA 计算栈** — driver, CUDA, cuDNN 和 TensorRT 的版本需与下文列出的相同。请参阅 [DeepStream SDK 安装指南](https://docs.nvidia.com/metropolis/deepstream/dev-guide/text/DS_Installation.html)。
- **DeepStream 9.1 专有运行时** — 预构建的库和示例数据作为 GitHub Release 资产发布。`bash build/build.sh` 会在构建过程开始之前,自动将这些包下载到 `artifacts/` 目录中。
# 快速入门
```
# 安装 Git LFS(reference apps 中 LFS-tracked 的示例媒体必需)
sudo apt-get install git-lfs && git lfs install
# 使用 submodules clone repo
git clone --recurse-submodules https://github.com/NVIDIA/DeepStream.git && cd DeepStream
```
请参阅 **[build/BUILD.md](build/BUILD.md)** 获取完整的构建说明,包括系统包依赖(x86, aarch64, SBSA / DGX Spark)、`build/build.sh` 的用法和环境变量(`CUDA_VER`、`NVDS_VERSION`、`INSTALL_METHOD`),以及位于 `/opt/nvidia/deepstream/deepstream-9.1/` 下的构建输出位置。
**支持的平台**
| 平台 | 架构 | 备注 |
|---|---|---|
| x86 dGPU | x86_64 | Ubuntu 24.04, CUDA 13.2, TensorRT 10.16.x, driver 595+ |
| Jetson | aarch64 | JetPack 7.2 GA (CUDA 13.2, TensorRT 10.16.x) |
| SBSA / DGX Spark | aarch64 | 不支持裸金属 DS 安装;请在 NVIDIA SBSA Docker 容器内构建和运行。仅构建开源组件——不安装任何构建产物。 |
```
# Build。该脚本仅在安装到系统路径时提示输入 sudo。
bash build/build.sh
```
# 用法
在运行 `bash build/build.sh` 之后,二进制文件将被安装到 `/opt/nvidia/deepstream/deepstream-9.1/bin/`。使用其中一个示例配置运行参考应用程序 `deepstream-app`:
```
cd /opt/nvidia/deepstream/deepstream-9.1/samples/configs/deepstream-app
deepstream-app -c source30_1080p_dec_infer-resnet_tiled_display.txt
# 首次安装后,如有需要请清除 GStreamer plugin cache:
rm -rf ~/.cache/gstreamer-1.0/
```
- 更多此类示例:[DeepStream 快速入门指南](https://docs.nvidia.com/metropolis/deepstream/dev-guide/text/DS_Quickstart.html#run-deepstream-app-the-reference-application)
- 详细的 API 参考:[DeepStream SDK 开发者指南](https://docs.nvidia.com/metropolis/deepstream/dev-guide/)
每个应用程序都必须在其源码目录下运行,以便正确解析相对配置路径。有关特定应用程序的运行说明和配置选项,请参阅每个应用程序目录内的 `README`。
## 结合 Triton Inference Server 运行 (Docker)
NVIDIA 发布了一个捆绑了 Triton Inference Server 的 DeepStream Docker 镜像。
```
# 一次性 NGC 登录(从 https://ngc.nvidia.com 获取 API key)
docker login nvcr.io # username: $oauthtoken, password:
# 拉取 image(在 SBSA / DGX Spark 上请改用 9.1-triton-arm-sbsa)
docker pull nvcr.io/nvidia/deepstream:9.1-triton-multiarch
# 启动并开启显示(在 headless 环境的 pipeline 中请使用 'fakesink')
export DISPLAY=:0 && xhost +
docker run -it --rm --gpus all --network=host \
-e DISPLAY=$DISPLAY -v /tmp/.X11-unix/:/tmp/.X11-unix \
nvcr.io/nvidia/deepstream:9.1-triton-multiarch
# 在 container 内部,运行 Triton-backed 示例
cd /opt/nvidia/deepstream/deepstream-9.1/samples/configs/deepstream-app-triton
deepstream-app -c source30_1080p_dec_infer-resnet_tiled_display.txt
```
**先决条件:** Docker (`docker-ce`)、[NVIDIA Container Toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html)、NVIDIA driver 595+ 以及 NGC API key。Triton 示例模型仓库位于 `/opt/nvidia/deepstream/deepstream/samples/triton_model_repo/`。对于基于 gRPC 的 Triton,请改用 `samples/configs/deepstream-app-triton-grpc/`。
# 文档
| 页面 | 描述 |
|------|-------------|
| [概述与架构](https://docs.nvidia.com/metropolis/deepstream/dev-guide/text/DS_Overview.html) | DeepStream 是什么、主要功能以及基于 GStreamer 的 pipeline 架构。 |
| [发行说明](https://docs.nvidia.com/metropolis/deepstream/dev-guide/text/DS_Release_notes.html) | 本次发布的新特性、支持的平台以及已知问题。 |
| [安装指南](https://docs.nvidia.com/metropolis/deepstream/dev-guide/text/DS_Installation.html) | 在 x86 和 Jetson 上逐步安装 NVIDIA 计算栈和 DeepStream SDK。 |
| [Docker 容器](https://docs.nvidia.com/metropolis/deepstream/dev-guide/text/DS_docker_containers.html) | 可用的 DeepStream NGC 容器镜像(包括 Triton 变体)以及如何拉取和运行它们。 |
| [DeepStream 示例](https://docs.nvidia.com/metropolis/deepstream/dev-guide/text/DS_C_Sample_Apps.html) | 内置 C/C++ 示例应用程序的参考指南以及每个程序的演示说明。 |
| [参考应用程序](https://docs.nvidia.com/metropolis/deepstream/dev-guide/text/DS_ref_app_github.html) | 托管在 GitHub 上的高级参考应用程序,展示了专用的端到端 pipeline。 |
| [TAO Apps](https://docs.nvidia.com/metropolis/deepstream/dev-guide/text/DS_TAO_integration.html) | 集成了 TAO 训练模型(检测、分类、分割、姿态、LPR)的 DeepStream 示例应用程序。 |
| [DeepStream 插件](https://docs.nvidia.com/metropolis/deepstream/dev-guide/text/DS_plugin_Intro.html) | 每个 DeepStream GStreamer 插件的参考说明——包括属性、pad caps 以及用法。 |
| [Service Maker](https://docs.nvidia.com/metropolis/deepstream/dev-guide/text/DS_service_maker_intro.html) | 使用 C++ / Python Service Maker SDK 以声明式方式构建 DeepStream pipeline。 |
| [Inference Builder](https://github.com/NVIDIA-AI-IOT/inference_builder/tree/3f0c09f2e3da076cbbb75e17bdebd565b03d1a18) | 使用 Inference Builder 工具以可视化方式组合和配置 DeepStream 推理 pipeline。 |
| [Auto Magic Calib](https://github.com/NVIDIA-AI-IOT/auto-magic-calib/tree/bc5b1d9b3154d4242f147c35754670bc7981d37a) | 用于多摄像头 DeepStream 部署的自动摄像头校准工具。 |
| [DeepStream 库](https://docs.nvidia.com/metropolis/deepstream/dev-guide/text/DS_Libraries.html) | 作为 `deepstream_libraries` 子模块捆绑的 DeepStream 实用程序和辅助库。 |
| [DeepStream 编码代理](https://docs.nvidia.com/metropolis/deepstream/dev-guide/text/DS_AI_Agent.html) | 将内置的 `skills/` 与 Claude Code 和其他 AI 编码助手结合使用,生成 DeepStream pipeline。 |
# 仓库结构
```
DeepStream/
├── .claude/ # Claude Code project-local config (settings, commands)
├── .github/ # GitHub workflows, issue templates, CODEOWNERS
├── build/
│ ├── BUILD.md # build instructions
│ └── build.sh # top-level build driver
├── example_prompts/ # example prompts for AI coding agents
├── includes/ # shared public headers (ds3d, nvdsinferserver, …)
├── scripts/
│ ├── install_artifacts.sh # installs proprietary libs + sample data to /opt
│ ├── install_opensource_deps.sh # builds open-source deps (OpenTelemetry, civetweb, …)
│ ├── install.sh # system integration (update-alternatives, pyservicemaker)
│ ├── uninstall.sh # removes a DeepStream installation from /opt
│ ├── triton_backend_setup.sh # sets up Triton inference server backends
│ ├── prepare_ds_triton_model_repo.sh # prepares the Triton model repository
│ ├── prepare_ds_triton_tao_model_repo.sh # prepares the Triton model repository for TAO models
│ ├── prepare_classification_test_video.sh # generates a classification test video
│ ├── rtpmanager/update_rtpmanager.sh # rtpjitterbuffer/rtsp EOS-hang fix script + patch files
│ └── print_env.sh # env diagnostic helper for bug reports
├── skills/
│ ├── amc-run-sample-calibration/ # AMC sample-dataset calibration skill
│ ├── amc-run-video-calibration/ # AMC custom-video calibration skill
│ ├── amc-run-rtsp-calibration/ # AMC RTSP-stream calibration skill
│ ├── amc-setup-calibration-stack/ # AMC microservice + UI launch skill
│ ├── deepstream-dev/ # general DS development skill
│ ├── deepstream-generate-pipeline/ # interactive gst-launch pipeline builder
│ ├── deepstream-profile-pipeline/ # Nsight Systems profiling & config derivation
│ ├── deepstream-sop/ # SOP step-sequence compliance microservice
│ ├── deepstream-import-vision-model/ # autonomous vision-model onboarding skill
│ └── deepstream-run-mv3dt/ # MV3DT reference-app operations skill
├── src/
│ ├── apps/ # sample, reference, and TAO sample applications
│ ├── gst-plugins/ # GStreamer plugin sources (per-plugin subdirs)
│ ├── gst-utils/ # GStreamer utility library sources
│ ├── service-maker/ # Service Maker C++/Python SDK and apps
│ └── utils/ # utility library sources (per-library subdirs)
├── deepstream_libraries/ # DeepStream utility and helper libraries (submodule)
├── deepstream_dockers/ # DeepStream dockers
└── tools/
├── auto-magic-calib/ # camera auto-calibration tool
├── deepstream-otelcol/ # OpenTelemetry Collector setup for streaming metrics
├── inference_builder/ # visual inference pipeline builder
├── deepstream-host-provisioning/ # Ansible playbooks for host provisioning (x86_64 & ARM SBSA)
├── sam2-onnx-tensorrt/ # SAM2 ONNX-to-TensorRT conversion
└── yolo_deepstream/ # YOLO + TensorRT integration
```
下表将现有的 NVIDIA-AI-IOT GitHub 仓库源映射到了它们在本仓库中的位置。
| NVIDIA-AI-IOT GitHub 仓库 | 在本仓库中的位置 |
| --------------------------------------------------------------------------------------- | ------------------------------------------------------ |
| [deepstream_tao_apps](https://github.com/NVIDIA-AI-IOT/deepstream_tao_apps) | [src/apps/tao_apps/](src/apps/tao_apps/) |
| [deepstream_reference_apps](https://github.com/NVIDIA-AI-IOT/deepstream_reference_apps) | [src/apps/reference_apps/](src/apps/reference_apps/) |
| [deepstream_tools](https://github.com/NVIDIA-AI-IOT/deepstream_tools) | [tools/](tools/) |
| [DeepStream_Coding_Agent](https://github.com/NVIDIA-AI-IOT/DeepStream_Coding_Agent) | [skills/](skills/README.md) |
| [inference_builder](https://github.com/NVIDIA-AI-IOT/inference_builder) | [tools/inference_builder/](tools/inference_builder/) |
| [auto-magic-calib](https://github.com/NVIDIA-AI-IOT/auto-magic-calib) | [tools/auto-magic-calib/](tools/auto-magic-calib/) |
| [deepstream_dockers](https://github.com/NVIDIA-AI-IOT/deepstream_dockers) | [deepstream_dockers/](deepstream_dockers/) |
| [deepstream_libraries](https://github.com/NVIDIA-AI-IOT/deepstream_libraries) | [deepstream_libraries/](deepstream_libraries/) |
# 性能
基准测试摘要;有关详细的性能数据和使用的硬件,请参阅 [DeepStream 性能指南](https://docs.nvidia.com/metropolis/deepstream/dev-guide/text/DS_Performance.html)。
# 发布与路线图
- **发布 / 更新日志:** [CHANGELOG.md](./CHANGELOG.md)
## DeepStream 发布资产
以下 `.deb` 和 `.tar` 构建产物作为 GitHub Release 资产发布。`build/build.sh` 会在安装前自动将它们下载到 `artifacts/` 目录中:
### Debian 软件包 (`.deb`)
| 资产 | 架构 | 描述 |
|---|---|---|
| `deepstream-9.1_9.1.0-1_amd64.deb` | x86_64 | 用于 x86 dGPU 的 DeepStream 9.1 SDK Debian 软件包。 |
| `deepstream-9.1_9.1.0-1_arm64.deb` | aarch64 | 用于 Jetson 的 DeepStream 9.1 SDK Debian 软件包。 |
| `deepstream-binaries-x86_9.1.0_amd64.deb` | x86_64 | 用于 x86 的预构建专有运行时库。 |
| `deepstream-binaries-aarch64_9.1.0_arm64.deb` | aarch64 | 用于 Jetson 的预构建专有运行时库。 |
| `deepstream-sample-data_9.1.0.deb` | all | 示例模型、配置和视频流。 |
### Tarball 压缩包 (`.tar.gz` / `.tbz2`)
| 资产 | 架构 | 描述 |
|---|---|---|
| `deepstream_sdk_v9.1.0_x86_64.tbz2` | x86_64 | 用于 x86 dGPU 的 DeepStream 9.1 SDK tarball。 |
| `deepstream_sdk_v9.1.0_jetson.tbz2` | aarch64 | 用于 Jetson 的 DeepStream 9.1 SDK tarball。 |
| `deepstream-binaries-x86_9.1.0.tar.gz` | x86_64 | 用于 x86 的预构建专有运行时库。 |
| `deepstream-binaries-aarch64_9.1.0.tar.gz` | aarch64 | 用于 Jetson 的预构建专有运行时库。 |
| `deepstream-sample-data_9.1.0.tar.gz` | all | 示例模型、配置和视频流。 |
### Python wheels(`.whl`)
| 资产 | 架构 | 描述 |
|---|---|---|
| `deepstream_libraries-1.4-cp312-cp312-linux_x86_64.whl` | x86_64 | 用于 x86 的 DeepStream Libraries Python wheel (CPython 3.)。 |
### 下载安装程序
可以通过命令行使用 `curl` 或 `wget` 下载 Release 资产。
**curl**
```
curl -LO 'https://github.com/NVIDIA/DeepStream/releases/download/v9.1.0/deepstream-9.1_9.1.0-1_amd64.deb'
```
**wget**
```
wget --content-disposition 'https://github.com/NVIDIA/DeepStream/releases/download/v9.1.0/deepstream-9.1_9.1.0-1_amd64.deb'
```
## Docker 镜像
DeepStream Docker 镜像通过 NGC 发布。请从 [DeepStream NGC 容器目录](https://catalog.ngc.nvidia.com/orgs/nvidia/-/containers/deepstream/-?_lr=1) 浏览并拉取镜像。
## 安全
- 漏洞披露:请在 [Issues](https://github.com/NVIDIA/DeepStream/issues) 提交问题。
- 请勿针对安全报告提交公开的 issue。
## 支持
- 级别:积极维护
- 如何获取帮助:[Issues](https://github.com/NVIDIA/DeepStream/issues) / [DeepStream SDK 开发者论坛](https://forums.developer.nvidia.com/c/accelerated-computing/intelligent-video-analytics/deepstream-sdk/15)
- 提交 Bug?请使用 [bug 报告模板](.github/ISSUE_TEMPLATE/bug_report.md) 并包含:平台(x86 / Jetson / SBSA)、DeepStream 版本、安装方式(Debian / Docker / 源码)以及 `scripts/print_env.sh` 的输出。
# 参考
- [DeepStream NGC 容器](https://catalog.ngc.nvidia.com/orgs/nvidia/containers/deepstream) — 预构建的运行时镜像(同时捆绑了 Triton)。
- [NVIDIA TAO Toolkit](https://developer.nvidia.com/tao-toolkit) — 模型训练/优化,TAO 示例应用程序的来源。
- [GStreamer 文档](https://gstreamer.freedesktop.org/documentation/) — 底层框架。
# 许可证
本项目基于 [CC-BY-4.0 AND Apache-2.0](./LICENSE) 许可证授权。
- SPDX-License-Identifier: CC-BY-4.0 AND Apache-2.0
### Release 资产许可证
所有 GitHub Release 资产(`deepstream-binaries-*` 和 `deepstream-sample-data_*` 名称下的 `.deb` 软件包和 `.tar.gz` tarball)均受 [NVIDIA 软件开发工具包软件许可协议](https://developer.download.nvidia.com/assets/Deepstream/DeepStream_6.0/NVIDIA_DeepStream_SDK_EULA_6.0.pdf) 约束,请参阅包含在所有 GitHub Release 资产包中的“LicenseAgreement”。
## 第三方许可证/声明
有关所有第三方开源许可证和声明,请参阅 [THIRD_PARTY_LICENSES](./THIRD_PARTY_LICENSES.txt)
标签:GStreamer, NVIDIA GPU, TensorRT, Vectored Exception Handling, 机器学习推理, 用户代理, 系统提示词, 视频分析, 计算机视觉, 请求拦截, 边缘计算, 逆向工具