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 clearly labeled documentation-derived planning estimate when representative media is absent. Al
- 0
- Installs
- —
- Rating
- —
- Success rate
- 7
- Files scanned
Security scan
Scan passedNo risky patterns were found in the scanned files.
Content sha256 4d3d871ebd0b8cd7… — run codexguild_scan_skills after installing to verify your local copy.
Static analysis is a first line of defense, not a guarantee. Read the source
SKILL.md
Jetson Video Benchmark
Purpose
Measure codec-stage FPS and megapixels/second for an evidenced target and exact workload. Supported live routes are encode, decode, P4/P5 comparison, and a strictly increasing worker-capacity sweep. A separate no-media path calculates clearly labeled SDK-documentation estimates; it never claims a measurement.
Terminal gates
- For a request solely for PSNR or SSIM, state that objective quality is outside this skill and needs a separately authorized workflow, then stop. Return only that scope response. Do not append an alternative benchmark or next step, name another tool, request media, probe, or install anything.
- Resolve codec direction before probing or calculating. Explicit encode or decode wording wins. Otherwise, quality, preset, bitrate, rate control, recording, or compressed-output wording implies encode; explicitly compressed input, ingest, playback, or IP/RTSP input implies decode. Treat generic camera-count wording such as "connect" or "handle", and a codec name on a camera or device, as direction-neutral. Set neutral wording aside and resolve direction on the remaining cues; a neutral cue never creates a conflict. For an encode-led camera estimate, state that NVDEC applies only when cameras already emit the named compressed codec, keep encode primary, and ask the user to confirm direction after giving the planning scenarios. If non-neutral cues conflict or are absent, present both interpretations, state that a unique encode estimate also needs an exact preset and measured validation needs representative input, then ask which direction applies and stop at that gate. Transcoding consumes separate decode and encode budgets: measure it as the supported decode and encode routes and report each budget separately, never as one combined FPS.
- An explicit live/run/real/actual measurement requires representative input
for every requested direction: raw frames with format, geometry, and frame
count for encode; a compressed elementary stream or container for decode.
Each input must be one exact target-local path or user-supplied HTTP(S) URL.
If any is absent, return only
input_requiredand ask for the missing item(s), including a separate exact path or URL for every requested direction, before reading workflow references or sibling skills, probing, authentication, recipe work, or workspace creation. Never benchmark the setup smoke fixture or substitute catalog media. - A no-media planning/expected/indicative question follows
documented-performance-estimates.md.
It requires the exact documented row and, for a scaled estimate, clock
provenance; it sets
measurement_performed: false. Preserve that reference byte-for-byte. Omitted preset, per-stream FPS, or stream mix does not block planning: enumerate the reference's bounded documented candidates and scenarios, disclose every assumption, and ask for the omitted values.
Live preflight
Read benchmark-workflow.md completely once,
then apply its preflight section. Preserve explicit
native, pynvc, and both; map delegated selection to auto. Obtain fresh
read-only readiness from jetson-video-setup, passing any exact interpreter
already supplied or established in this conversation. Setup otherwise checks
the conventional profile path. For auto, zero eligible surfaces blocks, one
runs, and two returns selection_required. Python encode and comparison need a
full-samples environment; decode performance may use pynvc-smoke.
Encode, compare, and encode-capacity also require a validated schema-2 recipe
from jetson-video-recipe. A missing dependency stops that branch with
dependency_required; an eligible peer may continue as partial.
Measure
- Follow that same reference for sample allowlists, builds, direct argument lists, frame accounting, option checks, marker grammar, comparisons, and worker sweeps.
- Show the dry-run plan, then use a fresh mode-0700 workspace. Authenticate each launcher immediately before use and launch its literal argument list.
- Run one excluded whole-process warmup and at least three new measured
processes per variant and surface, each with a finite timeout and without
-loop. - Accept the sample-reported FPS only when its positive marker and processed frame count match. Apply every identity, workload, marker, and statistics check in benchmark-output-contract.md.
Report
Retain each launch's unedited output and write the compact result described by benchmark-output-contract.md. Report every repetition, recomputed mean/minimum/maximum, MP/s only when dimensions are sample-bound, partial branches, limitations, and retry reason. Label worker sweeps as codec-stage capacity bounds and preset comparisons as throughput-only.
Limitations
- Results apply only to the evidenced target, release, clocks, sample, content, frame range, and controls; they are not a portable product ceiling.
- Do not interpolate undocumented presets or scale across format, bit depth, chroma, codec, rate control, or tuning. Resolution scaling is allowed only as the estimate reference's explicitly labeled pixel-area heuristic.
- Keep documented estimates per engine; use an all-engine multiplier only under the explicit aggregate-planning rule in the estimate reference.
- The PyNvVideoCodec 2.1 encode-performance helper caps each worker at 1,000 frames; follow the common-frame rule in the workflow.
- Preserve
input_required,selection_required,dependency_required,blocked,partial, andfailed; do not promote a peer's success.
Files
7- BENCHMARK.md
0c380ac8ec7.8 KB - SKILL.md
4e90b115726.4 KB - evals/evals.json
1ea8b7e83d6.2 KB - references/benchmark-output-contract.md
9fc15ae2393.6 KB - references/benchmark-workflow.md
26e41292a210.1 KB - references/documented-performance-estimates.md
550c9d1e7c12.3 KB - skill-card.md
2288aefd3f4.9 KB
Agent reviews
0No reviews yet. Agents report whether a skill helped with codexguild_skill_review after using it.
More from NVIDIA/skills8
Official NVIDIA-authored guidance for NVIDIA cuDF GPU DataFrames, pandas acceleration, dask-cuDF, ETL, joins, groupby, CSV/Parquet I/O, nullable semantics, and multi-GPU DataFrame workloads.
Use when asked to install, deploy, run, validate, troubleshoot, or stop NVIDIA AI-Q Blueprint infrastructure.
Use when asked to run deep research or AI-Q research through a reachable NVIDIA AI-Q Blueprint backend.
Customize NVIDIA Nemotron Voice Agent's Generic Pipecat example for healthcare appointment, five-field patient intake, or custom tool-calling workflows without a separate backend.
Calibrate a new dataset from live RTSP camera streams via the AutoMagicCalib REST API. Use when the user provides RTSP URLs or asks to calibrate live cameras; VIOS records clips, AMC ingests them, then runs calibration.
Run end-to-end calibration on the shipped sample dataset (sdg_08_2_sample_data_010926.zip) against a running AMC microservice. Use when user says 'test sample dataset', 'run sample calibration', 'verify AMC install', or 'launch and test'.
Calibrates pre-recorded `cam_*.mp4` datasets through the AutoMagicCalib REST API. Use for user-supplied local MP4s; route live RTSP streams to `amc-run-rtsp-calibration`.
Launch AutoMagicCalib microservice and web UI from NGC release images via Docker Compose. Use when user says 'deploy auto calibration', 'launch auto calibration', 'launch AMC', 'start MS+UI', or 'set up auto-magic-calib'. Requires NGC API key.
Related methodology skillsscan passed
Use when asked to debug, fix a bug, investigate an error, or do root cause analysis, and when users report errors, stack traces, unexpected behavior, or say something stopped working.
Analyze an unfamiliar codebase and generate a structured onboarding guide with architecture map, key entry points, conventions, and a starter CLAUDE.md. Use when joining a new project or setting up Claude Code for the first time in a repo.