Ruota un file video di 90 gradi usando Ubuntu


18

Voglio usare Ubuntu e preferibilmente pacchetti standard come ffmpeg per ruotare un file video .3gp di 90 gradi in qualsiasi direzione. Preferibilmente una riga di comando o uno script Python.

Come posso fare ciò?


Ho scoperto che ffmpeg è stato in grado di farlo. Vedi, ad esempio, i forum Ubuntu: ruota il video di 90 gradi
Simon

Risposte:


9

usando VLC , puoi ruotare il video andando su Strumenti >> Preferenze ...

E seleziona "Tutto" per le impostazioni dello spettacolo. Quindi vai a: Video >> Filtri >> Ruota

Dopo aver impostato il grado desiderato, puoi ruotare selezionando Strumenti> Effetti e filtri> Effetti video> Geometria.

testo alternativo

quello che ho testato è mp4 ma credo che VLC possa supportare anche 3gp. spero che sia di aiuto. :)


13
posso vedere il video ruotato, ma come si fa a mantenere il cambiamento
justinhj


17

Dalla riga di comando, con 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=1ruoterà il video di 90 gradi in senso orario; per ruotare in senso antiorario, utilizzare transpose=2. Vedere la documentazione di trasposizione per ulteriori informazioni.

  • -metadata:s:v rotate=""eliminerà tutti i metadati di rotazione del flusso video esistenti; altrimenti ffmpeglo copierà, il che potrebbe far sì che il giocatore applichi un'ulteriore rotazione indesiderata.

  • Per informazioni sulle impostazioni di codifica video qui, vedere questa guida alla codifica H.264 e la guida alla codifica AAC se si desidera ricodificare l'audio invece della copia in streaming .


Questo risponde meglio alla domanda in quanto spiega come farlo dalla riga di comando con ffmpeg, come specificato nella domanda originale. Penso che questa risposta dovrebbe essere contrassegnata come corretta. A partire da maggio 2017 su Fedora 25, questo funziona ancora, sebbene un messaggio di deprecazione per il codec MP4.
Justin W. Flory,

4

Avidemux dovrebbe essere in grado di farlo.

Fallo Video->Filters->Rotate(x degrees)->ClosealloraFile->Save->Save Video


2

Ho risolto un problema simile: avevo un .MOV che è stato messo sottosopra (cioè ruotato di 180 gradi) che volevo sistemare correttamente.

Sul mio sistema Ubuntu 14.04, ho funzionato avconvessenzialmente con le stesse opzioni della riga di comando indicate ffmpegnella risposta di evilsoup . Apparentemente, non supporta transposeun'opzione per la rotazione di 180 gradi, quindi ho fatto transpose=1due volte di 90 gradi in senso orario (cioè ).

Quando ho provato le opzioni minime, ho ricevuto un messaggio secondo cui:

encoder 'aac' is experimental and might produce bad results.

Add '-strict experimental' if you want to use it.

e il file di output aveva lunghezza zero, quindi ho aggiunto il file -strict experimental.

Le linee di comando che funzionavano erano:

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

Il risultato è stato soddisfacente, con effetti collaterali inspiegabili:

  1. Il file intermedio era più piccolo dell'originale del ~ 14%.
  2. Il file dei risultati era più piccolo dell'intermedio di circa il 18% e più piccolo dell'originale di quasi il 30%.
  3. Il file dei risultati mostra l'anteprima, mentre l'originale e l'intermedio mostrano un'icona semplicemente generica.

Non che mi lamenti: sono desiderabili; Non capisco perché siano nati ...


Benvenuto in Super User. (1) Sebbene alcune informazioni di base nella tua risposta possano essere utili, è meglio concentrarsi sulla soluzione del problema. Ho modificato la tua risposta per illustrare; sentiti libero di modificarlo ulteriormente se ritieni che io abbia cambiato troppo. (2) L'ordine di visualizzazione delle risposte può variare; è meglio identificare altre risposte in modo esplicito piuttosto che dire "sopra". (2½) Spero che tu abbia presentato le tue avconvrighe di comando nella loro interezza, e non solo le differenze rispetto al ffmpegcomando. La tua risposta dovrebbe essere autosufficiente; l'altra risposta potrebbe andare via. (3) Buona fortuna!
G-Man dice "Reinstate Monica" l'

Inoltre, suppongo che quando dici "il risultato è stato soddisfacente", intendi che il tuo file "risultato" sembrava buono come il file originale. Potresti voler ( modificare il tuo messaggio in) dirlo esplicitamente. (Tali informazioni, ovvero se hai perso la qualità del video visibile alla vista) sono importanti per la tua risposta e non dovrebbero essere nascoste in un commento. Inoltre, scommetto che potresti tralasciare le citazioni e dire solo -filter:v transpose=1 ….
G-Man dice "Ripristina Monica" l'

2

Ci sono stati alcuni cambiamenti in libav dal momento in cui questa domanda è stata originariamente risolta. Nel tentativo di mantenere questo attuale e utile fornirò quanto segue:

È possibile farlo con le versioni recenti di ffmpege avconvutilizzando il filtro video di trasposizione.

avconv -i inputfile -vf transpose=clock outputfile

per rotazione oraria.

in ffmpeg la sintassi è la stessa.

ffmpeg -i inputfile -vf 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

Ecco un estratto dalla documentazione:

‘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. 

fonti:

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

https://ffmpeg.org/ffmpeg-filters.html#transpose-1

Test su Ubuntu 14.04.5 LTS, Ubuntu 16.04, Ubuntu 18.04


1
Grazie per i parametri minimi. ffmpegha funzionato per me (non ci ho provato avconv)
Amil Waduwawara,

Eccellente! sì, molti post su ffmpefincludono molti argomenti inutili, grazie!
Mariano Ruiz,

@MarianoRuiz Sono contento che ti abbia aiutato. ffmpeg è sempre in sviluppo, quindi nel tempo le cose cambiano. Non sorprende che esistano metodi più semplici di alcune delle risposte più vecchie. Saluti!
Elder Geek,
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.