Cum să folosești codecul AV1 cu FFmpeg
In this tutorial, you'll learn about Cum să folosești codecul AV1 cu FFmpeg. We cover key concepts, practical examples, and best practices.
Problema
AV1 este cel mai modern codec video open-source, oferind compresie cu 30% mai bună decât H.265. În FFmpeg, poți folosi atât encoderul libaom-av1 (reference) cât și SVT-AV1 (accelerat). Parametrii diferă semnificativ între cele două implementări.
Soluția Rapidă
Fix 1: Encode de bază cu SVT-AV1 (recomandat)
GREȘIT — codare AV1 fără parametrii optimizați:
ffmpeg -i input.mp4 -c:v libsvtav1 output.mp4
# Foarte lent, calitate slabă
CORECT — cu preset și CRF:
ffmpeg -i input.mp4 -c:v libsvtav1 -preset 8 -crf 30 -c:a libopus output.mp4
Fix 2: Encode cu libaom-av1 (encoderul de referință)
# libaom-av1 este mai lent dar oferă cea mai bună compresie
ffmpeg -i input.mp4 -c:v libaom-av1 -crf 30 -cpu-used 2 -row-mt 1 \
-c:a libopus output.mkv
Fix 3: Comparație preset-uri SVT-AV1
# Preset 12 — cel mai rapid (calitate redusă)
ffmpeg -i input.mp4 -c:v libsvtav1 -preset 12 -crf 30 output.mp4
# Preset 8 — echilibrat (recomandat)
ffmpeg -i input.mp4 -c:v libsvtav1 -preset 8 -crf 30 output.mp4
# Preset 4 — calitate maximă (foarte lent)
ffmpeg -i input.mp4 -c:v libsvtav1 -preset 4 -crf 30 output.mp4
Fix 4: Two-pass SVT-AV1
# Prima trecere
ffmpeg -i input.mp4 -c:v libsvtav1 -preset 8 -b:v 1M -pass 1 -an -f mp4 /dev/null
# A doua trecere
ffmpeg -i input.mp4 -c:v libsvtav1 -preset 8 -b:v 1M -pass 2 -c:a libopus output.mp4
Fix 5: Control fin cu libaom-av1
# Calitate maximă
ffmpeg -i input.mp4 -c:v libaom-av1 -crf 20 -cpu-used 0 \
-row-mt 1 -tile-columns 2 -tile-rows 2 \
-c:a libopus -strict experimental output.mkv
# Codare mai rapidă
ffmpeg -i input.mp4 -c:v libaom-av1 -crf 35 -cpu-used 5 \
-row-mt 1 -c:a libopus -strict experimental output.mkv
Fix 6: Film Grain Synthesis (SVT-AV1)
# Păstrează granulația filmului pentru calitate perceptivă mai bună
ffmpeg -i input.mp4 -c:v libsvtav1 -preset 8 -crf 30 \
-svtav1-params "film-grain=8" -c:a libopus output.mp4
Folosește DodaTech AV1 Benchmark pentru a testa performanța SVT-AV1 vs libaom-av1 pe sistemul tău.
Prevenție
- Folosește SVT-AV1 (
libsvtav1) pentru codare mai rapidă și libaom-av1 (libaom-av1) pentru compresie maximă. - SVT-AV1 preset 8 oferă cel mai bun echilibru viteză-calitate.
- AV1 necesită suport hardware recent; verifică compatibilitatea înainte de codare.
- Folosește
-row-mt 1și tile-uri pentru paralelizare.
Greșeli Comune cu AV1
- Confuzia între libaom-av1 și libsvtav1 — parametri diferiți, performanță diferită.
- Uitarea parametrului
-strict experimentalpentru libaom-av1 — fără el, encoderul nu funcționează în anumite configurații FFmpeg. - Preset-uri prea agresive — preset 0-2 SVT-AV1 sunt extrem de lenți și oferă beneficii marginale.
Aceste greșeli apar frecvent în cod FFmpeg real. Contribuitorii DodaTech au identificat aceste patternuri prin analiza proiectelor open-source și a sistemelor de producție.
Exercițiu Practic
Scrie o comandă FFmpeg care encodează un fișier video folosind SVT-AV1 cu preset 10, CRF 35, și film grain 8, salvând ieșirea ca av1_output.mp4.
Acest exercițiu întărește conceptele acoperite în acest ghid. Încearcă să-l implementezi înainte de a verifica soluțiile online.
FAQ
Built by the developers of DodaTech
Doda Browser, DodaZIP & Durga Antivirus Pro