Ich möchte Ubuntu und vorzugsweise Standardpakete wie ffmpeg verwenden, um eine .3gp-Videodatei um 90 Grad in eine beliebige Richtung zu drehen. Vorzugsweise eine Befehlszeile oder ein Python-Skript.
Wie kann ich das machen?
ubuntu
command-line
ffmpeg
video-editing
justinhj
quelle
quelle
Antworten:
unter Verwendung von VLC , können Sie das Video , indem Sie auf Tools >> Einstellungen drehen ...
Und wählen Sie "Alle" für die Show-Einstellungen. Gehen Sie dann zu: Video >> Filter >> Drehen
Nachdem Sie den gewünschten Grad eingestellt haben, können Sie unter Extras> Effekte und Filter> Videoeffekte> Geometrie ... drehen.
die, die ich getestet habe, ist mp4, aber ich glaube, dass VLC auch 3GP unterstützen kann. hoffe das hilft. :)
quelle
Von der Kommandozeile mit ffmpeg:
transpose=1
dreht das Video um 90 Grad im Uhrzeigersinn; Zum Drehen gegen den Uhrzeigersinn verwenden Sietranspose=2
. Weitere Informationen finden Sie in der Transponierungsdokumentation .-metadata:s:v rotate=""
entfernt alle vorhandenen Metadaten für die Videodrehung; Andernfallsffmpeg
wird es kopiert, was dazu führen kann, dass Ihr Player eine zusätzliche unerwünschte Drehung ausführt.Informationen zu den Einstellungen für die Videokodierung finden Sie in diesem Handbuch zur H.264-Kodierung und im Handbuch zur AAC-Kodierung, wenn Sie das Audio neu kodieren möchten, anstatt das Streaming zu kopieren .
quelle
Avidemux sollte dazu in der Lage sein.
Mach es
Video->Filters->Rotate(x degrees)->Close
dannFile->Save->Save Video
quelle
Ich habe ein ähnliches Problem gelöst - ich hatte eine .MOV, die verkehrt herum aufgenommen wurde (dh um 180 Grad gedreht) und die ich korrigieren wollte.
Auf meinem Ubuntu 14.04-System lief ich
avconv
mit im Wesentlichen den gleichen Befehlszeilenoptionen wieffmpeg
in der Antwort von evilsoup . Anscheinend unterstützt es keinetranspose
Option für eine 180-Grad-Drehung, daher habe ich die 90-Grad-Drehungtranspose=1
zweimal im Uhrzeigersinn ausgeführt .Als ich minimale Optionen ausprobierte, erhielt ich eine Meldung, dass:
und die Ausgabedatei hatte die Länge Null, also habe ich die hinzugefügt
-strict experimental
.Befehlszeilen, die funktionierten, waren:
Das Ergebnis war zufriedenstellend mit ungeklärten Nebenwirkungen:
Nicht, dass ich mich beschwere: diese sind wünschenswert; Ich verstehe nur nicht, warum sie entstanden sind ...
quelle
avconv
Befehlszeilen vollständig dargestellt und nicht nur die Unterschiede zumffmpeg
Befehl. Ihre Antwort sollte autark sein; Die andere Antwort könnte verschwinden. (3) Viel Glück!-filter:v transpose=1 …
.Seit der Beantwortung dieser Frage wurden einige Änderungen an libav vorgenommen. In einem Versuch, dies aktuell und nützlich zu halten, werde ich Folgendes bereitstellen:
Sie können dies mit den neuesten Versionen von
ffmpeg
undavconv
mithilfe des transponierten Videofilters erreichen.avconv -i inputfile -vf transpose=clock outputfile
für Rechtslauf.
In ffmpeg ist die Syntax dieselbe.
ffmpeg -i inputfile -vf transpose=clock outputfile
wo Eingabedatei der unterstützte Eingabevideodatei und Ausgabedatei ist die gewünschte Ausgabedatei.
Für Gegenuhrzeigerdrehung ersetzen Takt mit cclock
Hier ist ein Auszug aus der Dokumentation:
Quellen:
https://libav.org/avconv.html#transpose
https://ffmpeg.org/ffmpeg-filters.html#transpose-1
Testen unter Ubuntu 14.04.5 LTS, Ubuntu 16.04, Ubuntu 18.04
quelle
ffmpeg
arbeitete für mich (habe es nicht versuchtavconv
)ffmpef
enthält eine menge unnötiger argumente, danke!