How to Use -svtav1-params in FFmpeg
The -svtav1-params flag in FFmpeg is used to pass
native, fine-grained configuration options directly to the Scalable
Video Technology AV1 (SVT-AV1) encoder. When encoding video with the
libsvtav1 library, standard FFmpeg flags only cover basic
settings like bitrate, CRF, and presets. Using
-svtav1-params allows you to customize advanced encoder
features—such as film grain synthesis, tiling, and specific tuning
modes—that are not exposed by standard FFmpeg options.
Syntax and Usage
The -svtav1-params flag accepts a list of
key=value pairs separated by colons. The basic syntax
is:
-svtav1-params key1=value1:key2=value2:key3=value3When integrated into an FFmpeg command, it looks like this:
ffmpeg -i input.mp4 -c:v libsvtav1 -crf 26 -preset 5 -svtav1-params tune=0:film-grain=8:tile-rows=1:tile-columns=2 output.mkvCommon Parameters You Can Configure
By using -svtav1-params, you gain access to a wide range
of native SVT-AV1 parameters. Some of the most commonly used options
include:
- tune: Determines the quality optimization metric.
0: Visual Quality (VQ) / Subjective tuning (optimized for human eyes).1: High Quality (HQ) / Objective tuning (optimized for PSNR/SSIM metrics).
- film-grain: Enables film grain synthesis. This
removes heavy grain from the source to save bitrate and synthetically
adds it back during playback. It accepts a value from
1to50to represent the strength of the grain. - film-grain-denoise: Controls whether the encoder
denoises the input video before applying film grain synthesis
(
0for disabled,1for enabled). - tile-columns and tile-rows:
Controls video tiling, which divides the video frames into a grid. This
is highly useful for multi-threading. Setting
tile-columns=1splits the frame into two columns, allowing parallel encoding and decoding. - scd: Enables or disables scene change detection
(
1to enable,0to disable). Disabling this can force a strict keyframe interval. - scd-mode: Selects the scene change detection
algorithm mode (
0to2), allowing you to balance speed and accuracy in detecting scene cuts.
Why Use -svtav1-params?
Standard FFmpeg mappings for libsvtav1 are limited. If
you want to achieve the absolute best visual fidelity, optimize your
encoding speed using specific thread/tile configurations, or utilize
AV1’s advanced film grain technology to compress grainy movies
efficiently, the -svtav1-params flag is the primary tool to
unlock these capabilities.