Version 4 (modified by slhck, 2 years ago) (diff)


FFmpeg and libaom AV1 Encoding Guide


libaom-av1 is the AOMedia video encoder for AV1, an open source & royalty-free video codec. libaom-av1 can save about 30% bitrate compared to VP9 and H.265 / HEVC, and about 50% over H.264, while retaining the same visual quality.

To install FFmpeg with support for libaom-av1, look at the Compilation Guides and compile FFmpeg with the --enable-libaom option.

libaom offers the following rate-control modes, which determine the quality and file size obtained:

  • 1-pass average bitrate
  • Constant quality

For a list of options, run ffmpeg -h encoder=libaom-av1.

Note: AV1 encoding is very slow in comparison to VP9 or H.264, and considered experimental at this stage.

Average Bitrate (ABR)

libaom-av1 offers a simple "Average Bitrate" or "Target Bitrate" mode. In this mode, it will simply try to reach the specified bit rate on average, e.g. 2 MBit/s.

ffmpeg -i input.mp4 -c:v libaom-av1 -b:v 2M -strict -2 av1_test.mkv

Use this option if file size and encoding time are more important.

Constant Quality

In addition to the "default" VBR mode, there's a constant quality (CQ) mode (like CRF in x264 and x265) which will ensure that every frame gets the number of bits it deserves to achieve a certain (perceptual) quality level, rather than encoding each frame to meet a bit rate target. This results in better overall quality. If there isn't a fixed target file size, this should be your method of choice.

ffmpeg -i input.mp4 -c:v libaom-av1 -crf 30 -strict -2 av1_test.mkv

The CRF value can be from 0–63. Lower values mean better quality and greater file size.

Controlling Speed / Quality

-cpu-used sets how efficient the compression will be. Default is 1. Lower values mean slower encoding with better quality, and vice-versa.

More Info

More info about AV1 can be found here: