Skip to content
Development
Skill

/jetson-video-benchmark

Use when measuring Jetson Video Codec SDK or PyNvVideoCodec encode/decode throughput, comparing presets or surfaces, testing codec-worker capacity with authenticated samples and user media, or producing a documented clock-scaled or clock-and-resolution-scaled planning estimate

From plugin
nvidia-skills
3.3k200 skills
Install
$ npx -y skills add NVIDIA/skills --skill jetson-video-benchmark --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/jetson-video-benchmark

Context preview

The summary Claude sees to decide when to auto-load this skill.

Use when measuring Jetson Video Codec SDK or PyNvVideoCodec encode/decode throughput, comparing presets or surfaces, testing codec-worker capacity with authenticated samples and user media, or producing a documented clock-scaled or clock-and-resolution-scaled planning estimate

SKILL.md

jetson-video-benchmark.SKILL.md
name: jetson-video-benchmark
license: "Apache-2.0"
description: >-
  Use when measuring Jetson Video Codec SDK or PyNvVideoCodec encode/decode
  throughput, comparing presets or surfaces, testing codec-worker capacity
  with authenticated samples and user media, or producing a documented
  clock-scaled or clock-and-resolution-scaled planning estimate when
  representative content is unavailable.
  Also use for Jetson video requests asking only for PSNR or SSIM results, to
  apply this performance skill's scope-only response.
metadata:
  author: "Vinit Bansal <vinitkumarb@nvidia.com>"
  tags: [jetson, video-codec-sdk, pynvvideocodec, benchmark, nvenc, nvdec]
  languages: [python]
  data-classification: public

Jetson Video Benchmark

Purpose

Measure codec-stage FPS and megapixels/second on the current Jetson. Use this skill for encode or decode throughput, P4/P5 comparisons, native-versus-Python comparisons, and increasing-worker capacity tests. When content is unavailable, it can instead produce a clearly labeled SDK-documentation estimate for an exact supported 1080p table row and target maximum video clock. For another requested resolution, it may additionally apply the bounded pixel-area heuristic defined in the estimate reference. Never present either estimate as a target measurement.

Prerequisites

  • For a live measurement:
  • Run on the target Jetson with direct GPU access. A fresh validated

`nvcodec-environment` identity from `jetson-video-setup` is optional; when supplied, it is authoritative and any invalid or stale identity fails without local fallback. The agent may obtain that identity from setup's public read-only probe; it need not be present in the customer's prompt.

  • Without that identity, native routes inspect only the installed

`nvidia-video-codec-sdk` APT package and its package-owned official sample sources. PyNvVideoCodec routes require an authenticated setup environment or the caller's exact absolute `pynvc_interpreter`; never scan for a venv. Before asking the customer for that path, invoke setup's public probe when that skill is installed and inspect its typed result. These read-only checks install, repair, register, and smoke-test nothing. Only when neither authority is usable does an explicit `pynvc` or `both` request return `input_required`; local `auto` records PyNvVideoCodec as `not_evaluated` and may continue an eligible native branch.

  • A PyNvVideoCodec decode-only performance route can use a validated default

`pynvc-smoke` environment. A Python encode or compare route uses official samples that import Torch and therefore requires a separately provisioned `full-samples` venv; never upgrade the smoke venv in place.

  • Live encode, compare, and encode-capacity routes require sibling

`jetson-video-recipe` and an exact portable identity for one of its validated schema-2 recipes. If its public validator is absent, preserve `dependency_required` and its install-and-retry action. Decode routes do not require the recipe skill.

  • When setup is installed, read its shared

[video content policy](../jetson-video-setup/references/video-content.md) before a live measurement. It does not apply to the separate documentation-only estimate path. Setup is not required solely for this policy: without it, require one exact user-selected path or URL, never choose catalog or synthetic media, and preserve source URL, license, attribution, path, size, and SHA-256.

  • Apply that policy's input gate before constructing a live benchmark dry

run. Never choose media for the user or use the setup smoke fixture for performance.

  • A documentation answer may be produced off-target when the exact platform,

SDK version, table conditions, and configured maximum video-clock facts are supplied with provenance. A clock-scaled estimate also requires a positive configured maximum video clock. It requires no media, recipe, sample authentication, or codec launch. Without that clock, report only the unscaled reference row as `target_clock_unavailable`, not a platform-scaled estimate.

Compose requested sibling stages

Documentation-only estimates and recipe-free live decode do not require a sibling skill. Live encode, compare, and encode-capacity routes require `jetson-video-recipe`; SDK installation, repair, a new full-samples Python environment, or one read-only handoff when registered Python authority is required belongs to `jetson-video-setup`. Check the agent's installed skill catalog before either stage. If the sibling is present, read its `SKILL.md` and invoke its documented public entry point; pass artifacts as data and never import sibling code. If it is absent, preserve completed input and measurement evidence and say, using the actual names: `I can run <stage>, but it requires <skill>, which is not installed. Install <skill> and retry this stage.` Never require setup when the caller already supplied authenticated setup evidence or an exact interpreter that passes local authentication, or a recipe for a decode-only or documentation-only request.

Instructions

1. Apply the scope boundary first. For a request solely for objective quality metrics, including PSNR or SSIM, state only that this performance skill does not provide them and that a separately authorized quality workflow is required, then stop. Do not name or recommend an external tool, and do not offer to configure or run the comparison; do not request media, probe, install anything, or launch an operation. 2. Classify an in-scope request as a live `encode`, `decode`, `compare`, or `camera_capacity` measurement, or as a `documented_estimate` answer. Resolve camera data direction before selecting an encode or decode row. Quality, preset, bitrate, rate-control, recording, or requested codec-output wording is an encode cue; lead with NVENC and mention deco

Read more
Ships withnvidia-skills

Official, NVIDIA-verified Agent Skills for Claude Code, Codex, and other coding agents.

Get the whole plugin

Other skills on nvidia-skills.