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.