What Is AV1?
AV1 (AOMedia Video 1) is an open, royalty-free video codec developed by the Alliance for Open Media (AOM) — a consortium including Google, Mozilla, Microsoft, Amazon, Netflix, Cisco, Apple, ARM, Intel, NVIDIA, AMD, and Samsung. AV1 was finalized in 2018 as the successor to VP9 and the royalty-free alternative to HEVC.
AV1's founding premise: create a codec that matches or exceeds HEVC compression efficiency while being completely free of patent royalties and openly specified. Independent testing has confirmed AV1 achieves 30–50% better compression than H.264 and 20–30% better than HEVC at equivalent visual quality.
Why AV1 Was Created
HEVC's fragmented patent pools (multiple incompatible licensors demanding separate fees) made it untenable for web browsers, streaming services, and device manufacturers seeking a single open standard. AV1 was specifically designed to be royalty-free by having member companies pool their patents and commit to royalty-free licensing.
The founding AOM members serve as both contributors (developing the codec technology) and implementors (deploying it in their products), creating a closed loop of development and adoption.
AV1 Technical Architecture
AV1 builds on VP9 but adds dozens of new coding tools:
Superblocks and Partition Sizes
Like HEVC's CTU, AV1 uses a hierarchical partition structure. Superblocks can be up to 128×128 pixels (larger than HEVC's 64×64), which is especially efficient for 4K and 8K content. Partition shapes include rectangles, T-shapes, and irregular splits — far more flexible than HEVC's pure quadtree.
Intra Prediction
AV1 has 56 directional intra prediction modes plus smooth/paeth/DC modes. The Paeth predictor uses the pixel above, to the left, and above-left to compute a prediction that follows diagonal gradients — excellent for natural images.
Compound Prediction (Inter Frames)
AV1's most powerful feature: compound inter prediction combines two reference frames with per-pixel blending masks:
- DIFFWTD (difference-weighted compound): weights based on pixel difference between the two references
- WEDGE: geometric partition blending masks
- SEG: combined motion masks
This allows AV1 to model complex motion (e.g., an object moving against a static background) with a single prediction rather than two separate regions.
Film Grain Synthesis
Film grain (natural texture in film-originated content) is extremely hard to compress efficiently. AV1 removes grain before encoding, stores grain parameters as metadata, and re-applies synthesized grain at decode time. This can reduce file size by 10–20% for film content while preserving perceived texture.
Loop Restoration Filter
AV1 adds the Wiener filter (an optimal linear restoration filter) and the Constrained Directional Enhancement Filter (CDEF) as post-processing steps to remove blocking and ringing artifacts. These filters operate on the reconstructed frame and feed back into the reference buffer, improving subsequent predictions.
Reference Frames
AV1 can reference up to 7 different frames (vs. H.264's 16 references from a limited pool and HEVC's similar structure). Most importantly, AV1 allows reference frames in both directions (bi-predictive) from an extended pool, enabling more accurate motion compensation for complex motion.
Transform Coding
AV1 supports multiple transform types beyond the standard DCT:
- Asymmetric Discrete Sine Transform (ADST): better for content with gradients from boundary
- Flip transforms: variants of DCT/ADST for different signal orientations
- Identity transform: pass-through for content where spatial correlation is low
AV1 Encoders
| Encoder | Speed | Quality | Use case |
|---|---|---|---|
| libaom-av1 | Very slow | Best | Offline encoding, archiving |
| SVT-AV1 | Fast | Very good | Production encoding, Netflix |
| rav1e | Moderate | Good | Rust-based, open source |
| aomenc | Very slow | Reference | Research, comparison |
SVT-AV1 (Scalable Video Technology for AV1, Intel/Netflix open-source) is now the recommended encoder for production use — it achieves near-libaom quality at 20-30× faster encoding.
ffmpeg AV1 Encoding
# Software encode — libaom (best quality, very slow)
ffmpeg -i input.mp4 -c:v libaom-av1 -crf 35 -b:v 0 output.webm
# Software encode — SVT-AV1 (fast, high quality)
ffmpeg -i input.mp4 -c:v libsvtav1 -crf 35 -preset 6 output.mkv
# Software encode — rav1e
ffmpeg -i input.mp4 -c:v librav1e -qp 70 output.mkv
# Hardware encode — NVIDIA AV1 (RTX 4000 series)
ffmpeg -i input.mp4 -c:v av1_nvenc -cq 35 output.mp4
# Hardware encode — Intel AV1 (Arc, 12th gen+)
ffmpeg -i input.mp4 -c:v av1_qsv -global_quality 35 output.mp4
# Hardware encode — AMD AV1 (RX 7000 series)
ffmpeg -i input.mp4 -c:v av1_amf -qp_i 35 output.mp4
AV1 CRF/Quality Settings
| Encoder | Quality flag | Range | Good starting point |
|---|---|---|---|
| libaom | -crf |
0 (best) – 63 (worst) | 30–40 |
| SVT-AV1 | -crf |
0–63 | 28–38 |
| rav1e | -qp |
0–255 | 60–100 |
| NVENC | -cq |
0 (auto) – 51 | 30–40 |
Browser and Hardware Support
| Environment | AV1 Support |
|---|---|
| Chrome | Since 70 (2018), hardware decode since 2021 |
| Firefox | Since 67 (2019) |
| Edge | Since 88 (2021) |
| Safari | Since 16 (2022, macOS) — hardware only |
| Android (Chrome) | Since Android 10 |
| iOS/iPadOS | Since iOS 16 (2022) |
| YouTube | AV1 for supported browsers/devices since 2018 |
| Netflix | AV1 for Android since 2020, TV/web growing |
| NVIDIA GPU (decode) | RTX 30 series+ |
| Intel GPU (decode) | 11th gen+ |
| AMD GPU (decode) | RX 6000 series+ |
| Apple Silicon | M2 and later |
AV1 in Practice
YouTube: uses AV1 for most content when the client supports it, with VP9 as fallback and H.264 for legacy devices. AV1 allows YouTube to serve the same quality at significantly lower bandwidth.
Netflix: adopted SVT-AV1 for their cloud encoding pipeline. Announced ~5 billion AV1 streams served since 2020.
Facebook/Meta: uses AV1 for video in Facebook, Instagram, and WhatsApp.
Discord: uses AV1 for Go Live game streaming.
WebRTC: AV1 is now a required codec in WebRTC specifications (RFC 9274), enabling real-time AV1 video calls.
AV1 vs. HEVC: When to Choose Which
| Scenario | Choice | Reason |
|---|---|---|
| Web/browser streaming | AV1 | Royalty-free, browser native |
| 4K streaming | Either | Netflix/YouTube use AV1; Blu-ray/broadcast use HEVC |
| UHD Blu-ray authoring | HEVC | Mandatory spec requirement |
| Mobile apps (Android) | AV1 or HEVC | AV1 hardware decode on Android 10+ |
| Apple ecosystem | HEVC | Better hardware support, Apple optimized |
| Ultra-slow offline encode | AV1 | Best ratio, unlimited time |
| Real-time streaming | HEVC or H.264 | Wider hardware encoder support |
| Budget hardware | H.264 | Universal support, lowest complexity |
Converting to/from AV1
- H.264/HEVC → AV1:
ffmpeg -i in.mp4 -c:v libsvtav1 -crf 35 -preset 6 out.mkv - AV1 → H.264 (for compatibility):
ffmpeg -i in.mkv -c:v libx264 -crf 23 out.mp4 - AV1 → HEVC:
ffmpeg -i in.webm -c:v libx265 -crf 28 out.mkv - Video → AV1 + Opus (web-optimized WebM):
ffmpeg -i in.mp4 -c:v libaom-av1 -crf 40 -b:v 0 -c:a libopus -b:a 128k out.webm
Best Practices
- Use SVT-AV1 for production encoding — near-libaom quality at 20-30× speed.
- Use CRF 28–38 with SVT-AV1 (
-preset 6for balance,-preset 4for slower/better). - Use WebM or MKV containers for AV1 — MP4 support for AV1 is improving but not universal.
- For web: pair AV1 with Opus audio in WebM for a fully royalty-free stack.
- Hardware encode (NVENC/QSV AV1) for real-time or near-real-time scenarios.
- Test with your target devices — AV1 software decoding on mobile can be CPU-intensive.
- For HDR10, AV1 carries HDR metadata via ITU-T T.35 SEI messages.
- Enable Film Grain Synthesis (
--film-grain-denoise=1) for film-originated content. - Prefer AV1 over VP9 for all new workflows — better ratio, hardware support growing fast.
- Keep H.264 as a fallback for devices that do not support AV1 hardware decoding.
Related conversions
Common video conversions that pair well with this guide: