- FFmpeg es una herramienta de línea de naredbe multiplataforma capaz de grabar, convertir y procesar audio y vídeo con soporte para una gran cantidad de códecs y formatos.
- Omogućuje vam izvođenje svega, od jednostavnih pretvorbi formata do naprednih zadataka poput obrezivanja, promjene veličine, umetanja logotipa, generiranja GIF-ova i stvaranja videa iz nizova slika.
- Njegov pravi potencijal očituje se kada se integrira u skripte i automatizirane tijekove rada, gdje može spajati isječke, primjenjivati prijelaze, normalizirati zvuk i standardizirati produkciju sadržaja.
- S nekoliko dobro razumljivih naredbi, moguće je izgraditi učinkovit tijek rada za uređivanje i kompresiju videa bez oslanjanja na glomazne grafičke sučelja.

Ako često radite s videom, prije ili kasnije ćete naići na FFmpeg kao švicarski nožić za pretvaranje, kompresiju i automatizaciju zadatakaNije važno dolazite li iz urednika s grafičkim sučeljem, s platformi tekući ili jednostavni online pretvarači: kada vam je potrebna fina kontrola, rijetki formati ili masovna automatizacija, FFmpeg dolazi do izražaja.
Također je istina da je prvi put kad ga vidite pomalo zastrašujuće: montones de parámetros, comandos larguísimos y mensajes en la terminalAli nakon što shvatite njegovu logiku, postaje izuzetno praktičan alat za repetitivne zadatke: promjenu formata, smanjenje veličine datoteke, izrezivanje, dodavanje logotipa, generiranje GIF-ova ili stvaranje time-lapse videa od fotografija, između ostalog.
Što je FFmpeg i zašto se toliko koristi u videu?
FFmpeg je skup besplatnih softverskih alata i biblioteka Dizajniran za snimanje, pretvaranje, obradu i strujanje zvuka i videa. Nije to aplikacija s lijepim prozorima i gumbima: kontrolira se iz naredbenog retka, što joj daje nevjerojatnu fleksibilnost i čini je idealnom za automatizaciju, poslužitelje i skriptiranje.
Njegovo ime se odnosi na Ubrzano MPEG...odnosi se na skupinu koja je definirala MPEG video standarde. Od 2000. godine, kada je Fabrice Bellard pokrenuo projekt, zajednica ga širi u... multimedijski mehanizam koji koriste bezbrojni programi i usluge bez vašeg znanja (streaming platforme, uređivači, konverteri itd.).
Jedna od njegovih najvećih vrlina je ta što Podržava ogroman broj kodeka i kontejnera (Kako odabrati najbolje kodeke za videozapise): MP4, MOV, MKV, AVI, WebM, FLV, Ogg, animirani GIF-ovi, nizovi slika, MP3AAC, OGG, WAV, WMA i mnogi drugi formati. Ako vaš omiljeni player nešto reproducira, FFmpeg to vjerojatno može pročitati ili generirati.
Nadalje, FFmpeg je križna platformaMože se instalirati bez ikakvih problema u Linux, WindowsmacOS i ostali sustavi UnixI premda se koristi iz konzole, postoji nekoliko grafičkih sučelja koja ga koriste iza kulisa ako radije nastavljate postupno bez gledanja naredbi.
Kako instalirati FFmpeg na Windows, macOS i Linux

Prije nego što počnemo izdavati naredbe, moramo instalirati alat. Postupak se razlikuje ovisno o operativnom sustavu.Ali u svim slučajevima, to se radi samo jednom i onda zaboravite na to.
Instalirajte FFmpeg na Windowsima
U sustavu Windows imate nekoliko mogućnosti, ali jedna od najčešćih je preuzimanje statički paket je već kompiliranTo vas štedi od kompajliranja bilo čega ili rješavanja ovisnosti.
Tipičan tijek rada bio bi ovakav: idete na službenu FFmpeg web stranicu ili pouzdanu stranicu za izradu, descargas u "statička" verzija u ZIP ili 7z formatuRaspakirate ga u željenu mapu (na primjer, na sekundarni disk) i unutra ćete vidjeti direktorij s nekoliko poddirektorija, uključujući kanta, gdje se nalaze izvršne datoteke ffmpeg.exe, ffplay.exe i ffprobe.exe.
Kako biste izbjegli stalni pristup toj mapi, idealno rješenje je dodajte putanju do direktorija bin u varijable sistemskog okruženjaIz Upravljačke ploče > Sustav > Napredne postavke sustava > Varijable okruženja pronađite varijablu Putanja, uredite je i dodajte punu putanju do te mape bin. Odatle ćete moći pisati ffmpeg na bilo kojoj konzoli i radit će.
Druga vrlo praktična alternativa je korištenje upravitelj paketa poput Chocolateyja i pokrenite ga u administratorskoj konzoli: choco install ffmpegUpravitelj sam upravlja instalacijom i PATH-om.
Instalirajte FFmpeg na macOS
En MacNajpraktičniji način je povlačenje HomebrewAko ga nemate, instalirajte ga lijepljenjem rukopis Službenik za instalaciju na terminalu. Nakon što je operativno, jednostavno:
brew install ffmpeg
i za nekoliko minuta imat ćete ffmpeg spreman za korištenje s bilo kojeg terminalaHomebrew automatski obrađuje ovisnosti, putanje i buduća ažuriranja.
Ako više volite sami, možete preuzeti već kompilirane binarne datoteke za macOS, ali u praksi, s Homebrewom si štedite puno muke i možete ažurirati FFmpeg jednostavnim brew upgrade ffmpeg.
Instaliranje FFmpega na Linuxu
U većini modernih distribucija, FFmpeg je dostupan u službenim repozitorijimaU Debianu, Ubuntuu i derivatima, na primjer, Možete ga instalirati pomoću:
sudo apt install ffmpeg
U drugim distribucijama upravitelj paketa će se promijeniti, ali ideja je ista: Instalirate ffmpeg paket i njegove pridružene alate, kao što je ffprobe. Ako zatim pokrenete which ffmpeg i dobiješ nešto poput /usr/bin/ffmpegSve je u redu.
U naprednijim scenarijima (na primjer, poslužitelji kojima je potrebno specifična podrška za određene kodeke ili bibliotekeNeki preferiraju kompajlirati FFmpeg iz izvornog koda i ručno dodati module poput LAME za MP3, libogg, libvorbis ili ga integrirati s mplayerom. U tim slučajevima, ove se biblioteke preuzimaju i kompajliraju unaprijed, a dozvole i putanje se prilagođavaju (LD_LIBRARY_PATH) i simboličke veze se stvaraju u /usr/lib prema FFmpeg bibliotekama u /usr/local/lib.
Razumijevanje osnovne sintakse FFmpeg-a

Nakon instalacije, sljedeći korak je razumjeti Kako napisati minimalnu FFmpeg naredbuOpća struktura je obično sljedeća:
ffmpeg -i entrada.ext salida.ext
Ključni parametar je -iOvo označava ulaznu datoteku ili stream. Sve što dodate prije i poslije te opcije su postavke koje utječu na način obrade i generiranja izlaza.
Ako jednostavno želite dobiti tehničke informacije iz video datoteke, možeš koristiti:
ffmpeg -hide_banner -i video.mp4
S ovim, FFmpeg prikazuje detalje kao što su trajanje, brzina prijenosa, video i audio kodeci, razlučivost, brzina sličica u sekundi i ostale metapodatke. Parametar -hide_banner To vam sprječava da vidite ogroman početni blok konfiguracije i kompilacije te vam omogućuje da se usredotočite na stvarno korisne informacije.
Neki vrlo korisni globalni parametri koji će vam pomoći su:
- -formati: navodi podržane formate (kontejnere).
- -kodeci: prikazuje sve ulazne i izlazne kodeke.
- -dekoderi: detaljno prikazuje kodeke prihvaćene kao ulaz.
- -enkoderi: navodi kodeke koje možete koristiti prilikom izvoza.
S tim minimalnim informacijama, možete početi pretvoriti iz jednog formata u drugi jednostavnom promjenom izlazne ekstenzije, Na primjer:
ffmpeg -i video_origen.mov video_destino.mp4
U ovom slučaju, FFmpeg će odabrati razumni kodeci ovisno o ekstenzijiNa primjer, H.264 za video i AAC za audio u MP4 formatu, osim ako ne navedete drugačije.
Kodeci, spremnici i ključni parametri kvalitete
Da biste maksimalno iskoristili FFmpeg, važno je razlikovati kodek i kontejnerMP4 (kontejner) nije isto što i H.264 ili H.265 (video kodeci), iako se ti pojmovi često miješaju u svakodnevnom jeziku.
Un kodek To je algoritam koji komprimira i dekomprimira audio ili video tok podataka (H.264, H.265/HEVC, AV1, VP9, AAC, MP3, Ogg Vorbis, itd.). kontejner (MP4, MKV, AVI, MOV, WebM, Ogg, itd.) je "omotač" koji može sadržavati više video i audio zapisa, titlovi i metapodatke.
Neki uobičajeni spremnici su:
- AVI: klasični Windows program, široko korišten, ali s modernim ograničenjima.
- MOVStandardni QuickTime format, široko korišten u Apple okruženjima.
- MP4: standardni spremnik za MPEG-4, visoko kompatibilan na svim uređajima.
- Ogg- Otvorite spremnik za kodeke poput Vorbisa ili Theore.
- MKVMatroska format, vrlo fleksibilan i otvoren, idealan za mastering i arhiviranje.
U FFmpeg-u možete kontrolirati kvalitetu prvenstveno parametrima kao što su -b:v (brzina prijenosa videozapisa), -b:a (audio bitrate) ili popularni CRF u kodecima kao što su H.264 ili H.265. Na primjer:
ffmpeg -i video.avi -b:v 2500k -b:a 192k salida.mp4
U ovom slučaju prisiljavate brzinu prijenosa videa od 2.500 kb / s i jedan audio snimak 192 kb / sVeća brzina prijenosa podataka općenito znači veću kvalitetu, ali i veću veličinu datoteke i obrnuto. S CRF-om (Constant Rate Factor), logika se malo mijenja, jer Niža vrijednost znači veću kvalitetu i veću veličinu datoteke.U H.265, na primjer, CRF oko 18-22 je u mnogim slučajevima gotovo nerazlučiv od originala.
Konverzija videa, kompresija i promjena formata
Jedna od najčešćih upotreba FFmpega je Pretvorite i ponovno komprimirajte videozapise kako biste ih smanjili ili promijenili njihov format.uz održavanje razumne kvalitete. Ako preferirate alternativu s grafičkim sučeljem, možete vidjeti Kako uređivati i pretvarati videozapise pomoću VLC-a.
Za osnovna konverzijaJednostavno označite ulazne i izlazne točke:
ffmpeg -i origen.avi destino.mpg
Ako želite preciznije podesiti stvari, možete odrediti video i audio kodeke, način kvalitete i spremnik. Na primjer, za Komprimiraj video pomoću H.265 (libx265) s vrlo dobrom kvalitetom i bez diranja zvuka:
ffmpeg -i "input.mp4" -c:v libx265 -preset veryslow -crf 18 -c:a copy "salida_comprimida.mkv"
Ovdje koristite:
- -c:v libx265H.265 video kodek (vrlo učinkovit).
- -unaprijed postavljeno vrlo sporo: sporije kodiranje, ali s boljom kompresijom.
- -crf 18Vrlo visoka kvaliteta; možete ići do 20-22 ako želite manju težinu.
- -c: kopija: kopira zvuk kakav jest, bez ponovne kompresije.
Ako više volite komprimiraj i zvuk Za AAC pri 128 kb/s, možete koristiti:
ffmpeg -i input.mp4 -c:v libx265 -preset veryslow -crf 18 -c:a aac -b:a 128k output.mkv
MKV format spremnika je vrlo stabilan i fleksibilan za ovu vrstu rada. Ako vam kasnije apsolutno zatreba MP4, možete remultipleksiranje (promjena spremnika bez ponovne kompresije) s:
ffmpeg -i salida.mkv -c copy salida_final.mp4
Ovaj posljednji korak je brzojer se mijenja samo "omot" datoteke, bez dodirivanja video i audio sadržaja.
Osnovne operacije uređivanja s FFmpeg-om
FFmpeg vam također omogućuje izvođenje mnogih klasični zadaci uređivanja bez otvaranja teškog video editoraNije praktično za kreativno uređivanje velikih razmjera, ali za specifične zadatke je odmah dostupno.
Izrežite fragment vremena
Ako želite izdvojiti određeni segment iz videa, možete koristiti opcije -H.H., -t y -do, Na primjer:
ffmpeg -i video.mp4 -ss 35 -t 30 fragmento.mp4
U ovom slučaju Počinjete od 35. sekunde i izvučete 30 sekundi. Druga varijacija bi bila:
ffmpeg -i video.mp4 -ss 00:00:35 -to 00:01:05 fragmento.mp4
Ovdje definirate vrijeme početka i vrijeme završetka u formatu sati:minute:sekunde. Ovisno o redoslijedu kojim ih stavite. -H.H. s obzirom na -iRezanje će biti brže, ali manje precizno ili obrnuto; za većinu praktičnih upotreba možete ostaviti kao u primjerima.
Promjena rezolucije videa
Za prilagodbu videa drugoj rezoluciji, na primjer s 1920×1080 na 1280 × 720, možeš koristiti:
ffmpeg -i entrada.mov -s 1280x720 salida.mp4
Parametar -s definirajte izlaznu veličinu. Također možete koristiti video filtere (-vf skala=) kako biste imali veću kontrolu nad promjenom skale ili zadržali određene proporcije.
Brisanje ili izdvajanje audio zapisa
Ukoliko želite zadrži samo audio Na primjer, iz MP3 videa možete koristiti:
ffmpeg -i video.avi -vn -ar 44100 -ac 2 -ab 192k -f mp3 audio.mp3
To ukazuje na to da ne želite video s -vnFrekvencija uzorkovanja i kanali su podešeni, a definirana je i razumna brzina prijenosa zvuka za MP3.
Ako želite ono što želite ukloni zvuk iz videa Da biste ostavili samo sliku, možete koristiti:
ffmpeg -i entrada.mp4 -an -c:v copy salida_sin_audio.mp4
Izbor -an Uklanja zvuk, dok -c:v kopija Izbjegavajte ponovnu kompresiju videa, štedite vrijeme i održavajte kvalitetu.
Umetnite logotipe ili vodene žigove
Za postavljanje fiksnog logotipa u kut videa možete koristiti filtar. prekritiTipičan primjer:
ffmpeg -i video.mp4 -i logo.png -filter_complex "overlay=10:10" salida.mp4
U ovoj naredbi, prekrivanje=10:10 To označava da je logotip pozicioniran 10 piksela od lijevog ruba i 10 piksela od vrha. Ako ga želite pomaknuti u donji desni kut, možete koristiti izraze temeljene na širini i visini:
overlay=x=(main_w-overlay_w):y=(main_h-overlay_h)
Na ovaj način logo se prilagođava bilo kojoj video rezoluciji bez potrebe za ručnim izračunavanjem pozicija.
Rad sa slikama: izdvajanje kadrova i stvaranje videa
FFmpeg nije samo za klasične videozapise; također je vrlo moćan za pretvarati između videozapisa i slikašto je idealno za time-lapse, stop-motion ili za analizu određenih kadrova.
Izdvojite slike iz videa
Ako želite pretvoriti svaki okvir Na slici je dovoljno nešto poput (pogledajte više opcija u ). Kako izdvojiti okvire iz videa i GIF-ova):
ffmpeg -i video.mp4 image%d.jpg
Ovo će generirati jednu datoteku po okviru: slika1.jpg, slika2.jpg, slika3.jpg…Ako je video dug, dobit ćete tisuće slika jer većina videa radi između 25 i 30 fps.
Kako biste izbjegli generiranje velikog broja datoteka, možete ograničiti ekstrakciju pomoću filtera. fpsNa primjer, jedna slika u sekundi:
ffmpeg -i video.mp4 -vf fps=1 image%d.png
Na ovaj način, samo se jedna slika izvozi po sekundi izvornog videa, što je savršeno za izradu vizualnih sažetaka ili automatske sličice.
Izradite videozapis od slika (ubrzano snimanje i prezentacije)
Ako imate niz numeriranih fotografija (na primjer, img-01.png, img-02.png, img-03.png…Video možete jednostavno izraditi:
ffmpeg -framerate 5 -i img-%02d.png video.avi
U ovom slučaju -broj sličica u sekundi 5 Određuje da će se u rezultirajućem videu koristiti 5 slika u sekundi. Ako su to fotografije iz ubrzanog snimanja, možda biste trebali povećati brzinu za glatkije kretanje ili je smanjiti za opušteniju prezentaciju.
FFmpeg razumije nekoliko obrazaca imenovanja:
- naziv_datoteke-%03d.png- Odgovara nazivu datoteke-001.png do nazivu datoteke-999.png.
- naziv_datoteke-%d.png- Odgovara naziv_datoteke-1.png, naziv_datoteke-2.png itd.
- naziv_datoteke-*.png: generičkiji uzorak, za kada se ne pridržavate strogo numeriranja (u ovom slučaju trebat će vam dodatni parametri za kontrolu redoslijeda).
Ako također želite prisiliti izlazni video da bude MP4 s određenim broj sličica u sekundi reprodukcijeMožete učiniti nešto ovako:
ffmpeg -framerate 1 -i img%03d.png -r 25 -pix_fmt yuv420p output.mp4
Ovdje definirate snimanje 1 slike u sekundi i brzinu reprodukcije od 25 fps, s formatom piksela kompatibilnim s većinom igrača.
Generirajte animirane GIF-ove i jednostavne efekte
Još jedan klasik u FFmpeg-u je pretvaranje malih videa u Animirani GIF-ovi za web stranice ili mrežeProces se može pojednostaviti na jednu liniju ili obaviti u nekoliko koraka radi poboljšanja kvalitete.
Za najizravniji slučaj:
ffmpeg -i entrada.mp4 salida.gif
Ovo će vam dati funkcionalan GIF, iako možda neoptimiziran. Ako želite bolju kontrolu nad veličinom i kvalitetom, jedna od mogućnosti je promijenite skalu videa, generirajte PNG okvire, a zatim od njih stvorite GIF, Na primjer:
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
Ili upotrijebite vanjske alate za uređivanje GIF-ova za još finiju završnu obradu. Ova vrsta tijeka rada omogućuje vam održavanje Potpuna kontrola nad rezolucijom, kvalitetom i veličinom konačne datoteke.
Automatizirajte uređivanje videa pomoću skripti i YAML-a
FFmpeg zaista blista kada ga integrirate u skripte koje automatiziraju ponavljajuće zadatkeAko svaki tjedan izrađujete istu vrstu videa (tečajeve, intervjue, institucionalne članke...), možete definirati standardni tijek rada i pustiti skriptu da radi praktički sve.
Vrlo moćan pristup je opisati svoj projekt na YAML datoteka (config.yml)gdje detaljno opisujete koje isječke, slike, trajanja, rezove, glasnoće i prijelaze želite, a zatim se skripta brine o prevođenju toga u složene FFmpeg naredbe.
S ovim sustavom možete, na primjer, definirati popis elemenata (slike, videozapisi, audiozapisi) koji se pojedinačno obrađuju (obrezivanje, promjena glasnoće, ponovno skaliranje, normalizacija) u privremenom direktoriju, a zatim se spajaju s milimetarskom preciznošću, održavajući sinkroniziranim zvuk i sliku.
Tipični slučajevi upotrebe uključuju:
- Izradite videozapise za obuku iz slajdovi + kratki isječci.
- Izradite informativne kapsule sastavljene od nekoliko standardnih blokova.
- Generirajte institucionalne uvode i završne dijelove za cijelu seriju videa.
Primjeri praktičnih skripti s FFmpeg-om
Na temelju ove ideje automatizacije, može se izgraditi razne vrste skripti, od najjednostavnijih do prilično složenih postavki, uvijek se oslanjajući na FFmpeg kao engine.
Opći skript za spajanje slika i videa
Skripta opće namjene može raditi s popis heterogenih elemenata opisano u YAML-u (videozapisi, slike, audio isječci), dodjeljujući svakom trajanju, početnim i završnim rezovima, relativnoj glasnoći itd. Skripta generira unaprijed prilagođene privremene verzije, a zatim izrađuje datoteka s popisom spojiti sve pomoću FFmpega.
To vam daje finu kontrolu nad:
- Konačna rezolucija i FPS projekta.
- Volumen svakog segmenta zasebno.
- Početak i kraj svakog isječka bez otvaranja grafičkog editora.
Jednostavan scenarij: naslovna slika + glavni video
Još češći scenarij je želja za prikaži statički slajd kao naslovnu sliku (naslov, logotip, detalji događaja) nekoliko sekundi, a zatim pokrenite glavni video.
Tipičan scenarij Radi nešto ovako:
- Pretvorite naslovnu sliku u video isječak od oko 5 sekundi.
- Kodirajte i naslovnicu i glavni isječak u formatu kompatibilnom za spajanje (npr. pomoću mpegts-a).
- Spaja oba segmenta bez ponovnog komprimiranja sadržaja, što ubrzava proces i izbjegava gubitak kvalitete.
Ova vrsta rješenja obično se pohranjuje u putanjama poput /automatizacija/videozapisi-otvorene-teme/ i lako se integriraju u tijekove rada snimanja za nastavu, predavanja ili snimljene prezentacije.
Scenarij razvijen za montaže s prijelazima
Na višoj razini možete izraditi skriptu koja sastavlja nekoliko blokova s glatkim audio i video prijelazimaTipičan primjer uključuje:
- Institucionalni uvod s glazbom i animacijom.
- Statična slika s naslovom i detaljima sastanka.
- Glavni video snimljen u RAW formatu (moguće obrezivanje na početku i kraju).
- Završava se animacijom i glazbom.
S FFmpeg-om možete primijeniti filtere kao što su xfade (prijelaz videa) i pretapanje (audio prijelaz) kako bi promjene između blokova bile glatke. Osim toga, možete:
- Obrežite glavni video u hodu prema vremenima navedenim u YAML-u.
- Podesite glasnoću svakog segmenta zasebno.
- Prisilno uvedite standardne parametre kao što su rezolucija od 720p i zvuk od 44.1 kHz.
Logika sklopa je definirana u config.yml s putanjama svakog elementa, trajanjem prijelaza, točkama rezanja itd. i skriptom u mapi poput /automatizacija/izdanje-za-kafić/ Prevedite sve to u lanac filtera i mapa u FFmpeg-u. Rezultat je konačni video koji je vizualno i zvučno konzistentan uz minimalan ručni napor.
Više korisnih naredbi i naprednih trikova
Uz sve navedeno, FFmpeg ima infinidad de usos "Nišni" proizvodi koji, kada vam zatrebaju, spašavaju dan. Između ostalog:
- Popis ili izdvajanje metapodataka:
ffmpeg -i INPUT -f ffmetadata metadata.txt. - Zamjena audio zapisa videozapisa bez diranja videa:
ffmpeg -i video.mp4 -i nuevo_audio.mp3 -map 0:v -map 1:a -c copy salida.mp4. - Generiranje vizualizacije audio valova u videu s filterom
showwaves, korisno za videozapise tipa podcasta. - Promjena formata titlovaNa primjer, od VTT-a do ASS-a:
ffmpeg -i subtitulos.vtt salida.assZa jednostavno uređivanje titlova, možete vidjeti Koristite Word kao uređivač titlova. - prilagodite glasnoću brzo s
-volili naprednije audio filtere.
Potpuni popis je gotovo nemoguće upravljati, ali kombinacijom službene dokumentacije i praktičnih primjera možete započeti s izgradnjom. vlastiti repertoar često korištenih naredbi tako da ne moramo svaki put iznova izmišljati kotač.
FFmpeg od "čudnog konzolnog programa" postaje središnji alat za pretvaranje, kompresiju, skupno uređivanje i automatizaciju stvaranja videaBilo na osobnom računalu ili unutar profesionalnih skripti i tijekova rada, nakon što se naviknete pisati nekoliko osnovnih naredbi, svaki novi slučaj upotrebe jednostavno je pitanje dodavanja malih dijelova temelju koji već savladate.
Strastveni pisac o svijetu bajtova i tehnologije općenito. Volim dijeliti svoje znanje pisanjem, a to je ono što ću učiniti na ovom blogu, pokazati vam sve najzanimljivije stvari o gadgetima, softveru, hardveru, tehnološkim trendovima i još mnogo toga. Moj cilj je pomoći vam da se snađete u digitalnom svijetu na jednostavan i zabavan način.
