Forum Informatica Libera
[Risolto] Ruotare un video usando ffmpeg - Versione stampabile

+- Forum Informatica Libera (https://www.ergosumracalmuto.org/informaticalibera/forum)
+-- Forum: Software (https://www.ergosumracalmuto.org/informaticalibera/forum/forumdisplay.php?fid=11)
+--- Forum: Grafica, Video e Audio (https://www.ergosumracalmuto.org/informaticalibera/forum/forumdisplay.php?fid=13)
+--- Discussione: [Risolto] Ruotare un video usando ffmpeg (/showthread.php?tid=1503)

Pagine: 1 2


[Risolto] Ruotare un video usando ffmpeg - nonno Pietro - 22/02/2022

Buongiorno a tutti
 Voglio creare un dvd utilizzando dei filmati da smartphone vari, con orientazioni diverse. Ho trovato in rete che è possibile farlo utilizzando ffmpeg con righe di comando simili a questa (per la rotazione a destra):
ffmpeg -i input.avi -vf "transpose=3" -sameq -y output.avi
Input.avi dovrebbe essere il filmato origine e output.avi il formato di arrivo, ma mi chiedo se il comando funziona anche per i .mp4 e se i file origine debbono essere nella home o se deve essere esposto il loro indirizzo completo.
Grazie in anticipo


RE: Ruotare un video usando ffmpeg - Septem - 23/02/2022

Ciao Nonno Pietro,
con ffmpeg puoi modificare anche gli mp4.
Al posto di "input.avi" ed "output.avi" devi mettere il nome dei tuoi video, origine e destinazione, e se lanci il comando dalla cartella in cui hai gli originali non serve l'indirizzo completo.


RE: Ruotare un video usando ffmpeg - maxbigsi - 23/02/2022

Ciao nonno Pietro, che software usi per creare il dvd ? potresti ruotare direttamente i video all'interno del programma se questo lo consente, oppure usare Avidemux per ruotarli, se vuoi farlo da riga di comando allora nessun problema 000019


RE: Ruotare un video usando ffmpeg - nonno Pietro - 23/02/2022

Buongiorno e grazie maxbigsi,
normalmente uso Nero su Win, perché penso che Linux sia inferiore a win per quanto riguarda il trattamento dei filmati. Trovo on-line che Nero dovrebbe permettere di ruotare i filmati, ma le procedure che mi indicano non riesco ad applicarle sulla mia versione del programma.
Cosa intendi con precisione quando mi dici che da terminale non c'è nessun problema?
Un caro saluto


RE: Ruotare un video usando ffmpeg - dxgiusti - 23/02/2022

(22/02/2022, 13:18)nonno Pietro Ha scritto: Buongiorno a tutti
 Voglio creare un dvd utilizzando dei filmati da smartphone vari, con orientazioni diverse. Ho trovato in rete che è possibile farlo utilizzando ffmpeg con righe di comando simili a questa (per la rotazione a destra):
ffmpeg -i input.avi -vf "transpose=3" -sameq -y output.avi
Input.avi dovrebbe essere il filmato origine e output.avi il formato di arrivo, ma mi chiedo se il comando funziona anche per i .mp4 e se i file origine debbono essere nella home o se deve essere esposto il loro indirizzo completo.
Grazie in anticipo
dove sono i file non interessa. l'importante è aprire il terminale nella cartella dei stessi.
.mp4? non dovrebbero esserci problemi, fai una prova e vedi.


RE: Ruotare un video usando ffmpeg - maxbigsi - 23/02/2022

(23/02/2022, 08:08)maxbigsi Ha scritto: Ciao nonno Pietro, che software usi per creare il dvd ? potresti ruotare direttamente i video all'interno del programma se questo lo consente, oppure usare Avidemux per ruotarli, se vuoi farlo da riga di comando allora nessun problema 000019
Il nessun problema si riferiva al fatto che è sempre buono usare il terminale per imparare qualcosa in più 000019


RE: Ruotare un video usando ffmpeg - nonno Pietro - 23/02/2022

Bene, ho fatto la prova come suggeriva dxgiusti ed ecco il risultato:
Codice:
pietro@nonno-desktop:~$ cd Scrivania
pietro@nonno-desktop:~/Scrivania$ cd 2016_silvia
pietro@nonno-desktop:~/Scrivania/2016_silvia$  ffmpeg -i 20161113173317.mpg -vf "transpose=3" -sameq -y prova.mpeg
ffmpeg version 4.2.4-1ubuntu0.1 Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 9 (Ubuntu 9.3.0-10ubuntu2)
  configuration: --prefix=/usr --extra-version=1ubuntu0.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-nvenc --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
  WARNING: library configuration mismatch
  avcodec     configuration: --prefix=/usr --extra-version=1ubuntu0.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-nvenc --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared --enable-version3 --disable-doc --disable-programs --enable-libaribb24 --enable-liblensfun --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libtesseract --enable-libvo_amrwbenc
  libavutil      56. 31.100 / 56. 31.100
  libavcodec     58. 54.100 / 58. 54.100
  libavformat    58. 29.100 / 58. 29.100
  libavdevice    58.  8.100 / 58.  8.100
  libavfilter     7. 57.100 /  7. 57.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  5.100 /  5.  5.100
  libswresample   3.  5.100 /  3.  5.100
  libpostproc    55.  5.100 / 55.  5.100
Option 'sameq' was removed. If you are looking for an option to preserve the quality (which is not what -sameq was for), use -qscale 0 or an equivalent quality factor option.
Failed to set value '1' for option 'sameq': Invalid argument
Error parsing global options: Invalid argument
pietro@nonno-desktop:~/Scrivania/2016_silvia$ 20161113173317.mpg20161113173317.mpg20161113173317.mpg20161113173317.mpg20161113173317.mpg20161113173317.mpg
Se non capisco male, alla fine mi dice che i file .mpeg non possono essere usati, non capisco bene cosa debbo fare.
Un grazie a tutti


RE: Ruotare un video usando ffmpeg - dxgiusti - 23/02/2022

Citazione:L'opzione 'sameq' è stata rimossa. Se stai cercando un'opzione per preservare la qualità (che non è ciò a cui serviva -sameq), usa -qscale 0 o un'opzione del fattore di qualità equivalente.
Impossibile impostare il valore '1' per l'opzione 'sameq': argomento non valido
questo è quello che ti dice.

guardando un poco sul web, leggo che sameq non andrebbe mai usato anzi non esiste proprio ( è stato rimosso ) da ffmpeg.


RE: Ruotare un video usando ffmpeg - nonno Pietro - 24/02/2022

Buongiorno a tutti
Grazie dxgiusti, ho tentato col tuo comando, col seguende risultato (posto solo le ultime righe):
Codice:
Please use -q:a or -q:v, -qscale is ambiguous
Expected number for q:v but found: O
A tentativi ho finalmente copiato il file mpeg:
Codice:
pietro@nonno-desktop:~/Scrivania/2016_silvia$  ffmpeg -i 20161113173317.mpg -vf "transpose=3" -q:v 0 prova.mpeg
Ho introdotto lo 0 dopo -q:v  e il filmato è stato girato a destra. Con numeri diversi (farò la prova) probabilmente la rotazione sarà diversa.
Mi è comparso il seguente avviso:
Codice:
[mpeg @ 0x55c05a3b0d00] VBV buffer size not set, using default size of 230KB
If you want the mpeg file to be compliant to some specification
Like DVD, VCD or others, make sure you set the correct buffer size
Non comprendo bene se è necessaria qualche azione e come farla.


RE: Ruotare un video usando ffmpeg - Sargon6 - 25/02/2022

Vedi se qualcuna di queste istruzioni ti può essere utile...
Codice:
ffmpeg -i videoin.mp4 -vf "transpose=0" -q:a 0 -q:v 0 transpose_0q.mp4 # Ruota di 90 gradi in senso orario e specchia l'intero video mantenendone inalterata la qualità
ffmpeg -i videoin.mp4 -vf "transpose=1" -q:a 0 -q:v 0 transpose_1q.mp4 # Ruota di 90 gradi in senso orario l'intero video mantenendone inalterata la qualità
ffmpeg -i videoin.mp4 -vf "transpose=2" -q:a 0 -q:v 0 transpose_2q.mp4 # Ruota di 90 gradi in senso antiorario l'intero video mantenendone inalterata la qualità
ffmpeg -i videoin.mp4 -vf "transpose=3" -q:a 0 -q:v 0 transpose_3q.mp4 # Ruota di 90 gradi in senso antiorario e specchia l'intero video mantenendone inalterata la qualità


ffmpeg -i videoin.mp4 -vf "rotate=45*PI/180" -q:a 0 -q:v 0 rotate_45q.mp4 # Ruota di 45 gradi in senso orario la sola immagine mantenendone inalterata la qualità
ffmpeg -i videoin.mp4 -vf "rotate=90*PI/180" -q:a 0 -q:v 0 rotate_90q.mp4 # Ruota di 90 gradi in senso orario la sola immagine mantenendone inalterata la qualità