AV1 is a video compression standard developed by the Alliance for Open Media as a successor to VP9. It uses advanced block partitioning, motion compensation, and filtering techniques to reduce bitrate while maintaining quality, especially at higher resolutions.
AV1 is suitable for web streaming and video-on-demand, but requires more computational resources during encoding. Efficient usage depends on the selected encoder backend and appropriate configuration through tools like FFmpeg.
Compression Architecture and Core Mechanics
AV1 processes video using a hybrid block-based transform and predictive encoding architecture. Each frame is divided into 64??64 pixel superblocks that can be recursively partitioned into smaller coding units. This flexible partitioning allows the codec to adapt efficiently to both highly detailed areas and smooth regions.
The codec supports intra prediction with over 60 directional modes, allowing highly accurate spatial prediction within a frame. For inter prediction, AV1 leverages compound motion vectors, global motion modeling, warped motion compensation, and sub-pixel precision down to 1/8-pixel. These features improve the reuse of previously decoded frame data.
Post-prediction filters further refine quality. AV1 applies Constrained Directional Enhancement Filters (CDEF), loop restoration filters like Wiener and SGR (Self-Guided Restoration), and deblocking filters to suppress ringing and edge artifacts. Symbols are encoded using context-adaptive binary arithmetic coding (CABAC-style), offering efficient entropy representation across a wide range of content types.
Encoding AV1 with FFmpeg
AV1 encoding in FFmpeg is possible via several backends. The most common are libaom-av1 (official reference encoder) and libsvtav1 (Intel"s Scalable Video Technology). The choice depends on the balance between encoding speed and target efficiency.
Using libaom-av1 in constant quality mode:
ffmpeg -i input.mp4 -c:v libaom-av1 -crf 32 -b:v 0 -strict experimental output_av1.mkvExplanation:
-c:v libaom-av1: Uses the official reference AV1 encoder.-crf 32: Controls visual quality. Lower values increase quality and file size. Typical range: 28"36.-b:v 0: Enables CRF-based variable bitrate mode by disabling target bitrate.-strict experimental: Required for AV1 encoding in some FFmpeg builds.- Produces a high-efficiency
AV1file in MKV format for general playback or archive.
For faster encoding with acceptable quality, libsvtav1 is preferred:
ffmpeg -i input.mp4 -c:v libsvtav1 -crf 30 -preset 8 output_svtav1.mkvExplanation:
-c:v libsvtav1: Uses Intel's faster, multi-threaded AV1 encoder.-crf 30: Balances quality and file size.-preset 8: Controls speed/compression tradeoff (0 = best quality, 13 = fastest). Recommended: 6"9 for VOD.
Bitrate-constrained encoding is supported through two-pass encoding. In FFmpeg:
ffmpeg -i input.mp4 -c:v libaom-av1 -b:v 2500k -pass 1 -an -f null /dev/nullffmpeg -i input.mp4 -c:v libaom-av1 -b:v 2500k -pass 2 -c:a libopus output_2pass.mkvExplanation:
-b:v 2500k: Sets average video bitrate to 2.5 Mbps.-pass 1: First pass analyzes frame complexity and saves stats.-pass 2: Second pass performs encoding using data from the first.-an: Skips audio in the first pass.-c:a libopus: Encodes audio using the Opus codec (recommended for WebM/MKV).- Used when precise bitrate targeting is required (e.g., streaming or capped storage).
Browser and Device Playback Compatibility
AV1 is supported in most Chromium-based browsers (Chrome, Edge, Opera), Firefox, and Android (with software decode or supported SoCs). Hardware decoding is available in recent Intel (Tiger Lake+), AMD (RDNA2+), and ARM (MediaTek, Snapdragon 888+) chipsets.
Safari and iOS devices do not support AV1 playback at the time of writing. For compatibility-sensitive deployments, fallback to VP9 or H.264 is necessary. In adaptive streaming ladders (DASH or HLS), AV1 is often used at low bitrate tiers with H.264 reserved for upper layers.
Format Support and Container Compatibility
AV1 is typically stored in Matroska (.mkv) or WebM containers. Support for MP4 (.mp4) is emerging, though not yet widespread across all decoders. For audio, Opus is the preferred codec in WebM, while AAC or FLAC is common in MKV and MP4.
To produce a WebM file using AV1 and Opus:
ffmpeg -i input.mp4 -c:v libaom-av1 -crf 30 -b:v 0 -c:a libopus -b:a 128k output_av1.webmExplanation:
-c:v libaom-av1: AV1 video codec.-crf 30 -b:v 0: Activates constant quality mode.-c:a libopus -b:a 128k: Sets Opus as the audio codec with 128 kbps bitrate.output_av1.webm: Generates a WebM container optimized for browser delivery.
AV1 supports 10-bit color depth, alpha transparency, and HDR signaling. For HDR10 content, include color metadata via encoder parameters:
ffmpeg -i input_hdr.mkv -c:v libaom-av1 -pix_fmt yuv420p10le -crf 28 \-x265-params "colorprim=bt2020:transfer=smpte2084:colormatrix=bt2020nc" \output_hdr_av1.mkvExplanation:
-pix_fmt yuv420p10le: Enables 10-bit color precision for HDR.-crf 28: Sets quality for HDR visuals.-x265-params ...: Injects HDR metadata manually (since AV1 doesn't yet have native support for full HDR10 signaling in FFmpeg).output_hdr_av1.mkv: Suitable for HDR playback on supported hardware and apps.
Compression Efficiency and Practical Gains
AV1 achieves up to 30% bitrate reduction over H.265 and approximately 50% over H.264 for equivalent visual quality. These gains are particularly noticeable at resolutions of 1080p and above or in bitrate-constrained delivery scenarios. Unlike VP9 or HEVC, AV1 supports both higher compression ratios and broader prediction structures without requiring licensing fees.
However, the encoder"s complexity is high. libaom, the reference encoder, is computationally intensive and unsuitable for real-time encoding without dedicated hardware acceleration. Alternatives like SVT-AV1 provide a more balanced trade-off between encoding speed and efficiency, making them preferable for production workloads.
Use Cases and Suitability
AV1 is suitable for bandwidth-sensitive applications, such as global web distribution, long-form content delivery, and high-resolution VOD pipelines. It is commonly adopted in:
- Educational platforms that require high-quality video at low bitrates.
- Public archives or repositories where long-term storage and openness are priorities.
- Streaming services are seeking to reduce CDN costs while maintaining quality at 1080p and above.
AV1 is not well-suited for live streaming, low-latency video conferencing, or embedded playback on legacy devices unless hardware support is guaranteed.
Pros of AV1
- Excellent compression at low bitrates with good visual fidelity.
- Royalty-free licensing, avoiding patent and usage fees of HEVC.
- Advanced coding tools for motion, transform, and restoration.
- Scalable layers and temporal prediction for adaptive streaming.
Cons of AV1
- Extremely slow encoding, especially with libaom and default settings.
- Incomplete hardware support, especially for decoding on low-end or older devices.
- Limited real-time applications, as encoding requires significant CPU/GPU power.
- Compatibility gaps, particularly with Safari, iOS, and legacy embedded devices.
