Téma FFmpeg je dnes nanejvýš důležité, protože má významný dopad na různé oblasti každodenního života. Od svého vlivu na ekonomiku až po roli ve společnosti je FFmpeg tématem, které nezůstane bez povšimnutí. V průběhu historie byl předmětem diskusí a analýz a jeho význam zůstává platný i dnes. V tomto článku prozkoumáme různé aspekty FFmpeg a jeho důležitost v dnešním světě.
![]() | |
![]() | |
Vývojář | FFmpeg tým |
---|---|
První vydání | 20. prosince 2000 |
Aktuální verze | 7.1.1 (3. března 2025) |
Operační systém | multiplatformní software |
Platforma | x86 architektura ARM PowerPC Architektura MIPS DEC Alpha Blackfin AVR32 SPARC |
Vyvíjeno v | C, jazyk symbolických adres a C++ |
Typ softwaru | multimediální framework |
Licence | LGPL nebo GPL |
Web | ffmpeg.org |
Některá data mohou pocházet z datové položky. |
FFmpeg je svobodný a otevřený softwarový projekt, který se skládá ze sady knihoven a programů pro práci s videem, zvukem a dalšími multimediálními soubory a datovými proudy. Jeho jádrem je samotný nástroj ffmpeg
pro příkazový řádek, určený pro zpracování video a audio souborů. Je široce používán pro překódování formátů, základní úpravy (stříhání a spojování), škálování videa, postprodukční efekty videa a dodržování standardů (SMPTE, Mezinárodní telekomunikační unie).
FFmpeg obsahuje také další nástroje: ffplay
, jednoduchý přehrávač médií, a ffprobe
, nástroj příkazového řádku pro zobrazení informací o médiích. Mezi obsažené knihovny patří libavcodec, knihovna audio/video kodeků používaná mnoha komerčními i svobodnými softwarovými produkty, libavformat (Lavf),[1] knihovna pro multiplexování audio/video kontejnerů, a libavfilter, knihovna pro vylepšování a úpravu filtrů přes filtrgraf, podobný Gstreameru.[2]
FFmpeg je součástí pracovních postupů mnoha dalších softwarových projektů a jeho knihovny jsou základní součástí softwarových přehrávačů médií, jako je VLC, a byl zahrnut do jádra pro zpracování videí YouTube a BiliBili.[3] Obsahuje kodéry a dekodéry pro mnoho formátů zvukových a video souborů, takže je velmi užitečný pro překódování běžných i neobvyklých mediálních souborů.
FFmpeg je zveřejněn pod licencí LGPL (verze 2.1 či novější) nebo GPL (verze 2.0 či novější), podle toho, které možnosti jsou povoleny.[4]
Projekt založil vývojář Fabrice Bellard (pod pseudonymem Gerard Lantau) a v současnosti jej udržuje Michael Niedermayer.[5][6] FFmpeg je vyvíjen pod systémem Linux, ale může být zkompilován pod většinou operačních systémů (včetně Microsoft Windows).
Projekt se skládá z několika komponent.
FFmpeg je uvolněn pro LGPL nebo GPL (závisí na konkrétní knihovně / části kódu).
Vývojáři FFmpeg rozkryli (reverzním inženýrstvím) a reimplementovali následující formáty (kvůli tomu může být část projektu v některých zemích nelegální):
Standardní MPEG-4 kodek použitý v FFmpeg má přiřazen FourCC kód FMP4
.
FFmpeg je vícevláknový program. Podporuje akceleraci přes grafické karty.[8] Podporuje architektury x86, PPC (PowerPC), ARM, DEC Alpha, SPARC, a MIPS.
FFmpeg podporuje následující aplikačně specifické integrované obvody (anglicky application-specific integrated circuit)[8]:
ASIC | Podpora v FFmpeg |
---|---|
UVD | Dekódování |
VCE | Kódování |
Crystal HD | Dekódování |
Hexagon | Kódování a dekódování |
Intel Clear Video | Dekódování |
Intel Quick Sync Video | Kódování a dekódování |
PureVideo/NVDEC | Dekódování |
Následující kód demonstruje použití FFmpeg na otevření souboru s videem.
#include <avcodec.h>
#include <avformat.h>
int main(int argc, char *argv)
{
av_register_all();
AVFormatContext *pFormatCtx;
if(av_open_input_file(&pFormatCtx, argv, NULL, 0, NULL) != 0)
return -1;
…
FFmpeg umožňuje specifikovat na příkazové řádce graf filtrů, kterým mají multimediální data procházet. Následující příkaz vloží před zobrazení snímků filtr, který překlopí obraz podle vertikální osy.
ffplay -vf vflip clock.avi
Filtrům je možno předávat parametry. Další příkaz vloží to řetězce filtr, který provede ořez snímku. Ořez má rozměry pixelů a počíná na souřadnicích (0,0).
ffplay -vf crop=256:256:0:0 clock.avi
Poslední příkaz zařadí řetězec filtrů. Každý snímek je nejprve transponován, a poté negován.
ffplay -vf "transpose, negate" clock.avi
Majoritní verze FFmpegu vycházejí přibližně každé 3 měsíce. Mezi majoritními verzemi jsou vydávány pouze opravy důležitých chyb.
větev | krycí jméno | první vydání | poslední vydání | aktivní vývoj |
---|---|---|---|---|
5.0 | Lorentz[9] | 2022-01-17 | 2022-04-04 | ano |
4.4 | Rao[9] | 2021-04-08 | 2022-04-14 | ano |
4.3 | 4:3[9] | 2020-06-15 | 2022-04-16 | ano |
4.2 | Ada[9] | 2019-08-05 | 2022-04-16 | ano |
4.1 | al-Khwarizmi | 2018-11-06 | 2022-04-17 | ano |
4.0 | Wu | 2018-04-20 | 2020-07-03 | ne |
3.4 | Cantor | 2017-10-15 | 2022-04-22 | ano |
3.3 | Hilbert | 2017-04-13 | 2018-11-18 | ne |
3.2 | Hypatia | 2016-10-27 | 2022-04-23 | ano |
3.1 | Laplace | 2016-06-27 | 2017-09-25 | ne |
3.0 | Einstein | 2016-02-15 | 2018-10-28 | ne |
2.8 | Feynman | 2015-09-09 | 2021-10-21 | ne |
2.7 | Nash | 2015-06-10 | 2016-04-30 | ne |
2.6 | Grothendieck | 2015-03-07 | 2016-05-03 | ne |
2.5 | Bohr | 2014-12-04 | 2016-02-02 | ne |
2.4 | Fresnel | 2014-09-14 | 2017-12-31 | ne |
2.3 | Mandelbrot | 2014-07-16 | 2015-01-06 | ne |
2.2 | Muybridge | 2014-03-23 | 2015-06-18 | ne |
2.1 | Fourier | 2013-10-28 | 2015-04-30 | ne |
2.0 | Nameless | 2013-07-10 | 2015-06-10 | ne |
1.2 | Magic | 2013-03-15 | 2015-02-12 | ne |
1.1 | Fire Flower | 2013-01-07 | 2015-03-13 | ne |
1.0 | Angel | 2012-09-28 | 2014-07-20 | ne |
0.11 | Happiness | 2012-05-25 | 2014-03-10 | ne |
0.10 | Freedom | 2012-01-27 | 2015-03-12 | ne |
0.9 | Harmony | 2011-12-11 | 2014-03-21 | ne |
0.8 | Love | 2011-06-21 | 2013-10-06 | ne |
0.7 | Peace | 2011-06-21 | 2015-03-12 | ne |
0.6 | Works with HTML5 | 2010-06-15 | 2013-09-23 | ne |
0.5 | half-way to world domination A.K.A. the belligerent blue bike shed | 2009-03-10 | 2014-11-29 | ne |
V letech 2020 a 2021 NASA uskutečnilo misi Mars 2020, kde jejich vozítko Perseverance použilo FFmpeg pro kompresi fotografií a videa odeslaného zpět na Zemi.[10]
V tomto článku byl použit překlad textu z článku FFmpeg na anglické Wikipedii.