Configure libsvtav1 Tier Parameter in FFmpeg

This article provides a quick guide on how to configure the tier parameter for the SVT-AV1 (libsvtav1) encoder in FFmpeg. You will learn the difference between the main and high tiers, the exact FFmpeg command-line syntax required to set this parameter, and how configuring the tier ensures compatibility with target hardware decoders.

Understanding the Tier Parameter

In AV1 video encoding, “tiers” define the maximum bitrate and buffer capabilities required by a decoder to play back a stream. SVT-AV1 supports two tier levels:

How to Configure the Tier in FFmpeg

FFmpeg allows you to configure the tier parameter using the -svtav1-params flag. This flag passes key-value pairs directly to the underlying SVT-AV1 library.

The syntax for setting the tier parameter is: -svtav1-params tier=[value]

Where [value] can be either main or high.

Example Command Lines

Setting the Main Tier (Default)

To encode a video to AV1 using the Main tier (ideal for maximum device compatibility):

ffmpeg -i input.mp4 -c:v libsvtav1 -preset 4 -crf 26 -svtav1-params tier=main output.mkv

Setting the High Tier

To encode a video using the High tier (ideal for high-bitrate, high-quality archival or professional use):

ffmpeg -i input.mp4 -c:v libsvtav1 -preset 4 -crf 18 -svtav1-params tier=high output.mkv

Passing Multiple SVT-AV1 Parameters

If you need to configure the tier alongside other SVT-AV1 specific parameters (such as the profile or level), separate each parameter with a colon (:) within the -svtav1-params option:

ffmpeg -i input.mp4 -c:v libsvtav1 -preset 4 -crf 22 -svtav1-params tier=main:profile=main:level=4.0 output.mkv