Funktionsumfang und Architektur
FFmpeg ist ein modulares Framework in C, das sämtliche Phasen der Multimediabearbeitung abdeckt. Die Architektur teilt Aufgaben strikt in spezialisierte Bibliotheken auf:
- libavcodec & libavformat: Übernehmen Dekodierung, Enkodierung sowie das Parsing von Containerformaten und Streaming-Protokollen (z. B. HLS, RTMP, RTSP).
- libavfilter: Erlaubt komplexe Modifikationen über gerichtete Graphen miteinander verbundener Filter für Bild und Ton.
- Hilfsbibliotheken:
libswscale und libswresample optimieren Farbraumkonvertierungen bzw. Audio-Resampling, während libavdevice Hardware für Ein- und Ausgabe abstrahiert.
Werkzeuge und Entwickler-Workflow
Neben den Programmierschnittstellen liefert das Projekt etablierte Kommandozeilentools mit: Das Werkzeug ffmpeg dient zur Konvertierung und Live-Übertragung, ffprobe analysiert Stream-Eigenschaften und ffplay fungiert als leichtgewichtiger Test-Player.
Reifegrad und Zielgruppe
Mit über 66.000 Sternen auf GitHub und jahrzehntelanger Entwicklung gilt FFmpeg als extrem ausgereift und bildet das Rückgrat moderner Videoverarbeitung. Entwickler müssen jedoch beachten, dass das Repository auf GitHub nur ein Mirror ist: Contributions erfordern zwingend das Einreichen von Patches über Forgejo oder die ffmpeg-devel-Mailingliste.