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?
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?
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. :)
Von der Kommandozeile mit ffmpeg:
ffmpeg -i input.3gp -filter:v transpose=1 \
-c:v libx264 -preset veryfast -crf 22 \
-c:a copy \
-metadata:s:v rotate="" \
output.3gp
transpose=1dreht das Video um 90 Grad im Uhrzeigersinn; Zum Drehen gegen den Uhrzeigersinn verwenden Sie transpose=2. Weitere Informationen finden Sie in der Transponierungsdokumentation .
-metadata:s:v rotate=""entfernt alle vorhandenen Metadaten für die Videodrehung; Andernfalls ffmpegwird 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 .
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 avconvmit im Wesentlichen den gleichen Befehlszeilenoptionen wie ffmpegin der Antwort von evilsoup . Anscheinend unterstützt es keine transposeOption für eine 180-Grad-Drehung, daher habe ich die 90-Grad-Drehung transpose=1zweimal im Uhrzeigersinn ausgeführt .
Als ich minimale Optionen ausprobierte, erhielt ich eine Meldung, dass:
encoder 'aac' is experimental and might produce bad results.
Add '-strict experimental' if you want to use it.
und die Ausgabedatei hatte die Länge Null, also habe ich die hinzugefügt -strict experimental.
Befehlszeilen, die funktionierten, waren:
avconv -i IMG_orignl.MOV -filter:v 'transpose=1' -strict experimental IMG_interm.MOV
avconv -i IMG_interm.MOV -filter:v 'transpose=1' -strict experimental IMG_result.MOV
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 ...
avconvBefehlszeilen vollständig dargestellt und nicht nur die Unterschiede zum ffmpegBefehl. 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 ffmpegund avconvmithilfe 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:
‘cclock_flip’
Rotate by 90 degrees counterclockwise and vertically flip. (default)
‘clock’
Rotate by 90 degrees clockwise.
‘cclock’
Rotate by 90 degrees counterclockwise.
‘clock_flip’
Rotate by 90 degrees clockwise and vertically flip.
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
ffmpegarbeitete für mich (habe es nicht versucht avconv)
ffmpefenthält eine menge unnötiger argumente, danke!