The nvenc_* formats require an ffmpeg built with NVENC. Static builds
(e.g. johnvansickle, which _get_ffmpeg may resolve) lack it, producing a
cryptic "Unknown encoder 'av1_nvenc'" crash.
- _get_ffmpeg(required_encoder): prefer the first existing ffmpeg that
actually provides the encoder, so a NVENC-capable system ffmpeg wins
over a static build.
- save_video: if the hardware encoder is unavailable anywhere, fall back
to the CPU codec for the same container (av1_nvenc-webm -> VP9 webm,
etc.) with a loud warning instead of losing the run's output.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- nvenc_av1-webm: GPU-encoded webm via av1_nvenc (NVENC has no VP9
encoder); uses libopus since webm rejects AAC audio.
- save_latent boolean gates the latent sidecar write while keeping the
latent passthrough intact.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>