Cum să convertești formate video cu FFmpeg
In this tutorial, you'll learn about Cum să convertești formate video cu FFmpeg. We cover key concepts, practical examples, and best practices.
Problema
FFmpeg nu recunoaște formatul de ieșire, containerul nu este compatibil cu codecul, sau fișierul rezultat nu poate fi redat de playere. Conversia formatelor video necesită înțelegerea parametrului -f și a tipurilor de containere suportate.
Soluția Rapidă
Fix 1: Specificarea formatului de ieșire
GREȘIT — FFmpeg ghicește formatul după extensie, ceea ce eșuează pentru extensii necunoscute:
ffmpeg -i input.mp4 output.abc
# Unable to find a suitable output format for 'output.abc'
CORECT — folosește extensie standard sau parametrul -f:
ffmpeg -i input.mp4 -f mp4 output.mp4
# Sau pentru un container specific:
ffmpeg -i input.mp4 -f matroska output.mkv
Fix 2: Conversie între containere populare
# MP4 → MKV (copiere streamuri fără re-encode)
ffmpeg -i input.mp4 -c copy output.mkv
# AVI → MP4
ffmpeg -i input.avi -c:v libx264 -c:a aac output.mp4
# MOV → WebM
ffmpeg -i input.mov -c:v libvpx-vp9 -c:a libopus output.webm
Fix 3: Listarea formatoarelor suportate
# Listează toate formatoarele
ffmpeg -formats | grep mp4
# Listează muxerele disponibile
ffmpeg -muxers | grep matroska
Fix 4: Container și codec incompatibile
GREȘIT — H.264 nu este suportat în container WebM:
ffmpeg -i input.mp4 output.webm
# Codec 'h264' is not supported in container 'webm'
CORECT — re-encodează la codec compatibil:
ffmpeg -i input.mp4 -c:v libvpx-vp9 -c:a libopus output.webm
Fix 5: Forțarea suprascrierii fișierului existent
ffmpeg -y -i input.mp4 output.mp4
# -y suprascrie fără confirmare
Fix 6: Conversie cu analiză extinsă pentru streamuri live
ffmpeg -analyzeduration 100M -probesize 100M -i input.flv -c copy output.mp4
Folosește DodaTech Media Inspector pentru a identifica formatoarele și codecurile înainte de conversie.
Prevenție
- Verifică formatoarele suportate cu
ffmpeg -formats | grep <format>. - Confirmă compatibilitatea codec-container înainte de conversie.
- Folosește extensii standard (mp4, mkv, webm) pentru compatibilitate maximă.
- Adaugă
-yîn scripturi pentru suprascriere automată. - Folosește
-fcând extensia este ambiguă.
Greșeli Comune cu Conversia Formatelor
- Confundarea containerului cu codecul — MP4 este containerul, nu codecul video.
- Folosirea extensiei greșite pentru formatul țintă — de exemplu,
.ogvîn loc de.ogg. - Nespecificarea parametrului
-c copycând se dorește doar schimbarea containerului — fără-c copy, FFmpeg re-encodează implicit.
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 convertește un fișier AVI în MP4 folosind codecul H.264 pentru video și AAC pentru audio, fără a suprascrie fișierul existent fără confirmare.
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