FFmpeg

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, wyszukiwania
FFmpeg
Multimedia
FFmpeg Logo new.svg
Logo programu
FFmpeg.png
Producent FFmpeg team
System operacyjny Wieloplatformowy
Napisane w C
Aktualna wersja stabilna 2.1 / 28 października 2013
Licencja GPL/LGPL
http://ffmpeg.org/

FFmpegwieloplatformowy 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[1]. Projekt stanowi w praktyce podstawę dla odtwarzaczy multimediów w wielu dystrybucjach Linuksa. W zależności od opcji wybranych podczas kompilacji FFmpeg jest udostępniany na licencji LGPL albo GPL.

Informacje ogólne[edytuj | edytuj kod]

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[2].

Projekt założył Fabrice Bellard (znany też jako Gerard Lantau) a obecnie jest prowadzony przez Michaela Nidermayera. Wielu programistów FFmpeg jest związanych z projektem MPlayer, na serwerach którego jest też hostowany sam FFmpeg.

FFmpeg jest rozwijany na systemach Linux, ale kompiluje się praktycznie na dowolnych systemie operacyjnym, między innymi Mac OS X, Microsoft Windows i AmigaOS. Zasadniczo nie są tworzone konkretne wydania, programiści projektu zalecają stosowanie buildów opartych o główną gałąź 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).

Komponenty[edytuj | edytuj kod]

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.
  • ffserver — serwera HTTP (RTSP w planach) do przesyłania strumieni audio i wideo na żywo, obsługiwane są też przesunięcia w czasie.
  • 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[edytuj | edytuj kod]

Kodeki[edytuj | edytuj kod]

Kodeki stworzone w ramach projektu:

Pozostałe kodeki zaimplementowane w projekcie:

Domyślny kodek MPEG-4 ASP posługuję się FourCC w postaci FMP4.

Formaty[edytuj | edytuj kod]

  • ASF
  • AVI
  • BFI
  • IFF
  • RL2
  • FLV
  • Material Exchange Format
  • Matroska
  • Maxis XA
  • MSN Webcam stream
  • MPEG-TS
  • TXD
  • OpenMG

Przypisy

  1. FFmpeg (strona główna) (ang.). [dostęp 2009-09-30].
  2. Fabrice Bellard: Wyjaśnienie pochodzenia nazwy FFmpeg na liście dyskusyjnej. W: Lista dyskusyjn FFmpeg [on-line]. 18 lutego 2006. [dostęp 2009-05-11].

Linki zewnętrzne[edytuj | edytuj kod]