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>