mcpField
J
jetson-video-capability

jetson-video-capability

github.com/nvidia开发3.8k56 次安装今天更新
代码仓库

关于 jetson-video-capability

jetson-video-capability 用于评估 NVIDIA Jetson 的视频编码和解码能力。它区分 API 报告、经过认证的样例结果与产品支持文档,并将不确定结果标记为未知。

主要功能

  1. 01查询 PyNvVideoCodec 能力
  2. 02获取原生样例报告
  3. 03将精确 Jetson 产品与支持矩阵核对
  4. 04区分能力报告与已验证操作
  5. 05保留证据并标记未知结果

适用场景

  1. 01检查 Jetson 设备的编解码能力
  2. 02评估特定产品的文档支持情况
  3. 03验证指定的编码或解码操作

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/nvidia/skills --skill jetson-video-capability

安装后在 Claude Code 中输入/jetson-video-capability确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

BENCHMARK.md
skill-card.md
skill.oms.sig
evals/
evals.json
references/
capability-queries.md
surface-selection-contract.md

详细介绍

Jetson 视频能力

将以下三类依据分开:

  • API 查询:原始字段,绝不能作为操作能力或产品支持的证明。
  • 经过身份验证的 NVIDIA 示例:报告或确切的操作证据。
  • 适用的 NVIDIA 文档:产品支持结论。

范围门槛

  • 如果请求仅涉及 PSNR、SSIM 或其他客观质量指标,请说明此技能不提供这些指标,需要另行授权质量工作流;除此之外不做任何操作。
  • 如果涉及 Netflix、Widevine、PlayReady 或明显受内容保护的流媒体,只说明此技能涵盖对用户提供的非 DRM 码流进行硬件编码/解码,不涵盖内容 DRM 播放。不要声称相关服务是否可用,不要描述 Jetson 认证、CDM 或安全播放要求,也不要推荐浏览器、DRM 模块、变通方法或绕过方式;然后停止。如果未加限定的“DRM”可能指 Linux DRM/KMS,且上下文无法判断其含义,请询问用户所指为何。
  • 单独提到“视频 SDK”含义不明确:在探测之前,询问用户指的是原生 Video Codec SDK、PyNvVideoCodec,还是两者。其他未加限定的能力请求,使用 surface-selection-contract.md 中优先选择原生接口的回退方案。

只读发现

能力工作依赖 jetson-video-setup 完成一次最新的只读安装检查。通过公开调度调用该技能,并使用其报告的确切原生软件包/Samples 根目录,或确切的 PyNvVideoCodec 解释器、版本和已加载模块路径。不要定位或导入 setup 的文件。接口缺失或不匹配时,结果应为 unknown/not_ready,绝不能判定为不支持编解码器;应将修复工作交由 setup 处理,且此处不得进行任何修改。

引擎能力查询应在此处进行,而非在 setup 中进行。对于 PyNvVideoCodec,使用确切选定的解释器,按照 capability-queries.md 中的说明调用公开的 GetEncoderCaps 和 GetDecoderCaps API。广泛的编码器目录涵盖 H.264、HEVC 和 AV1;广泛的解码器目录涵盖 10 个系列,覆盖 4 种色度格式和 3 种位深(共 120 个确切的元组)。范围有限的请求仅查询适用目录集合中明确指定的成员。保留所有范围内的记录、错误和 GPU 序号。如果公开辅助函数仅选择 GPU 0,则针对非 0 号 GPU 的辅助函数结果仍应视为未知。

对于原生报告,请重复使用经过身份验证的、由软件包提供的二进制文件,或仅在新建的用户所有目录树中构建所需的报告目标;随后按照能力参考中的构建、身份和语法规则运行 AppEncCuda -ec 和/或 AppDec -dc。仅查询的请求不授权安装软件包,也不授权执行编码/解码操作。如果无法确认软件包、源代码、工具、解释器或运行时库的身份,请将结果报告为 unknown,并指出缺少的 setup 前置条件。

决策流程

  1. 在进行任何探测前,先分类范围并选定接口。
  2. 仅查询所选接口。保留原始记录、错误、精确的 GPU、发布版本、解释器/二进制文件身份、argv 和证据分类。
  3. 使用 capability-queries.md 中的设备树路径和 NUL 处理方式,确定最精确的实时产品身份,然后对照 NVIDIA 当前的 Video Encode and Decode Support Matrix 以及与发布版本匹配的 SDK 13.0 NVENC 或 NVDEC 应用说明进行交叉核验。切勿根据记忆、引擎数量、功能字段或操作行为推断 SKU。使用该参考资料的手动采集记录,保留来源 URL、检索日期、表格标题、精确的行/列标签和单元格值。 通用系列身份仍不属于精确身份;只有在所有经过身份验证的候选项一致时,才能采用候选行共识。
  4. 即使 API 或诊断操作结果为正,文档中的 No 仍须作为最终的不受支持产品判定;这会结束常规可用性检查。文档中的 Yes 表示有文档记录的支持;要确认实时可用性,还需要匹配的已验证操作。文档缺失、无法检索或存在冲突时,结果仍为未知。 当文档结果未知时,不要将正向功能字段表述为可用选项:在这些字段旁将每个受影响的编解码器标为 unknown,并在判定中说明检索失败。
  5. 对 PyNvVideoCodec 的编码可用性操作,请求 setup 的 full-samples 配置文件,并在配方和流水线阶段中使用其精确的解释器。不要选择较小的 decode-performance/smoke 配置文件。
  6. 仅当用户请求检查实时可用性且文档判定为正面或未知,或用户明确要求尽管判定为负面仍执行诊断时,才运行精确操作。若文档为 No,诊断只报告该精确元组的 operation_verified 或 operation_failed,绝不改变产品不受支持的判定。元组指经过测试的精确接口、GPU、编解码器、配置文件、色度、位深、尺寸、输入格式和控制集。使用 jetson-video-recipe 确定一个配方,然后使用 jetson-video-pipeline 进行编码,再对精确输出身份进行独立解码。元组测试失败不得推广为产品整体结论。

证据规则

  • GetEncoderCaps 成功表示 capability_reported,supported=null, operation_status=not_tested。
  • GetDecoderCaps 的 bIsSupported=1/0 记录 API 原始的 true/false 值,以及返回的限制是否适用;这两个值都不是文档结论。
  • 缺失的枚举、调用、字段、前置条件或非零 GPU 权限均属未知,不能判定为不支持。
  • 原生 -ec/-dc 文本属于 official_sample_report;保留原始值,绝不可将其改写为 API 或产品声明。
  • 报告 Main10 支持情况时,注明 NVENC 可以在内部转换经过验证的 8-bit 输入,而 P010 是不进行输入位深转换的精确路径;实时声明仍须经过已验证的 10-bit 操作。
  • 只有在流水线中由软件包自带的解码器处理确切的产物,并报告预期的帧数后,AV1 输出才构成操作证据。
  • 对于 VP9 编码问题,只报告 VP9 仍属于解码器系列,且没有已发布的 NVENC 路径。不要添加其他编码器的一般列表,也不要提供诊断性编码操作。
  • 预设、调优、软件包是否存在、吞吐量以及并发流成功运行,均不能证明编解码器支持情况或 NVENC/NVDEC 引擎数量。
  • 编解码器/API 能力、NVENC/NVDEC 可用性以及有界操作成功,均不能证明 DMA-BUF、NvSciBuf、CUDA 内存共享、零拷贝或跨阶段同步兼容性。

对于 Python API 查询,请根据此 Markdown 和已安装的公开 SDK 编写一个简短的任务专用程序,使用精确选定的解释器运行,并将原始输出与结果一并保留。安装属于设置阶段,操作验证属于流水线阶段。本技能负责引擎查询、分类、文档核对,以及上述精简的直接报告。

评论

支持 Markdown