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, 机器学习推理, 用户代理, 系统提示词, 视频分析, 计算机视觉, 请求拦截, 边缘计算, 逆向工具