- FFmpeg este un instrument de linie de comenzi multiplatformă capabilă să înregistreze, să convertească și să proceseze audio și video, cu suport pentru un număr mare de codecuri și formate.
- Îți permite să efectuezi totul, de la conversii simple de format până la sarcini avansate, cum ar fi decuparea, redimensionarea, inserarea de logo-uri, generarea de GIF-uri și crearea de videoclipuri din secvențe de imagini.
- Adevăratul său potențial apare atunci când este integrat în scripturi și fluxuri de lucru automatizate, unde poate concatena clipuri, aplica tranziții, normaliza audio și standardiza producția de conținut.
- Cu câteva comenzi bine înțelese, este posibil să construiești un flux de lucru eficient pentru editarea și compresia video fără a te baza pe interfețe grafice greoaie.

Dacă lucrezi des cu materiale video, mai devreme sau mai târziu vei da peste FFmpeg ca un briceag elvețian pentru conversia, comprimarea și automatizarea sarcinilorNu contează dacă vii de la editori cu interfață grafică, de la platforme de de streaming sau convertoare online simple: atunci când aveți nevoie de control fin, formate rare sau automatizare masivă, FFmpeg intră în joc.
De asemenea, este adevărat că prima dată când îl vezi, este puțin intimidant: tone de parametri, comenzi foarte lungi și mesaje în terminalDar odată ce îi înțelegi logica, devine un instrument extrem de convenabil pentru sarcini repetitive: schimbarea formatelor, reducerea dimensiunii fișierelor, decuparea, adăugarea de logo-uri, generarea de GIF-uri sau crearea de videoclipuri time-lapse din fotografii, printre multe altele.
Ce este FFmpeg și de ce este folosit atât de mult în video?
FFmpeg este un set de instrumente și biblioteci software gratuite Conceput pentru înregistrarea, convertirea, procesarea și redarea în flux audio și video. Nu este o aplicație cu ferestre și butoane frumoase: este controlată din linia de comandă, ceea ce îi conferă o flexibilitate incredibilă și o face ideală pentru automatizare, servere și scripting.
Numele său se referă la MPEG înainte rapid...referindu-se la grupul care a definit standardele video MPEG. Din anul 2000, când Fabrice Bellard a lansat proiectul, comunitatea l-a extins în... motorul multimedia utilizat de nenumărate programe și servicii fără ca tu să știi (platforme de streaming, editori, convertoare etc.).
Una dintre cele mai mari virtuți ale sale este că Suportă un număr mare de codecuri și containere (Cum să alegi cele mai bune codecuri pentru videoclipuri): MP4, MOV, MKV, AVI, WebM, FLV, Ogg, GIF-uri animate, secvențe de imagini, MP3AAC, OGG, WAV, WMA și multe alte formate. Dacă playerul tău preferat redă ceva, probabil că FFmpeg îl poate citi sau genera.
În plus, FFmpeg este platformă încrucișatăPoate fi instalat fără probleme în Linux, ferestre dinmacOS și alte sisteme similare UnixȘi deși este folosit din consolă, există mai multe interfețe grafice care îl folosesc în culise dacă preferi să procedezi treptat fără a vedea comenzi.
Cum se instalează FFmpeg pe Windows, macOS și Linux

Înainte de a începe să emitem comenzi, trebuie să instalăm instrumentul. Procesul variază în funcție de sistemul de operare.Dar, în toate cazurile, se face o singură dată și apoi uiți de asta.
Instalați FFmpeg pe Windows
În Windows aveți mai multe opțiuni, dar una dintre cele mai comune este să descărcați un pachet static deja compilatAcest lucru te scutește de compilarea a orice element sau de gestionarea dependenței.
Un flux de lucru tipic ar fi acesta: accesați site-ul oficial FFmpeg sau o pagină de compilare de încredere, download-uri UNA versiunea „statică” în format ZIP sau 7zÎl extragi în folderul dorit (de exemplu, pe o unitate secundară) și înăuntru vei vedea un director cu mai multe subdirectoare, inclusiv bin, unde se află executabilele ffmpeg.exe, ffplay.exe și ffprobe.exe.
Pentru a evita să fii nevoit să accesezi mereu acel folder, soluția ideală este adăugați calea către directorul bin la variabilele de mediu ale sistemuluiDin Panou de control > Sistem > Setări avansate de sistem > Variabile de mediu, localizați variabila Path, editați-o și adăugați calea completă către folderul bin respectiv. De acolo, veți putea scrie FFMPEG pe orice consolă și va rula.
O altă alternativă foarte convenabilă este utilizarea unui manager de pachete precum Chocolatey și rulați-l într-o consolă de administrator: choco install ffmpegManagerul însuși se ocupă de instalare și de PATH.
Instalați FFmpeg pe macOS
En MacCea mai practică metodă este să tragi HomebrewDacă nu îl aveți, instalați-l lipind scenariu Responsabil cu instalarea la Terminal. Odată operațional, pur și simplu:
brew install ffmpeg
și în câteva minute vei avea ffmpeg gata de utilizare din orice terminalHomebrew gestionează automat dependențele, căile și actualizările viitoare.
Dacă preferați să mergeți singur, puteți descărca și binare deja compilate pentru macOS, dar în practică, cu Homebrew te scutești de multe bătăi de cap și poți menține FFmpeg actualizat cu un simplu brew upgrade ffmpeg.
Instalarea FFmpeg pe Linux
În majoritatea distribuțiilor moderne, FFmpeg este disponibil în repozitoriile oficialeÎn Debian, Ubuntu și derivate, de exemplu, Îl poți instala cu:
sudo apt install ffmpeg
În alte distribuții, managerul de pachete se va schimba, dar ideea este aceeași: Instalați pachetul ffmpeg și instrumentele asociate, la fel ca ffprobe. Dacă apoi executați which ffmpeg și obții ceva de genul /usr/bin/ffmpegTotul este în regulă.
În scenarii mai avansate (de exemplu, servere care necesită suport specific pentru anumite codecuri sau biblioteciUnii preferă să compileze FFmpeg din codul sursă și să adauge manual module precum LAME pentru MP3, libogg, libvorbis sau să îl integreze cu mplayer. În aceste cazuri, aceste biblioteci sunt descărcate și compilate în prealabil, iar permisiunile și căile sunt ajustate (LD_LIBRARY_PATH) și legăturile simbolice sunt create în /usr/lib către bibliotecile FFmpeg din /usr/local/lib.
Înțelegerea sintaxei de bază a FFmpeg

Odată instalat, următorul pas este să înțelegem Cum se scrie o comandă FFmpeg minimalăStructura generală este de obicei:
ffmpeg -i entrada.ext salida.ext
Parametrul cheie este -iAceasta indică fișierul sau fluxul de intrare. Tot ceea ce adăugați înainte și după această opțiune sunt setări care afectează modul în care este procesată și generată ieșirea.
Si simplu vrei obținerea de informații tehnice dintr-un fișier video, poți să folosești:
ffmpeg -hide_banner -i video.mp4
Cu aceasta, FFmpeg afișează detalii precum durată, rată de biți, codecuri video și audio, rezoluție, rată de cadre și alte metadate. Parametrul -hide_banner Te împiedică să vezi blocul inițial imens de configurare și compilare și îți permite să te concentrezi asupra informațiilor cu adevărat utile.
Câțiva parametri globali foarte utili care vă pot ghida sunt:
- -formate: listează formatele (containerele) acceptate.
- -codecuri: afișează toate codecurile de intrare și ieșire.
- -decodoare: detaliază codecurile acceptate ca intrare.
- -encodere: listează codecurile pe care le puteți utiliza la export.
Cu acel minim de informații, poți începe să convertirea dintr-un format în altul prin simpla modificare a extensiei de ieșire. De exemplu:
ffmpeg -i video_origen.mov video_destino.mp4
În acest caz, FFmpeg va alege codecuri rezonabile în funcție de extensieDe exemplu, H.264 pentru video și AAC pentru audio în format MP4, cu excepția cazului în care specificați altfel.
Codecuri, containere și parametri cheie de calitate
Pentru a profita la maximum de FFmpeg, este important diferențierea dintre codec și containerMP4 (container) nu este același lucru cu H.264 sau H.265 (codecuri video), deși termenii sunt adesea confundați în limbajul cotidian.
Un codec Este algoritmul care comprimă și decomprimă fluxul de date audio sau video (H.264, H.265/HEVC, AV1, VP9, AAC, MP3, Ogg Vorbis etc.). recipient (MP4, MKV, AVI, MOV, WebM, Ogg etc.) este „încapsularea” care poate conține mai multe piste video și audio, subtitrari și metadate.
Câteva containere comune sunt:
- AVI: un program clasic pentru Windows, utilizat pe scară largă, dar cu limitări moderne.
- MOVFormat standard QuickTime, utilizat pe scară largă în mediile Apple.
- MP4: container standard pentru MPEG-4, compatibilitate ridicată între dispozitive.
- Ogg- Deschideți containerul pentru codecuri precum Vorbis sau Theora.
- MKVFormat Matroska, foarte flexibil și deschis, ideal pentru masterat și arhivare.
În FFmpeg puteți controla calitatea în principal cu parametri precum -b:v (rata de biți video), -b:a (rata de biți audio) sau popularul CRF în codecuri precum H.264 sau H.265. De exemplu:
ffmpeg -i video.avi -b:v 2500k -b:a 192k salida.mp4
În acest caz, forțați o rată de biți video de 2.500 kb / s și o înregistrare audio a 192 kb / sO rată de biți mai mare înseamnă, în general, o calitate mai bună, dar și o dimensiune mai mare a fișierului și invers. Cu CRF (Constant Rate Factor), logica se schimbă ușor, deoarece O valoare mai mică înseamnă o calitate mai mare și o dimensiune mai mare a fișierului.În H.265, de exemplu, un CRF în jurul valorii de 18-22 este adesea aproape imposibil de distins de original în multe cazuri.
Conversia video, compresia și schimbarea formatului
Una dintre cele mai comune utilizări ale FFmpeg este Conversia și recomprimarea videoclipurilor pentru a le micșora sau a le schimba formatul.menținând în același timp o calitate rezonabilă. Dacă preferați o alternativă cu o interfață grafică, puteți vedea Cum să editezi și să convertești videoclipuri folosind VLC.
Pentru a conversie de bazăPur și simplu indicați punctele de intrare și ieșire:
ffmpeg -i origen.avi destino.mpg
Dacă doriți să ajustați lucrurile cu precizie, puteți specifica codecurile video și audio, modul de calitate și containerul. De exemplu, pentru Comprimarea unui videoclip folosind H.265 (libx265) cu o calitate foarte bună și fără a atinge sunetul:
ffmpeg -i "input.mp4" -c:v libx265 -preset veryslow -crf 18 -c:a copy "salida_comprimida.mkv"
Aici folosești:
- -c:v libx265Codec video H.265 (foarte eficient).
- -presetat foarte lent: codare mai lentă, dar cu o compresie mai bună.
- -crf 18Calitate foarte bună; poți ajunge până la 20-22 dacă vrei să scazi greutatea.
- -c: o copie: copiază sunetul așa cum este, fără a-l recomprima.
Dacă preferi comprimați și sunetul Pentru AAC la 128 kb/s, ați putea folosi:
ffmpeg -i input.mp4 -c:v libx265 -preset veryslow -crf 18 -c:a aac -b:a 128k output.mkv
Formatul container MKV este foarte stabil și flexibil pentru acest tip de lucru. Dacă aveți absolut nevoie de un MP4 mai târziu, puteți remultiplexare (schimbare container fără recomprimare) cu:
ffmpeg -i salida.mkv -c copy salida_final.mp4
Acest ultim pas este rapiddeoarece se schimbă doar „încapsularea” fișierului, fără a atinge conținutul video și audio.
Operațiuni de editare de bază cu FFmpeg
FFmpeg vă permite, de asemenea, să efectuați multe sarcini clasice de editare fără a deschide un editor video complexNu este convenabil pentru editare creativă la scară largă, dar pentru sarcini specifice este imediat.
Decupează un fragment de timp
Dacă doriți să extrageți un anumit segment dintr-un videoclip, puteți utiliza opțiunile -ss, -t y -la. De exemplu:
ffmpeg -i video.mp4 -ss 35 -t 30 fragmento.mp4
În acest caz, Începi de la a doua 35 și extragi 30 de secunde. O altă variantă ar fi:
ffmpeg -i video.mp4 -ss 00:00:35 -to 00:01:05 fragmento.mp4
Aici definiți ora de început și ora de sfârșit în formatul ore:minute:secunde. În funcție de ordinea în care le puneți. -ss cu privire la -iTăierea va fi mai rapidă, dar mai puțin precisă sau invers; pentru majoritatea utilizărilor practice, o puteți lăsa ca în exemple.
Schimbați rezoluția video
Pentru a adapta un videoclip la o altă rezoluție, de exemplu de la 1920×1080 la 1280 × 720, poți să folosești:
ffmpeg -i entrada.mov -s 1280x720 salida.mp4
Parametru -s definiți dimensiunea ieșirii. De asemenea, puteți utiliza filtre video (-scală vf=) pentru a avea mai mult control asupra rescalării sau pentru a menține anumite proporții.
Ștergerea sau extragerea pistelor audio
Dacă doriți păstrează doar sunetul De exemplu, dintr-un videoclip MP3, puteți utiliza:
ffmpeg -i video.avi -vn -ar 44100 -ac 2 -ab 192k -f mp3 audio.mp3
Aceasta indică faptul că nu doriți videoclipuri cu -vnFrecvența de eșantionare și canalele sunt ajustate și este definită o rată de biți audio rezonabilă pentru MP3.
Dacă ceea ce vrei este eliminați sunetul din videoclip Pentru a lăsa doar imaginea, ai putea folosi:
ffmpeg -i entrada.mp4 -an -c:v copy salida_sin_audio.mp4
Opțiunea -un Elimină sunetul, în timp ce -c:v copie Evitați recomprimarea videoclipului, economisind timp și menținând calitatea.
Introduceți logo-uri sau filigrane
Pentru a plasa un logo fix într-un colț al videoclipului, puteți utiliza filtrul. acoperireUn exemplu tipic:
ffmpeg -i video.mp4 -i logo.png -filter_complex "overlay=10:10" salida.mp4
În această comandă, suprapunere=10:10 Aceasta indică faptul că sigla este poziționată la 10 pixeli de marginea stângă și la 10 pixeli de sus. Dacă doriți să o mutați în colțul din dreapta jos, puteți utiliza expresii bazate pe lățime și înălțime:
overlay=x=(main_w-overlay_w):y=(main_h-overlay_h)
În acest fel, logo-ul se adaptează la orice rezoluție video. fără a fi nevoie să calculați pozițiile manual.
Lucrul cu imagini: extragerea cadrelor și crearea de videoclipuri
FFmpeg nu este doar pentru videoclipuri clasice; este, de asemenea, foarte puternic pentru conversia între videoclipuri și imaginiceea ce este ideal pentru time-lapse, stop-motion sau pentru analizarea unor cadre specifice.
Extrageți imagini dintr-un videoclip
Dacă vrei să convertești fiecare cadru Într-o imagine, ceva de genul (vezi mai multe opțiuni în) este suficient. Cum se extrag cadre din videoclipuri și GIF-uri):
ffmpeg -i video.mp4 image%d.jpg
Aceasta va genera câte un fișier per cadru: imagine1.jpg, imagine2.jpg, imagine3.jpg…Dacă videoclipul este lung, vei ajunge să ai mii de imagini, deoarece majoritatea videoclipurilor rulează între 25 și 30 fps.
Pentru a evita generarea unui număr mare de fișiere, puteți limita extragerea cu un filtru. FPSDe exemplu, o imagine pe secundă:
ffmpeg -i video.mp4 -vf fps=1 image%d.png
În acest fel, se exportă o singură imagine pe secundă din videoclipul original, perfect pentru crearea de rezumate vizuale sau miniaturi automate.
Creați un videoclip din imagini (time-lapse și slideshow-uri)
Dacă aveți o secvență de fotografii numerotate (de exemplu, img-01.png, img-02.png, img-03.png…Poți crea cu ușurință un videoclip:
ffmpeg -framerate 5 -i img-%02d.png video.avi
În acest caz, -rata de cadre 5 Specifică faptul că în videoclipul rezultat vor fi utilizate 5 imagini pe secundă. Dacă sunt fotografii dintr-o prezentare accelerată, este posibil să doriți să creșteți viteza pentru o mișcare mai fluidă sau să o reduceți pentru o prezentare de diapozitive mai relaxată.
FFmpeg înțelege mai multe modele de denumire:
- nume fișier-%03d.png- Potrivește de la filename-001.png la filename-999.png.
- nume fișier-%d.png- Se potrivește cu filename-1.png, filename-2.png etc.
- nume-fișier-*.png: model mai generic, pentru situațiile în care nu respectați numerotarea strictă (în acest caz veți avea nevoie de parametri suplimentari pentru a controla ordinea).
Dacă doriți, de asemenea, să forțați ieșirea videoclipului să fie MP4 cu un anumit rata de cadre pe secundă a redăriiPoți face ceva de genul:
ffmpeg -framerate 1 -i img%03d.png -r 25 -pix_fmt yuv420p output.mp4
Aici definiți un capturarea a 1 imagine pe secundă și o rată de cadre pe secundă la redare de 25 fps, cu un format de pixeli compatibil cu majoritatea playerelor.
Generează GIF-uri animate și efecte simple
Un alt clasic în FFmpeg este conversia videoclipurilor mici în GIF-uri animate pentru site-uri web sau rețeleProcesul poate fi simplificat la o singură linie sau realizat în mai mulți pași pentru a îmbunătăți calitatea.
Pentru cazul cel mai direct:
ffmpeg -i entrada.mp4 salida.gif
Aceasta vă va oferi un GIF funcțional, deși poate nu optimizat. Dacă doriți un control mai bun asupra dimensiunii și calității, o opțiune este rescalează videoclipul, generează cadre PNG și apoi creează GIF-ul din ele. De exemplu:
ffmpeg -i input.mp4 -vf scale=640x360 -c:v h264 -crf 18 -c:a aac salida_intermedia.mp4
ffmpeg -i salida_intermedia.mp4 frame%04d.png
ffmpeg -i salida_intermedia.mp4 salida.gif
Sau folosiți instrumente externe de editare GIF pentru un finisaj și mai fin. Acest tip de flux de lucru vă permite să mențineți o Control deplin asupra rezoluției, calității și dimensiunii fișierului final.
Automatizează editarea video cu scripturi și YAML
Unde FFmpeg strălucește cu adevărat este atunci când îl integrezi în scripturi care automatizează sarcini repetitiveDacă produci același tip de videoclip în fiecare săptămână (cursuri, interviuri, materiale instituționale…), poți defini un flux de lucru standard și poți lăsa un scenariu să facă practic totul.
O abordare foarte puternică este să descrieți proiectul într-un mod Fișier YAML (config.yml)unde detaliezi ce clipuri, imagini, durate, tăieturi, volume și tranziții dorești, iar apoi un script se ocupă de traducerea acestora în comenzi FFmpeg complexe.
Cu acest sistem puteți, de exemplu, definiți o listă de elemente (imagini, videoclipuri, piste audio) care sunt procesate individual (ajustare, modificare a volumului, rescalare, normalizare) într-un director temporar și apoi concatenate cu precizie milimetrică, menținând sincronizarea audio și video.
Cazurile de utilizare tipice includ:
- Creați videoclipuri de instruire din diapozitive + clipuri scurte.
- Creați capsule informaționale compuse din mai multe blocuri standard.
- Generează introduceri și concluzii instituționale pentru o serie întreagă de videoclipuri.
Exemple de scripturi practice cu FFmpeg
Pe baza acestei idei de automatizare, se poate construi diverse tipuri de scripturi, de la cele mai simple până la configurații destul de elaborate, bazându-se întotdeauna pe FFmpeg ca motor.
Script general pentru concatenarea imaginilor și videoclipurilor
Un script de uz general poate funcționa cu un listă de elemente eterogene descrise în YAML (videoclipuri, imagini, clipuri audio), atribuind fiecărei durate, decupaje de început și de sfârșit, volum relativ etc. Scriptul generează versiuni temporare pre-ajustate și apoi construiește un fișier listă pentru a concatena totul folosind FFmpeg.
Acest lucru vă oferă un control fin asupra:
- Rezoluția finală și FPS-ul proiectului.
- Volumul fiecărui segment separat.
- Începutul și sfârșitul fiecărui clip fără a deschide un editor grafic.
Scenariu simplu: imagine de copertă + videoclip principal
Un scenariu și mai frecvent este dorința de a afișarea unui diapozitiv static ca imagine de copertă (titlu, siglă, detalii eveniment) timp de câteva secunde, apoi lansează videoclipul principal.
Scenariul tipic Face ceva de genul:
- Transformă imaginea de copertă într-o videoclip de aproximativ 5 secunde.
- Codificați atât coperta, cât și clipul principal într-un format compatibil pentru concatenare (de exemplu, folosind mpegts).
- Concatenează ambele segmente fără a recomprima conținutul, ceea ce accelerează procesul și evită pierderea calității.
Acest tip de soluție este de obicei stocat în căi precum /automatizare/video-subiecte-deschise/ și se integrează ușor în fluxurile de lucru de înregistrare pentru cursuri, prelegeri sau prezentări înregistrate.
Script dezvoltat pentru montaje cu tranziții
La un nivel superior, puteți construi un script care asamblează mai multe blocuri cu tranziții audio și video fluideUn exemplu tipic include:
- Introducere instituțională cu muzică și animație.
- Imagine statică cu titlul și detaliile întâlnirii.
- Videoclip principal înregistrat în format RAW (poate fi decupat la început și la sfârșit).
- Încheiere cu animație și muzică.
Cu FFmpeg puteți aplica filtre precum xfade (tranziție video) și overfade (tranziție audio) pentru a face schimbările dintre blocuri line. În plus, puteți:
- Decupează videoclipul principal din mers, conform timpilor indicați în YAML.
- Reglați volumul fiecărui segment independent.
- Forțați parametrii standard, cum ar fi rezoluția de 720p și sunetul de 44.1 kHz.
Logica asamblării este definită într-un config.yml cu căile fiecărui element, durata tranzițiilor, punctele de tăiere etc. și un script într-un folder precum /automatizare/ediție-cafenea/ Traduceți toate acestea într-un lanț de filtre și hărți în FFmpeg. Rezultatul este un videoclip final consistent din punct de vedere vizual și auditiv, cu un efort manual minim.
Mai multe comenzi utile și trucuri avansate
Pe lângă toate cele de mai sus, FFmpeg are infinit de uzuri Produse „de nișă” care, atunci când ai nevoie de ele, salvează situația. Printre altele:
- Listați sau extrageți metadatele:
ffmpeg -i INPUT -f ffmetadata metadata.txt. - Înlocuirea pistei audio a unui videoclip fără a atinge videoclipul:
ffmpeg -i video.mp4 -i nuevo_audio.mp3 -map 0:v -map 1:a -c copy salida.mp4. - Generați o vizualizare a undelor audio în videoclip cu filtrul
showwaves, util pentru videoclipuri de tip podcast. - Schimbați formatul subtitrăriiDe exemplu, de la VTT la ASS:
ffmpeg -i subtitulos.vtt salida.assPentru a edita cu ușurință subtitrările, puteți vedea Folosește Word ca editor de subtitrări. - Ajustare volum repede cu
-volsau filtre audio mai avansate.
Lista completă este aproape imposibil de gestionat, dar cu o combinație de documentație oficială și exemple practice puteți începe să o construiți. propriul repertoriu de comenzi utilizate frecvent ca să nu fie nevoie să reinventăm roata de fiecare dată.
FFmpeg trece de la a fi acel „program ciudat de consolă” la a deveni un instrument central pentru conversia, comprimarea, editarea în lot și automatizarea creării de videoclipuriFie că folosești calculatorul personal sau scripturi și fluxuri de lucru profesionale, odată ce te obișnuiești să scrii câteva comenzi de bază, fiecare nou caz de utilizare este pur și simplu o chestiune de adăugare a unor mici elemente la o bază pe care o stăpânești deja.
Scriitor pasionat despre lumea octeților și a tehnologiei în general. Îmi place să îmi împărtășesc cunoștințele prin scriere și asta voi face în acest blog, să vă arăt toate cele mai interesante lucruri despre gadgeturi, software, hardware, tendințe tehnologice și multe altele. Scopul meu este să vă ajut să navigați în lumea digitală într-un mod simplu și distractiv.
