Originally published at ffmpeg-micro.com
AV1 delivers 30-50% better compression than H.264 at the same visual quality. But if you've tried encoding with libaom-av1, you already know the problem: a single 1080p minute can take over an hour. SVT-AV1 (libsvtav1) solves this with multi-threaded encoding that runs 10-50x faster while producing nearly identical quality.
This guide covers the practical tradeoffs between the two AV1 encoders in FFmpeg, recommended CRF settings, and how to encode AV1 without installing anything locally.
Quick Answer
For most production AV1 encoding, use SVT-AV1 at preset 6 with CRF 30:
ffmpeg -i input.mp4 -c:v libsvtav1 -crf 30 -preset 6 -pix_fmt yuv420p10le -c:a libopus -b:a 128k output.mp4
SVT-AV1 vs libaom-av1
Both encoders produce valid AV1 bitstreams, but they target very different workflows. SVT-AV1 is 10-50x faster with native multi-threading. libaom-av1 is the reference encoder, much slower but marginally better at exhaustive quality optimization. For any real-world encoding pipeline, SVT-AV1 is the standard choice.
Netflix, YouTube, and most major streaming platforms use SVT-AV1 in their encoding pipelines.
CRF Values by Use Case
- Archival / master: CRF 20-25 (visually lossless)
- Web delivery / streaming: CRF 28-35 (CRF 30 is a strong default for 1080p)
- Social media / previews: CRF 35-40 (smaller files, noticeable quality loss on detail)
Common Pitfalls
- Don't use libaom-av1 for batch encoding. Switch to
libsvtav1. - Don't forget
-pix_fmt yuv420p10lefor 10-bit mode. SVT-AV1 compresses better in 10-bit even from 8-bit sources. - CRF 23 in x264 does NOT equal CRF 23 in SVT-AV1. Start at CRF 30 for AV1.
Read the full guide with API examples and preset tables at ffmpeg-micro.com.
Top comments (0)