GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So drehen Sie Videos mit FFMpeg von der Befehlszeile aus

Heute habe ich beschlossen, die von meinem Smartphone aufgenommenen Videos zusammenzufügen und eine einzige filmähnliche Datei mit Audio zu erstellen. Aber die Sache ist, dass einige Videos im Hochformat und andere im Querformat aufgenommen werden. Bevor ich die Dateien zusammenfüge, dachte ich, dass es besser wäre, alle Videodateien in derselben Ausrichtung (dh Modus) auszurichten. Natürlich gibt es viele GUI-basierte Tools und Mediaplayer, wie Smplayer, VLC, die eine eingebaute Funktion zum Drehen von Videos haben. Aber ich bevorzuge ein Kommandozeilenprogramm. Ich weiß, wie man FFMpeg verwendet um verschiedene Vorgänge auszuführen, wie z. B. das Konvertieren von Dateien in ein anderes Format, das Zuschneiden, Teilen und Zusammenfügen von Dateien und vieles mehr. Ich habe bereits die am häufigsten verwendeten FFMpeg-Befehle für Anfänger zusammengestellt und sie in diesem Leitfaden veröffentlicht . Allerdings weiß ich bis heute nicht, wie man Videos mit FFMpeg dreht. Wenn Sie jemals Videos mit FFMpeg drehen wollten, folgen Sie den unten angegebenen Schritten.

Stellen Sie sicher, dass Sie die neueste FFMpeg-Version auf Ihrem System installiert haben. FFMpeg ist in den Standard-Repositorys vieler beliebter Linux-Betriebssysteme verfügbar, sodass die Installation keine große Sache ist. Wenn Sie FFMpeg nicht auf Ihrem Linux-Rechner installiert haben, lesen Sie die folgende Anleitung.

  • So installieren Sie FFMpeg unter Linux

Videos mit FFMpeg von der Befehlszeile aus drehen

FFMpeg hat eine Funktion namens "Transpose" die zum Drehen von Videos verwendet wird. Mit dieser Funktion können wir Videos ganz einfach im und gegen den Uhrzeigersinn drehen sowie sie vertikal und horizontal spiegeln.

Beispielsweise dreht der folgende Befehl das angegebene Video um 90 Grad im Uhrzeigersinn:

$ ffmpeg -i input.mp4 -vf "transpose=1" output.mp4

Oder verwenden Sie diesen Befehl:

$ ffmpeg -i input.mp4 -vf "transpose=clock" output.mp4

Hier transpose=1 Der Parameter weist FFMpeg an, das angegebene Video um 90 Grad im Uhrzeigersinn zu transponieren. Hier ist die Liste der verfügbaren Parameter für die Transpositionsfunktion.

  • 0 - Um 90 Grad gegen den Uhrzeigersinn drehen und vertikal spiegeln. Dies ist die Standardeinstellung .
  • 1 - Um 90 Grad im Uhrzeigersinn drehen.
  • 2 - Um 90 Grad gegen den Uhrzeigersinn drehen.
  • 3 - Um 90 Grad im Uhrzeigersinn drehen und vertikal spiegeln.

Um Videos um 180 Grad im Uhrzeigersinn zu drehen, müssen Sie den Transpositionsparameter zweimal wie unten angeben.

$ ffmpeg -i input.mp4 -vf "transpose=2,transpose=2" output.mp4

Die obigen Befehle werden Audio- und Videoteile der angegebenen Videodatei neu codieren. Wenn Sie das Video nicht neu codieren und nur die Drehung in den Metadaten ändern möchten, verwenden Sie stattdessen diesen Befehl:

$ ffmpeg -i input.mp4 -c copy -metadata:s:v:0 rotate=90 output.mp4

Noch besser, Sie können alle globalen Metadaten (wie Datum, Kameradetails) der Eingabedatei in die Ausgabedatei wie unten kopieren.

$ ffmpeg -i input.mp4 -map_metadata 0 -metadata:s:v rotate="90" -codec copy output.mp4

Bitte beachten Sie, dass es bei einigen Playern nicht funktioniert, die keine Rotationsmetadaten verarbeiten können. Ich habe die Videoausrichtung nur in den Metadaten geändert und es in Smplayer abgespielt. Das Video wurde jedoch weiterhin in der vorherigen Ausrichtung abgespielt. Aber es hat im Gnome Media Player funktioniert! Ich weiß nicht warum. Wenn also die Videoausrichtung nicht funktioniert hat, müssen Sie sie möglicherweise neu codieren, wie im ersten Befehl gezeigt.

Empfohlene Lektüre:

  • Anzeigen von Bildmetadaten unter Linux

Linux
  1. So steuern Sie Media Player über die Befehlszeile in Linux

  2. So erstellen Sie Pakete aus der Quelle mit CheckInstall

  3. So aktualisieren Sie Fedora 34 von Fedora 33 mit DNF

  4. Wie extrahiere ich die Dauer aus der ffmpeg-Ausgabe?

  5. Wie konvertiere ich m4v- und wmv-Videos mit ffmpeg in das mp4-Format?

Anleitung zur Google-Suche von der Befehlszeile aus mit Googler

So zeigen Sie die CPU-Auslastung über die Befehlszeile an

So finden Sie die Virtualbox-Version über die Befehlszeile in Linux

So überprüfen Sie, ob die GUI in Linux über die Befehlszeile installiert ist

So vergrößern und verkleinern Sie Videos mit FFmpeg

Wie aktualisiere ich von 12.04 auf 12.10 mit CD?