用途:该技能用于 NVIDIA DeepStream SDK 开发,基于 Python pyservicemaker API 构建视频分析流水线,涉及 GStreamer 视频处理与 TensorRT 推理。执行工作流前需确保 references/ 目录下的参考文档可用,生成代码前应先阅读相关文档,不要凭记忆编写。
主要能力:覆盖典型流水线 Source → Stream Muxer → Inference → [Tracker] → OSD → Renderer,其中 Tracker、二级 GIE、Analytics、消息代理等仅在用户明确要求时添加。支持 nvurisrcbin 处理 RTSP、HTTP 与本地文件,nvstreammux 批处理,nvinfer/nvinferserver 推理,nvtracker 跟踪,nvosdbin 叠加,以及 nveglglessink、nv3dsink、filesink 输出。使用 NVMM 零拷贝 GPU 缓冲,caps 含 memory:NVMM。
使用方式:源默认用 nvurisrcbin,本地路径转为 "file://" + os.path.abspath(path);RTSP 直播源需设 live-source=1 与 sync=0。元数据用 .frame_items 和 .object_items 迭代器,不能用 len(),且只能消费一次。请求 pad 用 "sink_%u" 模板。异步处理需克隆 buffer。队列类型需匹配线程或进程。nvinfer 配置 YAML 用 property: 段,INI 用 [property]。tee 分流或动态源时所有 sink 需 async=0。动态 ONNX 模型需加 infer-dims=C;H;W。虚拟环境需安装 pyservicemaker 与 pyyaml。
适用场景:视频分析流水线、多路流推理、目标检测与跟踪、可视化叠加、Kafka 消息、REST API 动态源管理等。
限制:WSL2 Ubuntu 24 Docker 下禁用显示 sink,仅输出 MP4;measure_fps_probe 不能挂到 sink 元素;平台 sink 选择需按架构判断。具体版本要求与路径见资料,未提供的信息暂未说明。