Change libsvtav1 Encoding Speed Preset in FFmpeg
This article explains how to adjust the encoding speed and quality
preset when using the SVT-AV1 encoder (libsvtav1) in
FFmpeg. You will learn the specific command-line parameters required to
change the preset, the range of available preset values, and how to
balance encoding time with file compression efficiency.
To change the encoding speed preset for libsvtav1 in
FFmpeg, you use the -preset option followed by a numerical
value.
The Basic Command Syntax
Here is the standard command structure to set the SVT-AV1 preset:
ffmpeg -i input.mp4 -c:v libsvtav1 -preset 5 -crf 30 output.mkvIn this command, -preset 5 instructs the encoder to use
preset level 5.
Understanding SVT-AV1 Preset Values
The libsvtav1 encoder uses numerical presets ranging
from 0 to 13. Unlike other encoders like
libx264 which use names (e.g., fast,
slow), SVT-AV1 uses numbers where: * Lower numbers
(0–3) produce the highest quality and best compression ratio
but are extremely slow to encode. * Medium numbers
(4–8) offer the best balance of speed, file size, and visual
quality for general use. * Higher numbers (9–13)
prioritize encoding speed over quality and compression efficiency,
making them suitable for real-time streaming or rapid testing.
Choosing the Right Preset
Depending on your hardware and target use case, consider the following recommendations:
- Archiving (High Quality / Slow): Use presets 4, 5, or 6. These presets provide excellent compression efficiency but require more CPU processing power and time.
- Standard Desktop Encoding (Balanced): Use presets 7 or 8. These offer a great compromise, allowing for relatively fast encodes while maintaining high-quality AV1 output.
- Real-time Streaming / Fast Drafts (Very Fast): Use presets 10 to 13. These should only be used if you need near real-time encoding speeds and have a powerful multi-core CPU.