Understanding the SVT-AV1 Preset Switch in FFmpeg

When encoding video with the SVT-AV1 codec using the FFmpeg command-line interface, the --preset switch determines the balance between encoding speed and compression efficiency. This guide explains the core mechanics of the SVT-AV1 preset parameter, detailing how it modulates encoder complexity, how numerical values affect performance, and how to implement it correctly in an FFmpeg workflow.

The Function of the --preset Switch

The --preset option directly controls the trade-off between computational processing time and compression efficiency (the quality retained at a given file size). SVT-AV1 provides a numerical scale ranging from 0 to 13:

What the Preset Changes Under the Hood

Adjusting the preset alters dozens of internal algorithmic decisions within SVT-AV1 rather than changing the video resolution or baseline target quality. Specifically, the switch controls:

Using the Preset Switch in FFmpeg

In the FFmpeg CLI, the preset can be declared using either the native FFmpeg -preset option or passed directly through the -svtav1-params flag:

ffmpeg -i input.mp4 -c:v libsvtav1 -preset 6 -crf 28 output.mp4

Alternatively, to pass it explicitly through SVT-AV1 parameters:

ffmpeg -i input.mp4 -c:v libsvtav1 -svtav1-params preset=6 -crf 28 output.mp4

Using the switch in combination with a target Constant Rate Factor (-crf) allows the preset to focus strictly on producing the smallest possible file size for that defined visual baseline.