Cum să folosești codecul H.264 cu FFmpeg
In this tutorial, you'll learn about Cum să folosești codecul H.264 cu FFmpeg. We cover key concepts, practical examples, and best practices.
Problema
Video codat cu H.264 are calitate slabă, fișierul este prea mare, sau parametrii libx264 nu sunt optimizați pentru scenariul tău (viteză vs. calitate). Codecul H.264 este cel mai utilizat standard de compresie video, iar FFmpeg oferă acces la encoderul libx264 prin parametri specifici.
Soluția Rapidă
Fix 1: Encode de bază cu H.264
GREȘIT — fără specificarea parametrilor libx264:
ffmpeg -i input.mp4 -c:v libx264 output.mp4
CORECT — cu parametri optimi:
ffmpeg -i input.mp4 -c:v libx264 -preset medium -crf 23 -c:a aac output.mp4
Fix 2: preset-urile libx264
# Viteză maximă, calitate redusă
ffmpeg -i input.mp4 -c:v libx264 -preset ultrafast -crf 23 output.mp4
# Balanță între viteză și calitate (recomandat)
ffmpeg -i input.mp4 -c:v libx264 -preset medium -crf 23 output.mp4
# Calitate maximă, viteză redusă
ffmpeg -i input.mp4 -c:v libx264 -preset veryslow -crf 23 output.mp4
Ordinea preset-urilor de la rapid la lent: ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow.
Fix 3: Controlul calității cu CRF
# CRF 18 — calitate vizual aproape identică cu sursa
ffmpeg -i input.mp4 -c:v libx264 -preset slow -crf 18 output.mp4
# CRF 23 — calitate bună, dimensiune rezonabilă (implicit)
ffmpeg -i input.mp4 -c:v libx264 -preset slow -crf 23 output.mp4
# CRF 28 — calitate redusă, fișier mic
ffmpeg -i input.mp4 -c:v libx264 -preset slow -crf 28 output.mp4
Fix 4: Bitrate constant (pentru streaming)
ffmpeg -i input.mp4 -c:v libx264 -b:v 2M -maxrate 2M -bufsize 4M output.mp4
Fix 5: Profile H.264
# Baseline — compatibilitate maximă (dispozitive vechi)
ffmpeg -i input.mp4 -c:v libx264 -profile:v baseline -level 3.0 output.mp4
# Main — balanță
ffmpeg -i input.mp4 -c:v libx264 -profile:v main -level 4.0 output.mp4
# High — calitate maximă (recomandat pentru HD)
ffmpeg -i input.mp4 -c:v libx264 -profile:v high -level 4.1 output.mp4
Fix 6: Tune pentru conținut specific
# Conținut film (scene similare)
ffmpeg -i input.mp4 -c:v libx264 -tune film output.mp4
# Animație
ffmpeg -i input.mp4 -c:v libx264 -tune animation output.mp4
# Streaming (minimizare latență)
ffmpeg -i input.mp4 -c:v libx264 -tune zerolatency output.mp4
Folosește DodaTech Video Optimizer pentru a testa diferite preset-uri și a găsi echilibrul optim între calitate și dimensiune.
Prevenție
- Alege preset-ul în funcție de timpul disponibil:
mediumpentru uz general,veryslowpentru arhivare. - Folosește CRF în loc de bitrate fix pentru calitate constantă.
- Setează profile și level-uri corect pentru dispozitivele țintă.
- Folosește
-tunepentru conținut specific (film, animație, screencast).
Greșeli Comune cu H.264
- Folosirea
-q:vîn loc de-crf— parametrul-q:vnu funcționează cu libx264; trebuie-crf. - Nespecificarea profile-ului pentru dispozitive mobile — baseline/profile prea înalt cauzează playback eșuat pe dispozitive vechi.
- Preset-ul
ultrafastpentru producție — reduce semnificativ calitatea la același bitrate.
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 videoclip folosind libx264 cu preset veryslow, CRF 20, profil High 4.1 și tune film, salvând fișierul de ieșire ca film_encoded.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