Logo programu | |
| Autor | początkowo Fabrice Bellard obecnie FFmpeg team |
|---|---|
| Pierwsze wydanie | 20 grudnia 2000[1] |
| Aktualna wersja stabilna | 9.0.2 (18 września 2026) [±] |
| Język programowania | C, Język asemblera |
| Platforma sprzętowa | x86, x86-64, ARM, AVR, MIPS, PowerPC, SPARC; może być kompilowany na inne architektury |
| System operacyjny | wieloplatformowy |
| Rodzaj | narzędzie multimedialne |
| Licencja | LGPL, część opcjonalnych modułów GPL |
| Strona internetowa | |
FFmpeg – wieloplatformowy projekt, którego celem jest dostarczenie kompletnej platformy do nagrywania, konwertowania i przesyłania strumieniowego treści audiowizualnych. Głównym komponentem jest biblioteka libavcodec, która odpowiada za obsługę wielu popularnych kodeków[2]. Projekt stanowi w praktyce podstawę dla odtwarzaczy multimediów w wielu dystrybucjach GNU/Linuksa. W zależności od opcji wybranych podczas kompilacji FFmpeg jest udostępniany na licencji LGPL albo GPL.
Nazwa programu pochodzi od połączenia słów MPEG – nazwy grupy standaryzującej – oraz FF, stosowanego w odtwarzaczach multimedialnych i oznaczającego szybkie przewijanie w przód[3].
Projekt założył Fabrice Bellard (znany też jako Gerard Lantau), a następnie od roku 2004 aż do 31 lipca 2015 roku projekt był prowadzony przez Michaela Nidermayera[4]. Wielu programistów FFmpeg jest związanych z projektem MPlayer, na serwerach którego był też hostowany sam FFmpeg.
FFmpeg jest rozwijany na systemach GNU/Linux, ale kompiluje się praktycznie na dowolnym systemie operacyjnym, między innymi MacOS X, Microsoft Windows i AmigaOS. Przez długi okres zasadniczo nie były tworzone konkretne wydania, a programiści projektu zalecali stosowanie buildów opartych na głównej gałęzi drzewa SVN, która powinna być stabilna. W zależności od wyboru opcjonalnych bibliotek, oprogramowanie jest udostępnione na licencji GPL albo LGPL.
Podczas prac nad FFmpeg powstały dwa nowe kodeki video: bezstratny FFV1 i Snow (który wymaga jeszcze dopracowania).
W styczniu 2018 usunięto ffserver, który był jednym z komponentów projektu od czasów jego powstania[5]. Twórcy FFmpeg zapowiedzieli usunięcie komponentu półtora roku wcześniej, m.in. utrudniał rozwój reszty programu, a także był trudny w użyciu dla początkujących[6].
Projekt składa się z kilku komponentów:
Kodeki stworzone w ramach projektu:
Pozostałe kodeki zaimplementowane w projekcie:
Domyślny kodek MPEG-4 ASP posługuje się FourCC w postaci FMP4.