Najlepsze pytania
Chronologia
Czat
Perspektywa
FFmpeg
Z Wikipedii, wolnej encyklopedii
Remove ads
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.
Remove ads
Informacje ogólne
Podsumowanie
Perspektywa
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].
Remove ads
Komponenty
Projekt składa się z kilku komponentów:
- ffmpeg – narzędzia służącego do konwertowania z jednego formatu do innego, pozwala też na nagrywanie z kart telewizyjnych, kamerek internetowych i z mikrofonu.
- ffplay – prostego odtwarzacza multimedialnego bazującego na SDL i bibliotekach FFmpeg.
- libavcodec – biblioteki zawierającej wszystkie kodeki audio/video projektu FFmpeg. Większość z nich została napisana od podstaw, aby zapewnić jak najlepszą wydajność.
- libavformat – biblioteki zawierającej muxery i demuxery dla różnych kontenerów multimedialnych.
- libavutil – biblioteki zawierającej różne, dodatkowe procedury dla pozostałych części projektu: do obliczania różnych sum kontrolnych (CRC, MD5, SHA-1), do bezstratnych kompresji i dekompresji (lzo ), do obsługi różnych schematów kodowań i szyfrowań (Base64, des, rc4, aes).
- libpostproc – biblioteki do obsługi obróbki wideo.
- libswscale – biblioteki do skalowania obrazów oraz konwersji między formatami zapisu kolor.
- libavfilter – biblioteka do wykonywania operacji między procesami dekodowania i kodowania.
Remove ads
Obsługa kodeków i formatów multimedialnych
Kodeki
Kodeki stworzone w ramach projektu:
- Snow
- FFV1
Pozostałe kodeki zaimplementowane w projekcie:
- ATRAC3
- H.261, H.263 i H.264/MPEG-4 AVC
- MPEG-4 ASP
- Indeo 2 i 3
- QDesign Music Codec 2, często stosowany w plikach QuickTime do wersji QuickTime 7
- Smacker video
- Sorenson 3, stosowany w plikach QuickTime i Flash.
- Theora (wspólnie z kodekiem Vorbis tworzy podstawę dla formatu Ogg)
- Truespeech
- TXD
- VP5
- VP8
- Vorbis
- Windows Media Audio
- Windows Media Video (WMV1, WMV2 and WMV3)
Domyślny kodek MPEG-4 ASP posługuje się FourCC w postaci FMP4.
Formaty
Przypisy
Linki zewnętrzne
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads