Videos am Terminal bearbeiten mag vielleicht abwegig klingen. Aber mit der Software ffmpeg unter Linux ist so einiges möglich, meist funktioniert die Arbeit am Terminal um einiges schneller. Dann gibt es auch am Terminal mit ffmpeg oft Dinge, die sich in so mancher grafischen Software gar nicht als Option anbieten. Nun, in diesem Beitrag, der Linux Bibel Österreich, wollen wir uns die wichtigsten Möglichkeiten dieser Software etwas näher ansehen.
Inhaltsverzeichnis
ffmpeg installieren
Unter den meisten Linux-Distributionen, wie auch unter Debian installieren Sie diese Software wie üblich ganz einfach über die Paket-Verwaltung durch das Paket „ffmpeg„.
ffmpeg nutzen
Die grundlegende Syntax der Software lautet nun wie folgt:
ffmpeg Globale_Optionen Eingabe-Optionen -i Eingabe_Datei Ausgabe_Optionen Ausgabe_Datei
Dies ist zu Beginn etwas viel, aber warten Sie einfach einmal ab.
Informationen über die Datei anzeigen
Wollen wir uns zu Beginn einfach einmal Informationen über eine beliebige Datei ansehen – im Übrigen, ffmpeg kann auch mit reinen Audio-Dateien umgehen. In meinem Beispiel nennt sich die Datei ganz einfach „Unbenannt.mp4„:
ffmpeg -i Unbenannt.mp4 -hide_banner
Die Option „-hide_banner“ verzichtet ganz einfach auf unnütze Ausgaben, wie etwa die Version von ffmpeg und mehr. Dasselbe funktioniert natürlich auch mit Audio-Dateien, etwa mit der Datei „Joyful.mp3„:
ffmpeg -i Joyful.mp3 -hide_banner
Wir erhalten so alle möglichen Informationen, wie Media-Container, Media-Codec, Abtastrate, Qualität, Metadaten und vielem mehr.
Formate anzeigen, mit denen ffmpeg umgehen kann
ffmpeg kann mit unzähligen Audio- und Video-Codecs umgehen – wahrscheinlich mit mehreren Formaten als jede andere Software. Mit folgendem Befehl lassen wir uns die möglichen Formate anzeigen:
ffmpeg -formats -hide_banner
Sehen Sie sich den Scrollbalken an und Sie werden verstehen, was bei dieser Software wirklich abgeht.
Videos konvertieren
Jetzt wollen wir uns ansehen, wie wir Video-Dateien oder Audio-Dateien ohne Umstände konvertieren. Nehmen wir einmal an, ich will die Datei „Unbenannt.mp4“ in das Format „AVI“ konvertieren und den Dateinamen beibehalten:
ffmpeg -i Unbenannt.mp4 Unbenannt.avi
Dasselbe mit der Audio-Datei „Joyful.mp3“ in das Format „OGG„:
ffmpeg -i Joyful.mp3 Joyful.ogg
Hierbei haben wir jedoch noch ein Problem, ffmpeg reduziert ohne weitere Option die Qualität der Ausgabe-Datei – dies verhindern wir mit der Option „-qscale 0
“ – also:
ffmpeg -i Unbenannt.mp4 -qscale 0 Unbenannt.avi
ffmpeg -i Joyful.mp3 -qscale 0 Joyful.ogg
Die in diesen Beispielen angegebenen Video-Formate sind natürlich nur Container, die unterschiedliche Codecs beinhalten können. Den Video-Codec geben Sie mit der Option „-c:v format
“ an, den Audio-Codec mit „-c:a format
„. Mit der Option „copy
“ geben Sie das Format an, das in den neuen Container übernommen werden soll. In folgenden Beispiel wollen wir das Video-Format beibehalten, aber als Audio-Format den Codec „libvorbis
“ nutzen:
ffmpeg -i Unbenannt.mp4 -c:v copy -c:a libvorbis -qscale 0 Unbenannt.avi
Die Audio-Datei aus einem Video extrahieren
Wir können natürlich auch die Audio-Datei aus einem Video extrahieren, so erstellen wir mit ffmpeg aus einem Video eine Audio-Datei. Ich will jetzt beispielsweise aus dem Video „Unbenannt.mp4“ die Audio-Datei in die Datei „Unbenannt.mp3“ schreiben. Hierzu nutzen wir die Option „-vn
„:
ffmpeg -i Unbenannt.mp4 -vn -qscale 0 Unbenannt.mp3
Auch die Bitrate können wir angeben „96k, 128k, 192k, 256k, 320k“ – letztere ist natürlich die höchste einer MP3- oder OGG-Datei. Hierzu nutzen wir zusätzlich die Option „-ab
“ – wie oben:
ffmpeg -i Unbenannt.mp4 -vn -ab 320k -qscale 0 Unbenannt.mp3
Wir können beim Konvertieren aber auch noch andere Optionen nutzen: für die Audio-Frequenz nutzen wir die Option „-ar frequenz
“ (22050, 441000, 48000), für die Anzahl der Audio-Kanäle die Option „-ac kanäle
“ (…) – etwa:
ffmpeg -i Unbenannt.mp4 -vn -ar 44100 -ac 2 -ab 320k -qscale 0 Unbenannt.mp3
Das Video stumm schalten
Umgekehrt zum Extrahieren der Audio-Datei können wir das Video auch stumm schalten, so gesehen exportieren wir das Video ohne Ton – dazu wird wieder die Option „-an
“ genutzt:
ffmpeg -i Unbenannt.mp4 -an -qscale 0 Neuer_Name.mp4
Die Auflösung des Videos und das Seitenverhältnis anpassen
Jetzt wollen wir einmal die Auflösung des Videos anpassen, dazu wird die Option „-s auflösung
“ genutzt. In folgenden Beispiel soll schlussendlich die Auflösung „1024×576“ genutzt werden:
ffmpeg -i Unbenannt.mp4 -s 1024x576 -qscale 0 Neuer_Name.mp4
Mit der Option „-aspect seitenverhältnis
“ lässt sich wieder das Seitenverhältnis anpassen, in folgenden Beispiel wollen wir als Ergebnis „16:9„:
ffmpeg -i Unbenannt.mp4 -aspect 16:9 -qscale 0 Neuer_Name.mp4
Videos drehen
Videos lassen sich natürlich auch drehen. Gründe können etwa sein, weil die Kamera gedreht wurde – die Kamera jedoch nicht mitgespielt hat und das Video nun auf der Seite liegt oder komplett auf dem Kopf steht. Erster Befehl dreht das Video um „90°„:
ffmpeg -i Unbenannt.mp4 -vf "rotate=90*PI/180" -qscale Neu.mp4
Und dieser Befehl um „180°„:
ffmpeg -i Unbenannt.mp4 -vf "rotate=PI" -qscale Neu.mp4
Mit ffmpeg ist noch um einiges mehr möglich, hierzu nutzen Sie entweder die Manpage am Terminal mit dem Befehl:
man ffmpeg
Oder für weitere Ideen die Dokumentation auf der Homepage ffmpeg.
2 Reaktionen
[…] Videos zu konvertieren, muss man nicht unbedingt wie der Profi auf dem Terminal zu ffmpeg greifen – natürlich hat dies seine Vorteile – hier ist alles möglich. Jetzt könnte […]
[…] ffmpeg ist eine Software zur Bearbeitung von Multimedia-Dateien unter Linux – grundsätzlich kann man einmal sagen, die Software kann alles. Negativ daran – mit der Software arbeitet man am Terminal, aufgrund der schier unendlichen Funktionen braucht man gar nicht aufzuhören, sich mit diesen zu beschäftigen. […]