SuperAPI AI 工具集

jetson-video-setup

设计与创作

查看项目

更新于 10-16 10:21

技能介绍

用途:在真实 Jetson 设备上检查、安装、修复并验证 NVIDIA 原生 Video Codec SDK 或 PyNvVideoCodec 的就绪状态。先确定请求的是哪个产品:提到 Video Codec SDK、VC SDK、原生 SDK、nvidia-video-codec-sdk 时选原生;提到 PyNvVideoCodec、PyNv、PySDK、Python SDK 或明确 Python 接口时选 Python 版;只有用户同时要求两者时才都处理。仅说“video SDK”属于歧义,应先询问再停止,"report" 一词不能消除歧义。原生与 Python 工作相互独立,一方失败不影响另一方结果。

用法与流程:先确认命令运行在 Jetson 上,检查 /etc/nv_tegra_release、/etc/os-release 和指定 GPU 序号;在其他主机只给指导,不作就绪结论。只检查所选产品:原生版查看已安装包、包自带 Samples 树、CUDA 工具链和构建工具;Python 版使用用户给定的解释器或本次创建的解释器,检查已安装发行包与已加载模块,不扫描文件系统找虚拟环境。若只需检查,报告已装内容后停止——存在包或可导入只算已安装,不算就绪。若产品缺失且用户要求安装或修复,按参考文档执行,变更前展示确切包或 pip 命令。安装后重复直接检查,再运行该版本官方的一帧编码加独立解码。只有所选产品的官方编码与独立解码通过全部可观察检查才报告 ready,否则报告 installed、blocked 或 failed,并给出失败命令与一个具体下一步。

PyNv 环境选择:解释器优先级为用户显式路径、当前对话已确认路径、约定路径。冒烟解释器为 $HOME/.venvs/nvcodec/bin/python,全样本解释器为 $HOME/.venvs/nvcodec-full/bin/python。检查这些确切路径不算扫描。新建环境使用缺失的约定路径或用户自有位置的显式新绝对路径;约定路径已存在应先检查,有效则复用,否则报告其确切缺陷、保持原样并询问新路径。返回所选解释器路径供下游使用。

就绪验证:两个产品均用一张生成的 640×360 8 位 NV12 帧(345,600 字节)、H.264 编码和独立解码。原生需 AppEncCuda 报告编码一帧,AppDec 消费该非空码流、报告解码一帧并写出 345,600 字节 NV12 输出;PyNv 全样本需 basic/encode.py 与 advanced/decode.py 对应证据;pynvc-smoke 用同一编码证据加 advanced/decode_perf.py 报告一帧且无 worker 错误、警告或回溯,不声称原始解码文件。仅退出码为零或文件创建不足以判定。

限制:CPU 缓冲与设备内存样本模式只证明该确切就绪操作,不证明外部缓冲共享、零拷贝或同步原语;缓冲区契约需调用 jetson-video-pipeline。只读报告请求仅做只读检查,不构建样本、不创建工作区或 venv、不启动编解码、不修改包或现有 Python 环境。使用已配置且签名认证的仓库,NVIDIA SDK 与 CUDA 包须来自对应版本的公共 Jetson 仓库,不得添加或编辑源、密钥或绕过信任。APT 安装前检查候选与来源,运行 apt-get -s 模拟,拒绝移除、降级或意外包;用非交互 sudo -n,若不可用则停止,不用密码提示、su 或其他提权路径。APT 变更后运行 dpkg --audit,非空或失败即停止。原生与 Python 获取保持分离;仅 Python 请求不得安装 nvidia-video-codec-sdk,仅原生请求不得创建 venv。凭据不得出现在命令、日志和报告中,拒绝符号链接或意外安装目标,使用全新构建与输出路径。本地安装与冒烟结果不证明产品支持或该版本是最新兼容版本。PSNR、SSIM、DRM 播放、采集、推理或显示工作不由本技能负责,仅路由明确要求的视频编解码部分。