Ihr kennt doch alle FFmpeg, das Schweizer Taschenmesser, wenn es um die Bearbeitung von Audio- oder Videomaterial geht. Oder anders gesagt: FFmpeg ist für Audio und Video das, was ImageMagick für Bilder ist. Beiden Werkzeugen ist gemein, dass sie einen riesigen Funktionsumfang haben und über die Kommandozeile bedient werden. Dabei ist die Kommandozeile kein Problem, wohl aber der grosse Funktionsumfang. Wer mit FFmpeg eine bestimmte Manipulation an einer Multimedia-Datei ausführen möchte, sucht sich in der Regel wund, bis er oder sie den richtigen Befehl gefunden hat.
Was bedeutet denn der Name "FFmpeg"? Er steht für "Fast Forward Moving Picture Experts Group".
Nun gibt es mit Frame eine grafische Benutzeroberfläche für FFmpeg. Das Projekt ist noch jung; die aktuelle Fassung trägt die Versionsnummer 0.30.0. Die Anwendung ist in Rust geschrieben und läuft unter der GPL-3.0-Lizenz. Es gibt Pakete für fast alle Betriebssysteme, wie man auf der Download-Seite des Projekts erfährt.
Für diesen Artikel habe ich Frame als AppImage installiert. So sieht es aus:
Über "Add sources" (rechts oben) kann man Dateien laden. Links unten seht ihr eine MP3-Datei und ein MP4-Video. Links oben werden die ausgewählten Dateien angezeigt und lassen sich dort auch abspielen. Daneben gibt es Schaltflächen für häufig genutzte Konvertierungen: Drehen, Spiegeln, Zuschneiden. Leider gibt es in der aktuellen Version noch keine Tool-Tipps, sodass man rätseln darf, welche Funktionen sich hinter den Icons verbergen.
Im rechten Panel gibt es sieben Reiter (Icons), in denen sich die weiteren Funktionen von FFmpeg befinden:
- Metadaten zur jeweiligen Mediendatei
- Format-Konvertierung
- Auflösung, Skalierung und Framerate
- Kanäle (Stereo/Mono), Lautstärke, Codecs
- Untertitel
- Weitere Metadaten
- Labels
Frame erfindet das Rad nicht neu, sondern versucht, den grossen Funktionsumfang von FFmpeg zugänglicher zu gestalten. Mit anderen Worten: FFmpeg bleibt die Engine, die die Hauptarbeit übernimmt. Frame ist die darüberliegende Schnittstellen- und Workflow-Ebene, die sich um die Quelldateianalyse, die Generierung von FFmpeg-Argumenten, Kompatibilitätsprüfungen, die Aufgabensteuerung und die Auswertung des Fortschritts kümmert. Dazu gehören das Konvertieren von Videodateien, das Extrahieren oder Konvertieren von Audio, das Ändern von Bildformaten, die Arbeit mit Untertiteln, das Bearbeiten von Metadaten, das Ändern der Größe oder das Zuschneiden von Medien, die Verwendung von Voreinstellungen sowie die Verarbeitung mehrerer Dateien in einer Warteschlange.
Dem Projekt zufolge unterstützt Frame gängige Videoformate wie MP4, MOV, MKV, AVI, WebM und GIF sowie Audioformate wie MP3, M4A, WAV und FLAC. Im Bereich der Bildformate werden PNG, JPEG, WebP, BMP, TIFF, AVIF, HEIC und HEIF unterstützt. Zu den Ausgabeoptionen gehören Video-, Audio- und Bildformate wie MP4, MKV, WebM, MOV, GIF, MP3, M4A, WAV, FLAC, PNG, JPG, WebP, BMP und TIFF.
Die App bietet zudem eine recht umfangreiche Auswahl an Konvertierungsoptionen. Nutzer können mit Video-Encodern wie H.264, H.265/HEVC, VP9, ProRes, SVT-AV1 und GIF-Palettenausgabe arbeiten. Hardware-Encoder werden ebenfalls unterstützt, sofern sie in der konfigurierten FFmpeg-Version verfügbar sind, darunter NVIDIA NVENC und Apple VideoToolbox.
Über die einfache Formatkonvertierung hinaus bietet Frame Steuerelemente für CRF- und Bitraten-Einstellungen, Codierungsvoreinstellungen, Skalierung, Zuschneiden, Drehen, Spiegeln, Überlagerungen, Einbrennen von Untertiteln, Bereinigung oder Ersetzen von Metadaten sowie Echtzeit-Protokolle. Es handelt sich nicht nur um ein Dienstprogramm nach dem Motto „Eingabe auswählen, Ausgabe auswählen, auf ‚Konvertieren‘ klicken“. Die App macht nützliche Aspekte der Flexibilität von FFmpeg zugänglich, ohne dass Nutzer vollständige Befehle eingeben müssen.
Fazit
Grundsätzlich halte ich den grafischen Überbau für FFmpeg, den Frame bietet, für eine gute Idee. Damit lassen sich viele Aufgaben bei der Bearbeitung von Audio- und Videodateien komfortabel erledigen. Ja, auch Frame hat eine Lernkurve, die jedoch viel geringer ist, als beim originalen FFmpeg.
Bei GNU/Linux.ch setzen wir FFmpeg für das automatische Abmischen der Podcast-Folgen im Projekt AutoPod ein. Dafür ist Frame nicht geeignet, weil es keine Prozessketten unterstützt. Bei aufwendigen Kommandos wird man wohl weiterhin auf die Verwedung von FFmpeg auf der Kommandozeile oder in Skripten angewiesen sein. Doch für einfache Arbeiten bietet Frame eine willkommene Ergänzung.
Titelbild: https://pixabay.com/photos/headphones-clapper-clapperboard-4223911/ (modifiziert)
Quellen:
https://github.com/66HEX/frame


GUI Anwendungen für Kommandozeilenwerkzeuge haben meistens eine Daseinberechtigung.
Für FFmpeg gibt mit dem "FFmpeg Explorer" alternativ noch eine Online GUI https://ffmpeg.lav.io/
Was mich bei handbake immer gestört hatte, ist, dass man das Quell material immer genau kennen musste. Das Programm war nicht in der Lage aus dem Input mit dem Wunschoutput die Einstellungen sinnvoll voreinzustellen.