mcpField
J
jetson-video-benchmark

jetson-video-benchmark

github.com/nvidia测试与质量3.8k69 次安装今天更新
代码仓库

关于 jetson-video-benchmark

jetson-video-benchmark 是用于测量 Jetson 编解码阶段吞吐量并依据文档性能数据生成估算的技能。它支持编码、解码、预设比较和工作线程容量测试,并校验工作负载与结果。

主要功能

  1. 01测量编码和解码吞吐量
  2. 02比较预设并测试容量
  3. 03生成无媒体文档估算
  4. 04校验输入与输出

适用场景

  1. 01测量指定 Jetson 工作负载的编解码 FPS
  2. 02比较目标设备上的预设吞吐量
  3. 03依据 SDK 文档数据估算性能

安装

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

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

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

包含的文件

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

BENCHMARK.md
skill-card.md
skill.oms.sig
evals/
evals.json
references/
benchmark-output-contract.md
benchmark-workflow.md
documented-performance-estimates.md

详细介绍

Jetson 视频基准测试

用途

针对有依据的目标和确切工作负载,测量编解码阶段的 FPS 和每秒百万像素数。支持的实时路径包括编码、解码、P4/P5 对比,以及严格递增的工作线程容量扫描。单独的无媒体路径会计算明确标注的 SDK 文档估算值;绝不声称这些是测量结果。

终止关卡

  1. 如果请求仅涉及 PSNR 或 SSIM,请说明客观质量评估不在此技能范围内,需要单独授权的工作流,然后停止。仅返回该范围说明。不要附加其他基准测试或后续步骤,不要提及其他工具、索要媒体、探测或安装任何内容。
  2. 在探测或计算前确定编解码方向。明确的编码或解码措辞优先。否则,质量、预设、码率、码率控制、录制或压缩输出措辞表示编码;明确的压缩输入、摄取、播放或 IP/RTSP 输入表示解码。将通用摄像头数量措辞(如“连接”或“处理”)以及摄像头或设备上的编解码器名称视为方向中性。搁置中性措辞,根据其余线索确定方向;中性线索不会造成冲突。对于以编码为主的摄像头估算,说明 NVDEC 仅适用于摄像头已输出所述压缩编解码格式的情况,保持编码为主要方向,并在给出规划场景后请用户确认方向。如果非中性线索相互冲突或缺失,请列出两种解释,说明要得到唯一的编码估算还需要确切的预设,而测量验证需要有代表性的输入,然后询问适用哪个方向,并在该关卡停止。 转码会分别消耗解码和编码预算:应按受支持的解码和编码路径分别测量并单独报告各项预算,绝不可将其报告为一个合并的 FPS。
  3. 明确要求实时/运行/真实/实际测量时,每个请求的方向都需要有代表性的输入:编码需要提供含格式、几何尺寸和帧数的原始帧;解码需要提供压缩基本码流或容器。每项输入都必须是目标设备本地的确切路径,或用户提供的 HTTP(S) URL。如果缺少任何输入,只返回 input_required,并在读取工作流参考资料或同级技能、探测、身份验证、处理配方或创建工作区之前,询问缺少的项目,包括每个请求方向各自的确切路径或 URL。绝不对设置冒烟测试夹具进行基准测试,也不得用目录媒体替代。
  4. 无媒体的规划/预期/参考性问题应遵循documented-performance-estimates.md。需要确切的文档条目;若为缩放估算,还需要时钟来源。将 measurement_performed: false 设为未执行测量。逐字节保留该参考文件。未提供预设、每路 FPS 或流组合不会阻止规划:应列出参考资料中有界的文档候选项和场景,披露所有假设,并询问缺少的值。

实时预检

完整阅读一次 benchmark-workflow.md,然后应用其中的预检部分。保留明确指定的 native、pynvc 和 both;将委派选择映射为 auto。通过 jetson-video-setup 获取最新的只读就绪状态,并传入本对话中已提供或确认的任何确切解释器。否则,设置过程会检查常规配置文件路径。对于 auto,可用表面为 0 个时阻止执行,1 个时运行,2 个时返回 selection_required。Python 编码和对比需要 full-samples 环境;解码性能可使用 pynvc-smoke。

编码、对比和编码容量测试还需要由 jetson-video-recipe 提供经过验证的 schema-2 配方。缺少依赖项时,应以 dependency_required 停止该分支;符合条件的同级分支可以继续,并标记为 partial。

测量

  1. 遵循同一份参考文档中的样本允许列表、构建、直接参数列表、帧数核算、选项检查、标记语法、比较和工作线程扫描。
  2. 显示试运行计划,然后使用全新且权限为 0700 的工作区。每次使用前立即对每个启动器进行身份验证,并按其原样的参数列表启动。
  3. 每个变体和运行环境都运行一次不计入结果的完整进程预热,以及至少三个新的测量进程;每次运行都必须设置有限超时,且不得使用 -loop。
  4. 仅当样本报告的 FPS 与其正值标记和已处理帧数相符时,才予以采信。遵循 benchmark-output-contract.md 中的所有身份、工作负载、标记和统计检查。

报告

保留每次启动的未编辑输出,并按 benchmark-output-contract.md 中的说明编写简洁结果。报告每次重复的结果、重新计算的均值/最小值/最大值;仅在尺寸由样本确定时报告 MP/s;同时报告部分分支、限制和重试原因。将工作线程扫描标注为编解码阶段的容量上限估计,将预设比较标注为仅比较吞吐量。

限制

  • 结果仅适用于有证据支持的目标、发行版、时钟频率、样本、内容、帧范围和控件;不可将其视为可移植的产品上限。
  • 不要插值推测未文档化的预设,也不要跨格式、位深度、色度、编解码器、码率控制或调优方式进行缩放。仅当估算参考文档明确标注像素面积启发式时,才允许按分辨率缩放。
  • 按引擎保留文档中的估算值;仅在估算参考文档明确规定了聚合规划规则时,才使用适用于所有引擎的乘数。
  • PyNvVideoCodec 2.1 的编码性能辅助工具会将每个工作线程的帧数限制为 1,000;请遵循工作流中的共同帧数规则。
  • 保留 input_required、selection_required、dependency_required、blocked、partial 和 failed;不要将同类工具的成功状态升级为当前工具的成功状态。

评论

支持 Markdown