What is AV1?
AV1 (AOMedia Video 1) is an open, royalty-free video codec developed by the Alliance for Open Media.
| Codec | Relative File Size | Encoding Speed | Browser Support |
|---|---|---|---|
| H.264 (libx264) | 100% (baseline) | Fast | Nearly universal |
| H.265 (libx265) | ~65–85% | Medium | Safari; Chrome, Edge and Firefox depending on OS and hardware |
| AV1 (libsvtav1) | ~28–57% | Medium | Chrome, Firefox, Edge |
| AV1 (libaom-av1) | — | Slow | Chrome, Firefox, Edge |
Sizes are at the same VMAF score as libx264, measured with FFmpeg 8.1 on two 10-second 1080p clips (Big Buck Bunny and Tears of Steel, © Blender Foundation, CC BY 3.0); libx264 and libx265 used -preset medium, libsvtav1 -preset 6.
At the same quality, the libsvtav1 files were 28–35% of the H.264 size for the animated clip and 41–57% for the live-action clip. YouTube, Netflix and Twitch are rolling out AV1.
Check Available Encoders
ffmpeg -encoders 2>/dev/null | grep av1
The list depends on your build. FFmpeg 8.1 from gyan.dev (Windows) prints:
V....D libaom-av1 libaom AV1 (codec av1)
V....D librav1e librav1e AV1 (codec av1)
V..... libsvtav1 SVT-AV1(Scalable Video Technology for AV1) encoder (codec av1)
V....D av1_d3d12va D3D12VA av1 encoder (codec av1)
V....D av1_nvenc NVIDIA NVENC av1 encoder (codec av1)
V..... av1_qsv AV1 (Intel Quick Sync Video acceleration) (codec av1)
V....D av1_amf AMD AMF AV1 encoder (codec av1)
V....D av1_mf AV1 via MediaFoundation (codec av1)
V....D av1_vaapi AV1 (VAAPI) (codec av1)
V....D av1_vulkan AV1 (Vulkan) (codec av1)
A....D wmav1 Windows Media Audio 1
grep av1 also matches wmav1, an audio encoder. Hardware encoders such as av1_nvenc are listed even when your PC has no matching GPU.
If libsvtav1 is not in the list, install the latest FFmpeg from your package manager or the official FFmpeg website.
libsvtav1 — Fast AV1 Encoding (Recommended)
Basic Command (CRF mode)
ffmpeg -i input.mp4 -c:v libsvtav1 -crf 35 -preset 6 -c:a libopus -b:a 128k output.webm
| Parameter | Description |
|---|---|
-c:v libsvtav1 |
Use the SVT-AV1 encoder |
-crf 35 |
Constant quality (lower = better quality, range 1–63; 0 falls back to the default, 35) |
-preset 6 |
Speed preset (0 = slow/high quality, 13 = fast/lower quality) |
-c:a libopus |
Opus audio, the natural pair for AV1 in WebM |
CRF Values (libsvtav1)
Lower values give better quality and larger files. VMAF scores on the two test clips above (animated / live action, -preset 6); libx264 at its default, CRF 23, scored 93.29 / 94.87 on the same clips:
| CRF | VMAF | Use Case |
|---|---|---|
| 30 | 95.40 / 95.49 | High quality, keeping a master copy |
| 35 | 94.63 / 94.13 | Everyday use, close to libx264’s default |
| 45 | 92.73 / 90.45 | Web delivery, previews |
| 55 | 89.33 / 85.14 | Strict size limits |
Preset Selection
# Quality-first (slower)
ffmpeg -i input.mp4 -c:v libsvtav1 -crf 30 -preset 2 -c:a libopus -b:a 128k output.webm
# Balanced (recommended default)
ffmpeg -i input.mp4 -c:v libsvtav1 -crf 30 -preset 6 -c:a libopus -b:a 128k output.webm
# Speed-first (real-time use)
ffmpeg -i input.mp4 -c:v libsvtav1 -crf 30 -preset 10 -c:a libopus -b:a 128k output.webm
Output to MP4 Container
ffmpeg -i input.mp4 -c:v libsvtav1 -crf 35 -preset 6 -c:a aac -b:a 128k output_av1.mp4
Browsers that play AV1 play it in MP4 as well as in WebM (MDN).
libaom-av1 — The Reference Encoder
libaom-av1 is the reference AV1 encoder from the Alliance for Open Media. It is much slower than libsvtav1.
Basic Command (CRF mode)
ffmpeg -i input.mp4 -c:v libaom-av1 -crf 30 -b:v 0 -c:a libopus -b:a 128k output.webm
With libaom-av1, -crf on its own already selects constant-quality mode, so -b:v 0 is not required (it does no harm).
Multithreading
ffmpeg -i input.mp4 -c:v libaom-av1 -crf 30 -b:v 0 -row-mt 1 -tiles 2x2 \
-c:a libopus -b:a 128k output.webm
2-Pass Encoding (Bitrate Target)
Use 2-pass when you need a set file size or streaming bitrate.
libsvtav1 2-pass
# Pass 1
ffmpeg -i input.mp4 -c:v libsvtav1 -b:v 2M -preset 6 -pass 1 -an -f null /dev/null
# Pass 2
ffmpeg -i input.mp4 -c:v libsvtav1 -b:v 2M -preset 6 -pass 2 -c:a libopus -b:a 128k output.webm
libaom-av1 2-pass
# Pass 1
ffmpeg -i input.mp4 -c:v libaom-av1 -b:v 2M -pass 1 -an -f null /dev/null
# Pass 2
ffmpeg -i input.mp4 -c:v libaom-av1 -b:v 2M -pass 2 -c:a libopus -b:a 128k output.webm
Platform-Specific Settings
YouTube (AV1)
ffmpeg -i input.mp4 \
-c:v libsvtav1 -crf 32 -preset 6 \
-vf "scale=1920:1080:force_original_aspect_ratio=decrease,pad=1920:1080:(ow-iw)/2:(oh-ih)/2" \
-pix_fmt yuv420p \
-c:a libopus -b:a 256k \
output_youtube_av1.webm
Web Delivery (Lightweight)
ffmpeg -i input.mp4 \
-c:v libsvtav1 -crf 40 -preset 8 \
-vf "scale=1280:720" \
-c:a libopus -b:a 96k \
output_web.webm
Browser Compatibility
| Browser | AV1 Support |
|---|---|
| Chrome 70+ | ✅ |
| Firefox 67+ | ✅ |
| Edge 121+ | ✅ |
| Safari 17+ (macOS) | Partial (Macs with an AV1 hardware decoder, such as M3 and later) |
| iOS Safari 17+ | Partial (devices with an AV1 hardware decoder, such as iPhone 15 Pro and later) |
If the video must play on iPhones and iPads, also provide an H.264 version.
Troubleshooting
libsvtav1 not found
Unknown encoder 'libsvtav1'
Install the latest FFmpeg:
# macOS
brew install ffmpeg
# Ubuntu/Debian
sudo apt install ffmpeg
# Windows
winget install ffmpeg
Encoding is extremely slow
Switch from libaom-av1 to libsvtav1, which is much faster:
# Slow
ffmpeg -i input.mp4 -c:v libaom-av1 -crf 30 -b:v 0 output.webm
# Fast
ffmpeg -i input.mp4 -c:v libsvtav1 -crf 35 -preset 6 output.webm
No audio / container error
WebM takes only Vorbis or Opus audio, not AAC:
# Wrong: AAC in WebM
ffmpeg -i input.mp4 -c:v libsvtav1 -crf 35 -c:a aac output.webm
# Correct: Opus in WebM
ffmpeg -i input.mp4 -c:v libsvtav1 -crf 35 -c:a libopus -b:a 128k output.webm
Frequently Asked Questions
libaom-av1 vs SVT-AV1 vs rav1e — which should I pick?
SVT-AV1 (libsvtav1) is the fastest of the three and good enough for most jobs. libaom-av1 is the reference encoder and much slower. rav1e (librav1e) is written in Rust; it is also much slower than SVT-AV1.
What CRF gives YouTube-quality 1080p?
Start with SVT-AV1 at CRF 32–35 and preset 8. For animation, lower the CRF by 2–3; for very noisy footage, raise it a little.
Why is my AV1 file enormous?
The default preset, 8, puts speed before file size. At CRF 35 on the two clips above, preset 4–6 gave files 9–27% smaller than preset 8 and took 1.6–4× as long to encode.
Will AV1 play on Safari and old iPhones?
Safari 17+ plays AV1 only on devices with an AV1 hardware decoder: M3 Macs and later, the iPhone 15 Pro, and the iPhone 16 and later (MDN). On older Apple devices Safari cannot play AV1 at all, so keep an H.264 version for them.
Can I two-pass with AV1?
libaom supports two-pass with -pass 1/2. For SVT-AV1, the usual advice now is CRF (constant quality) instead, because two-pass adds very little quality.
Related Articles
Primary source: ffmpeg.org/ffmpeg-codecs.html#libsvtav1