| Version 4 (modified by , 8 years ago) ( diff ) |
|---|
FFmpeg and libaom AV1 Encoding Guide
Contents
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:


