FFmpeg
Logo programu | |
| Autor | początkowo Fabrice Bellard obecnie FFmpeg team |
|---|---|
| Pierwsze wydanie | 20 grudnia 2000[1] |
| Aktualna wersja stabilna | 9.0 (4 sierpnia 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.
Informacje ogólne
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].
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.
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
- ASF
- AVI
- BFI
- IFF
- RL2
- FLV
- Material Exchange Format
- Matroska
- Maxis XA
- MSN Webcam stream
- MPEG-TS
- TXD
- OpenMG
Przypisy
- ↑ git.ffmpeg.org Git – ffmpeg.git/commit. 20 grudnia 2000. [dostęp 2021-09-04].
- ↑ FFmpeg (strona główna). [dostęp 2009-09-30]. (ang.).
- ↑ Fabrice Bellard: Wyjaśnienie pochodzenia nazwy FFmpeg na liście dyskusyjnej. [w:] Lista dyskusyjna FFmpeg [on-line]. 18 lutego 2006. [dostęp 2009-05-11].
- ↑ Neil McAllister: FFmpeg project leader quits, says he’s had enough with these forking AV libraries. The Register, 2015-08-05. (ang.).
- ↑ ffserver – FFmpeg. 14 lutego 2019. [dostęp 2021-09-04].
- ↑ ffserver program being dropped. 10 lipca 2016. [dostęp 2021-09-04].
Linki zewnętrzne
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.