AV1 Video Codec: Next-Gen Standard | Royalty-Free, SVT-AV1 & FFmpeg

AV1 Video Codec: Next-Gen Standard | Royalty-Free, SVT-AV1 & FFmpeg

이 글의 핵심

AV1 targets royalty-free delivery; encoder choice (SVT-AV1 vs libaom) and presets dominate speed and quality on the web and OTT.

Introduction

AV1 (AOMedia Video 1) is an open, royalty-friendly codec from the Alliance for Open Media (AOMedia). It builds on ideas from VP9, Thor, Daala, and targets streaming, web, and cloud platforms that want to reduce royalty exposure.

By 2026, YouTube high-efficiency options, browser and OS hardware decode, and mobile SoC AV1 decoders have expanded. Encode cost remains a first-class design concern. This article connects AV1 structure to FFmpeg commands you can run today.

After reading this post

  • Summarize AV1 vs VP9 (partitions, filters, tiles)
  • Choose among libaom, SVT-AV1, rav1e for speed, quality, deployment
  • Tune CRF, cpu-used, tiles for quality vs speed
  • Understand browser, OTT, and mobile support and risks

Table of contents

  1. Codec overview
  2. How compression works
  3. Practical encoding
  4. Performance comparison
  5. Real-world use cases
  6. Optimization tips
  7. Common problems
  8. Wrap-up

Codec overview

History and background

AV1 was published as AV1 spec 1.0.0 around 2018; filters, tiling, and experimental extensions evolved in later versions. Mozilla, Google, Netflix, Amazon, Apple, Microsoft, and others participated, emphasizing open licensing for web media and OTT.

Technical characteristics

  • Superblock partitioning: From up to 128×128 down through multiple partition shapes.
  • Richer intra/inter prediction: Directional prediction, chroma-from-luma-style tools (implementation-dependent) for texture and edges.
  • Adaptive loop filters: CDEF and related loop restoration to reduce blockiness (encoder/profile dependent).
  • Tiles and subframes: Help parallel encode/decode and low latency.

Profiles and levels

AV1 defines profiles (e.g. Main), levels, and tiers for bitstream constraints. In products, requirements often read as “which browsers/devices support which profile?”


How compression works

Intra / inter prediction

  • Intra: More directional modes and chroma prediction to shrink I-frame sizes (good for scene cuts).
  • Inter: Complex motion may use warped prediction and overlap-style tools (encoder-dependent).

Transform & quantization

Larger transforms and adaptive quantization compress frequency coefficients. Film grain synthesis models grain at low bitrate where supported (content and player dependent).

Entropy coding

Adaptive entropy coding packs coefficients and modes. AV1 has more tools than VP9decoder complexity rises too.

Pipeline (conceptual)

flowchart LR
  subgraph src [Source]
    P[Frame pixels]
  end
  subgraph split [Partitioning]
    SB[Superblock]
    PART[Partition tree]
  end
  subgraph pred2 [Prediction & residual]
    IP[Intra / inter]
    RES[Residual]
  end
  subgraph comp [Compression]
    TQ2[Transform & quantize]
    ENT[Entropy coding]
  end
  subgraph out [Output]
    OBU[AV1 OBU bitstream]
  end
  P --> SB
  SB --> PART
  PART --> IP
  IP --> RES
  RES --> TQ2
  TQ2 --> ENT
  ENT --> OBU

Practical encoding

libaom: libaom-av1 (when built in)

ffmpeg -i input.mov -c:v libaom-av1 -crf 30 -b:v 0 -cpu-used 4 \
  -pix_fmt yuv420p -c:a libopus -b:a 128k output.mkv
  • -cpu-used: Main speed vs quality lever for libaom (range depends on version).
  • -crf with -b:v 0 is a common quality-mode pattern.

SVT-AV1 (speed and scale)

ffmpeg -i input.mov -c:v libsvtav1 -crf 28 -preset 6 -pix_fmt yuv420p \
  -c:a libopus -b:a 128k output.mkv

Check ffmpeg -h encoder=libsvtav1-preset numbering changes across versions.

Two-pass VBR (target bitrate)

ffmpeg -i input.mov -c:v libsvtav1 -b:v 3M -maxrate 3.5M -bufsize 6M \
  -pass 1 -an -f matroska /dev/null && \
ffmpeg -i input.mov -c:v libsvtav1 -b:v 3M -maxrate 3.5M -bufsize 6M \
  -pass 2 -c:a libopus -b:a 128k output.mkv

rav1e (when librav1e is linked)

ffmpeg -i input.mov -c:v librav1e -qp 80 -speed 6 -pix_fmt yuv420p \
  -c:a libopus -b:a 128k output.mkv

QP and speed depend on rav1e version.

Tuning

GoalApproach
Best offline qualitySlower preset, lower cpu-used, multi-pass
Bulk batchSVT-AV1 + preset, tiles for parallelism
Low latencyLimit tiles, GOP, B-frames (names vary by encoder)

Quality vs speed

  • AV1 often rewards slow encodes—benchmark 30-second clips across presets before full library runs.
  • Same CRF number is not comparable across encoders—VMAF and visual review ground truth.

Performance comparison

Compression vs other codecs

At similar viewing conditions, AV1 often matches or beats HEVC in bandwidth (content- and encoder-dependent). Versus H.264, bitrate savings are typically large.

Encode and decode speed

  • Encode: Early libaom was very slow; SVT-AV1 and hardware encoders changed practical workflows.
  • Decode: Newer GPUs and mobile SoCs add AV1 hardware decode; old laptops may CPU-decode and drain battery.

Hardware acceleration

  • Intel: Recent generations expand AV1 decode (and some encode)
  • NVIDIA: e.g. RTX 40 series AV1 encode on supported GPUs
  • AMD, Apple: Generation-dependent AV1 support

Whether av1_nvenc appears depends on FFmpeg build and drivers.


Real-world use cases

Streaming (YouTube, Netflix, etc.)

  • YouTube often re-encodes uploads with AV1 options (varies by account and region).
  • Global OTTs have A/B rolled AV1 for bandwidth and device caps (public case studies exist).

Mobile apps

  • Recent Android and iOS devices increasingly hardware-decode AV1. Design codec fallback from minimum supported OS.

Web browsers

  • Chrome, Firefox, Edge broadly support AV1 decode. Safari improved over time—verify with caniuse and field data for production.

Optimization tips

Smaller files without trashing quality

  • Noise consumes bits—denoise policy vs artistic grain (and grain tools) should align.
  • 4K source → 1080p delivery changes VMAF vs bitrate dramatically.

Faster encoding

  • Start with SVT-AV1; if quality is short, adjust preset before everything else.
  • Parallelize by clip to reduce wall-clock time.

Batch example

#!/usr/bin/env bash
set -euo pipefail
mkdir -p av1_out
for f in *.mp4; do
  ffmpeg -y -i "$f" -c:v libsvtav1 -crf 30 -preset 8 -pix_fmt yuv420p \
    -c:a libopus -b:a 96k "av1_out/${f%.mp4}.mkv"
done

Common problems

Compatibility

  • Stuttering on old PCs: Often CPU decode—lower resolution/bitrate or offer H.264 fallback.
  • Containers: MP4 vs MKV vs WebM differ in tags and metadata—follow channel specs.

Quality

  • Raising preset speed alone can collapse texture—compare at matched VMAF and encode time.
  • 10-bit HDR: SDR source + 10-bit container does not create real HDR.

Licensing

  • AV1 targets royalty-friendly licensing, but legal and patent policies still vary by organization. Encoder distribution and service delivery are separate questions.

Wrap-up

Summary

  • AV1’s bandwidth efficiency and open licensing direction strengthened its role on web and OTT.
  • Encoder choice (SVT-AV1 vs libaom vs rav1e) and preset/CRF/tiles drive cost and quality.
  • Legacy devices and realtime limits still often require H.264/HEVC in the mix.

When to choose AV1

  • Bandwidth-sensitive VOD, platforms simplifying royalty, services targeting recent devices. For compatibility baselines see the H.264 guide; for 4K HDR storage efficiency compare with the HEVC guide.