Was ist FFmpeg?
FFmpeg ist eine freie Open-Source-Suite zur Verarbeitung von Audio-, Video- und anderen Multimedia-Streams. Ihre Werkzeuge und Bibliotheken unterstützen Decodierung, Encoding, Filterung, Muxing, Demuxing, Aufnahme und Streaming.
So funktioniert FFmpeg
FFmpeg kombiniert Kommandozeilenprogramme mit Bibliotheken für Codecs, Container, Geräte, Filterung und Protokollverarbeitung. Das ausführbare Programm ffmpeg erstellt Pipelines, indem es Eingabestreams auswählt, bei Bedarf decodiert, Filtergraphen anwendet und zugeordnete Ausgaben mithilfe eines Muxers schreibt. Es dient als Verarbeitungskern in vielen Mediensystemen und ist kein einzelner, festgelegter Transkodierungsdienst. Die Reproduzierbarkeit hängt vom Befehl, den Eingabeeigenschaften, der Version der Binärdatei und den Funktionen ab, die im jeweiligen Build aktiviert sind.
Wichtige Fakten
- Beim Stream-Copy werden komprimierte Pakete ohne Decodierung an einen neuen Container übergeben. Das macht Remuxing schnell und verlustfrei; Vorgänge wie Skalierung oder eingebrannter Text erfordern dagegen zwingend eine Decodierung.
- Die verfügbaren Encoder, Decoder, Filter und Hardwarepfade werden durch die Build-Konfiguration und die eingebundenen Bibliotheken bestimmt. Ein Befehl, der mit einer FFmpeg-Binärdatei funktioniert, ist in einer anderen möglicherweise nicht verfügbar.
- Die Position von Optionen bestimmt, ob sie für Eingaben oder Ausgaben gelten. Eine explizite Streamzuordnung steuert, welche Spuren erhalten bleiben. Wer sich auf Standardwerte verlässt, kann unbemerkt Anhänge, alternative Audiospuren oder Untertitel auslassen.
Wann FFmpeg relevant ist
Entwickler nutzen FFmpeg zur Transkodierung, Stream-Paketierung, Thumbnail-Erstellung und Medienreparatur. Das Verhalten eines Befehls hängt von den einkompilierten Codecs, Filtern, Bibliotheken und der Hardwareunterstützung ab.