Skip to content

Encode AV1 with SVT-AV1 and FFmpeg

needs review

Your FFmpeg build must be configured with SVT-AV1. Confirm the wrapper and its locally supported options first:

Terminal window
ffmpeg -hide_banner -h encoder=libsvtav1
Terminal window
ffmpeg -ss 00:05:00 -i input.mkv -t 30 \
-map 0:v:0 -map '0:a?' \
-c:v libsvtav1 -preset 6 -crf 30 -pix_fmt yuv420p10le \
-c:a libopus -b:a 128k \
sample-av1.mkv

This is a test starting point, not a universal recommendation. Higher SVT-AV1 preset numbers trade compression efficiency for speed; higher CRF values trade quality for smaller output. Ten-bit output can improve compression behavior but requires compatible playback. Confirm the source and target color requirements before changing pixel format.

Use -svtav1-params only for an option exposed by the installed SVT-AV1 version. It accepts colon-separated key=value pairs. Keep the command and exact encoder version with test results.

Terminal window
ffmpeg -v error -i sample-av1.mkv -f null -
ffprobe -v error -select_streams v:0 \
-show_entries stream=codec_name,profile,width,height,pix_fmt,color_range,color_space,color_transfer,color_primaries \
-of json sample-av1.mkv

Watch the entire sample on representative software and hardware decoders. Check gradients, motion, grain, text, dark scenes, seeking, and audio synchronization before running a long encode.