FFmpeg jest kompletnym pakietem elementów umożliwiających nagrywanie, konwertowanie i streaming audio i wideo.
Zawiera libavcodec, libavutil, libavformat, libavfilter, libavdevice, libswscale i libswresample, które mogą być używane przez aplikacje. Jak również ffmpeg, ffplay i ffprobe, które można wykorzystać do do transkodowania i odtwarzania.
Warto dodać, że ten zbiór narzędzi jest całkowicie wolny i rozpowszechniany na licencji GPL.
FFmpeg stara się zapewnić najlepsze technicznie możliwe rozwiązanie zarówno dla twórców aplikacji, jak i użytkowników. Aby to osiągnąć, połączono najlepsze dostępne opcje wolnego oprogramowania.
Najważniejsze narzędzia wchodzące w skład oprogramowania:
- libavutil to biblioteka zawierająca funkcje upraszczające programowanie, w tym generatory liczb losowych, struktury danych, procedury matematyczne, podstawowe narzędzia multimedialne i wiele innych.
- libavcodec to biblioteka zawierająca dekodery i enkodery dla kodeków audio/wideo.
- libavformat to biblioteka zawierająca demuxery i muxery dla formatów kontenerów multimedialnych.
- libavdevice zawiera urządzenia wejściowe i wyjściowe do przechwytywania i renderowania do wielu popularnych multimedialnych frameworków oprogramowania wejściowego/wyjściowego, w tym Video4Linux, Video4Linux2, VfW i ALSA.
- libavfilter to biblioteka zawierająca filtry mediów.
- libswscale to biblioteka wykonująca wysoce zoptymalizowane operacje skalowania obrazu i konwersji przestrzeni kolorów/formatu pikseli.
- libswresample to biblioteka wykonująca wysoce zoptymalizowane operacje resamplingu dźwięku, rematrixingu i konwersji formatu próbki.