Come posso ruotare il video di 180 gradi con avconv


24

Vorrei ruotare il video (mp4) di 180 gradi, ma non capovolgere. È possibile farlo con avconv?


Ho trovato con entrambe le risposte esistenti che funzionano con i file MP4 da una videocamera Hero 3, ma solo dopo aver aggiunto -c:acopia al comando (appena prima del nome del file di output). Ho anche scoperto che la seconda versione era di qualità indistinguibile, ma circa il 50% più veloce della versione tradotta concatenata.
Simon,

Risposte:


31

È possibile utilizzare il transposefiltro video. Non è possibile ruotare di 180 gradi, ma è possibile ruotare di 90 gradi e concatenare il filtro.

avconv -i video.mp4 -vf transpose=1,transpose=1 out.mkv

Vedi transposenella avconvmanpage: http://manpages.ubuntu.com/manpages/quantal/en/man1/avconv.1.html


Questo ha ruotato il mio video, ma il calo di qualità (risoluzione e framerate) è stato enorme (file iPhone .mov).
Gringo Suave,

transpose = clock funziona ora vedi la mia risposta
Elder Geek,

15

Sì, ma dovrai aggiungere alcune opzioni aggiuntive al tuo comando affinché funzioni correttamente. Transpose e vflip / hflip dovrebbero fare il trucco, ma se non dici ad avconv maggiori dettagli su ciò che vuoi, probabilmente otterrai un output di qualità molto bassa prova:

 avconv -i original.mp4 -vf "hflip,vflip" -codec:v libx264 -preset slow -crf 20 -codec:a copy flipped.mp4

Nota l' -crfopzione. Ciò imposta la qualità dell'output. Va da 0 (senza perdita) verso l'alto logaritmicamente. Probabilmente vorrai un valore tra 19 e 25 nella maggior parte dei casi. -presetimposta la velocità della codifica, "lenta", "media" o "veloce". Lento dovrebbe ottenere file di dimensioni inferiori con un evidente compromesso. È necessario regolare -codec:vper abbinare l'originale. Se non imposti queste opzioni otterrai le impostazioni predefinite, che non funzionano bene quando si lancia il video dell'iPhone.


Unrecognized option 'preset' Failed to set value 'slow' for option 'preset' Questo è quello che ho ottenuto
Karel Bílek,

... e senza di essa, ho avutoUnknown encoder 'libx264'
Karel Bílek

1
apt-get install libavcodec-extra-53risolto
Karel Bílek,

6

Il metodo aggiuntivo con avconv consiste nell'utilizzare i filtri vflip e hflip. Dovrebbe funzionare più veloce e forse di qualità migliore:

avconv -i video.mp4 -vf vflip,hflip out.mp4

Lo stesso: questo ha ruotato il mio video, ma il calo di qualità (risoluzione e framerate) è stato enorme (file .mov per iPhone).
Gringo Suave,

1
@GringoSuave wcarlson ti ha dato un esempio ridotto, devi ancora aggiungere tutto il -codec: v ... e altri tag
v010dya,

1

L'ho fatto:

avconv -i invertedOne.mp4 -c:a copy -vf "hflip,vflip" rightOne.mp4

Video Full HD, ottimi risultati con perdita di qualità non percepibile


1

Per avconv o ffmpeg Under 14.04 o successivo

Ci sono stati alcuni cambiamenti nella documentazione di libav da quando la qualità @phoibos ha risposto a questa domanda. È possibile ruotare un video di 180 gradi evitando di capovolgere completamente concatenando 2 comandi di 90 gradi insieme (separati da una virgola). L'ho realizzato con il comando

avconv -i inputfile -vf transpose = clock, transpose = clock outputfile

per rotazione oraria.

in ffmpeg la sintassi è la stessa.

ffmpeg -i inputfile -vf transpose = clock, transpose = clock outputfile

dove inputfile è il file video di input supportato e outputfile è il file di output desiderato.

Per la rotazione antioraria sostituire l'orologio con cclock

fonti:

https://libav.org/avconv.html#transpose

Test su Ubuntu 14.04.5 e 16.04 LTS

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.