La Guida Completa per l’utilizzo di ffmpeg su Linux
ffmpeg è un’utilità CLI (basata sulla riga di comando) per l’elaborazione di file multimediali. È un framework con una moltitudine di funzionalità e, grazie alla sua licenza open source, è la base per molte app diffuse come VLC, YouTube, iTunes e molte altre. Un certo numero di editor video Linux usa ffmpeg sotto la GUI.
Ciò che amo ancora di più su ffmpeg è che può essere utilizzato da solo per eseguire molte attività di elaborazione in un modo molto semplice (con uno o due comandi). Tuttavia, è un programma molto potente che può essere utilizzato in modi più complessi e persino sostituire un flusso di lavoro di modifica.
In questo tutorial di ffmpeg, ti mostrerò come installare ffmpeg e coprirò i suoi diversi usi. Entrerò anche in alcune funzioni più complesse.
Ecco le sezioni di questa guida:
- Installazione di ffmpeg
- Uso base di ffmpeg
- Uso avanzato di ffmpeg
- Elementi di base del filtro
Cercherò di spiegare tutto nel dettaglio in modo da poter capire cosa sta succedendo, anche se siete nuovi al mondo di Linux.
Sarò con Ubuntu 18.04, ma questi comandi dovrebbero funzionare anche per altre versioni e/o distribuzioni.
Nota: anche se io ho studiato ffmpeg accuratamente e testato tutto ciò che ho scritto in questo articolo, io non modifico i video (o altri supporti) tutti i giorni. Se avete suggerimenti, consigli o correzioni, fatemi sapere nei commenti!
L’installazione di ffmpeg su Ubuntu e Linux
L’installazione di ffmpeg è un processo semplice. Si tratta di una popolare applicazione ed è disponibile nella maggior parte della distribuzione Linux attraverso il gestore di pacchetti.
Installare ffmpeg in Ubuntu
In Ubuntu, ffmpeg è disponibile nel repository Universe, quindi assicurarsi di abilitare il repository universe. e quindi aggiornare l’elenco dei pacchetti e installare ffmpeg. Si può fare tutto queste usando i seguenti comandi in un terminale:
sudo add-apt-repository universe sudo apt update sudo apt install ffmpeg
È possibile verificare l’installazione digitando:
ffmpeg
Questo dovrebbe visualizzare il testo che descrive la tua configurazione ffmpeg (compresa la versione).
Come si può vedere dallo screenshot sopra, la versione installata è la 3.4.4. Tuttavia, l’ultima versione di ffmpeg al momento della scrittura di questo articolo è la 4.1. Per installare qualsiasi versione 4.x, dovrete utilizzare ffmpeg ppa. Fare clic per espandere la sezione successiva per vedere i dettagli dell’installazione di ffmpeg tramite PPA.
Installare l’ultima versione di ffmpeeg in distribuzioni basate su Ubuntu tramite PPA
C’è un PPA non ufficiale che è possibile utilizzare per installare l’ultima versione di ffmpeg. Semplicemente usa questi comandi:
sudo add-apt-repository ppa:jonathonf/ffmpeg-4 sudo apt update sudo apt install ffmpeg -y
Installare ffmpeg in distribuzioni basate su Arch
Per installare ffmpeg nelle distribuzioni basate su Arch, utilizzare il seguente comando:
sudo pacman -S ffmpeg
Installare ffmpeg in distribuzioni basate su Fedora
Per installare ffmpeg in distribuzioni basate su Fedora, è possibile utilizzare questo comando:
sudo dnf install ffmpeg
Come utilizzare ffmpeg: Le Nozioni di base
Con ffmpeg installato, esaminerò i comandi di base per iniziare a utilizzare questo potente strumento.
0. Comandi ffmpeg
La forma base di un comando ffmpeg è:
ffmpeg [global_options] {[input_file_options] -io input_url} ... {[output_file_options] output_url} ...
Devi tenere presente che tutte le opzioni del file si applicano solo al file che le segue (dovrai scriverle di nuovo per il file successivo).
Qualsiasi file non preceduto da -i è considerato un file di output. Ffmpeg usa tanti input e output quanti ne fornisci. Puoi anche usare lo stesso nome sia per un file di input che per un file di output, ma dovrai aggiungere l’opzione -y prima del nome del file di output.
Non si deve mescolare gli ingressi e le uscite; specificare i file di input prima, quindi specificare i file di output.
1. Ottenere informazioni del file multimediale
Il primo uso di ffmpeg è la visualizzazione di informazioni su di un file multimediale. Questo può essere fatto non scrivendo alcun file di output. Basta digitare:
ffmpeg -i nome_file
Questo funziona per i file audio e video:
ffmpeg -i video_file.mp4 ffmpeg -i audio_file.mp3
Sebbene utile, questo comando mostrerà troppe informazioni che non sono rilevanti per il tuo file (informazioni su ffmpeg). Per ometterle, aggiungi l’opzione -hide_banner:
ffmpeg -i video_file.mp4 -hide_banner ffmpeg -i audio_file.mp3 -hide_banner
Come puoi vedere, il comando ora mostra solo i dettagli relativi al file multimediale specificato (codificatore, stream, ecc.).
2. La Conversione Di File Multimediali
Un altro modo molto utile per usare ffmpeg è la conversione senza problemi tra diversi formati multimediali. Devi solo specificare i file di input e di output, dato che ffmpeg otterrà il formato richiesto dalle estensioni del file. Funziona per conversioni video a video e audio ad altro audio.
Ecco alcuni esempi:
ffmpeg -i video_input.mp4 video_output.avi ffmpeg -i video_input.webm video_output.flv ffmpeg -i audio_input.mp3 audio_output.ogg ffmpeg -i audio_input.wav audio_output.flac
È anche possibile specificare più file di output:
ffmpeg -i audio_input.wav audio_output_1.mp3 audio_output_2.ogg
Questo permette di convertire il file di input in tutti i formati specificati nell’output.
Per visualizzare un elenco di tutti i formati supportati, utilizzare:
ffmpeg -i formats
Ancora, è possibile aggiungere -hide_banner per omettere le informazioni sull’applicazione.
È possibile specificare il parametro -qscale 0 prima deil file di output per preservare la qualità di un file video:
ffmpeg -i video_input.wav -qscale 0 video_output.mp4
Inoltre, è possibile specificare i codec che si desidera utilizzare, aggiungendo -c: a (per audio) e -c: v (per video) seguiti dal nome dei codec o copia se si desidera utilizzare gli stessi codec del file originale:
ffmpeg -i video_input.mp4 -c:v copia -c:a libvorbis video_output.avi
Nota: questo potrebbe rendere l’estensione del file piuttosto ingannevole, quindi fai attenzione.
3. Estrarre l’Audio dal Video
Per estrarre l’audio da un file video, e fare una semplice conversione, aggiungere l’opzione -vn:
ffmpeg-i video.mp4 -vn audio.mp3
Si noti che questo comando utilizza il bit rate del file originale. È una buona idea impostarlo voi stessi; è possibile utilizzare -ab (bit rate audio):
ffmpeg -i video.mp4 -vn -ab 128k audio.mp3
Alcuni bit rate comuni sono 96k, 128k, 192k, 256k, 320k (il più alto bitrate supportato da mp3).
Altre opzioni comuni sono -ar (frequenza audio: 22050, 44100, 48000), -ac (numero di canali audio), -f (formato audio, anche se normalmente rilevato automaticamente). L’opzione -ab può anche essere sostituita da -b:un. Per esempio:
ffmpeg -i video.mov -vn -ar 44100 -ac 2 -b:a 128k -f mp3 audio.mp3
4. Disattivare l’Audio nei Video
Simile all’ultima attività, per fare ciò aggiungeremo -an (invece di -vn).
ffmpeg -i video_input.mp4 -an -video_output.mp4
Nota: Il tag -an renderà inutilizzabili tutte le opzioni audio per quel file di output, poiché non ci sarà audio nel risultato dell’operazione.
5. Estrarre Immagini da Video
Questo potrebbe tornare utile per un sacco di gente. Per esempio, si potrebbe avere una serie di immagini (ad esempio, una presentazione) e si desidera ottenere tutte le immagini. Basta digitare:
ffmpeg -i video.mp4 -r 1 -f bmp image-%3d.png
Spieghiamo come funziona:
-r specifica la frequenza dei fotogrammi (quanti fotogrammi vengono estratti in immagini in un secondo, di default: 25), -f specifica il formato del file di output.
L’ultimo parametro (il file di output) ha un nome un po’ interessante: utilizza %3d alla fine. Questo semplicemente numera le tue immagini con 3 cifre (000, 001, ecc.) Puoi anche usare %2d (formato a 2 cifre) o anche %4d (formato a 4 cifre) se vuoi, sentiti libero di sperimentare e usare qualsiasi cosa funzioni per te!
Nota: C’è anche un modo per trasformare una serie di immagini in un video/slideshow. Ne parlerò nella sezione Uso Avanzato.
6. Modificare la Risoluzione del Video o le Proporzioni
Un altro compito semplice per ffmpeg. Tutto quello che dovete fare per ridimensionare un video è specificare una nuova risoluzione dopo l’opzione -s :
ffmpeg -i video_input.mov -s 1024x576 video_output.mp4
Inoltre, è possibile specificare -c:a per assicurarsi che il codec audio del file di output è quello giusto:
ffmpeg -i video_input.h264 -s 640x480 -c:a video_output.mov
È inoltre possibile modificare le proporzioni utilizzando -aspect:
ffmpeg -i video_input.mp4 -aspect 4:3 video_output.mp4
Nota: ancora una volta, un altro metodo leggermente più potente verrà citato nella sezione Uso Avanzato.
7. Aggiungere l’Audio ad una immagine
Questo è un ottimo modo per trasformare l’audio in video, usando una singola foto (come la copertina di un album) per l’audio. Questa è una funzionalità molto utile quando si desidera caricare file audio in siti che non consentono altro che video o immagini (YouTube e Facebook sono due esempi di tali siti).
Ecco un esempio:
ffmpeg -loop 1 -i image.jpg -i audio.wav -c:v libx264 -c:a aac -strict experimental -b:a 192k -shortest output.mp4
Basta cambiare i codec (-c:v specifica i codec video, -c:a specifica i codec audio) ei nomi dei tuoi file.
Nota: non è necessario utilizzare -strict experimental se si utilizza una versione più recente (4.x).
8. Aggiungere Sottotitoli ai Video
Altrettanto utile e semplice da fare con ffmpeg è quello di aggiungere sottotitoli a un video (ad esempio un film). Immettere il seguente:
ffmpeg -i video.mp4 -i subtitles.srt -c:v copy -c:a copy -preset veryfast -c:s mov_text -map 0 -map 1 output.mp4
Naturalmente, è possibile specificare qualsiasi codec che si desidera (e tutte le altre opzioni relative all’audio/video).
9. Comprimere I File Multimediali
La compressione di file riduce notevolmente la dimensione del file, risparmiando un sacco di spazio. Questo può essere importante per il trasferimento di file. Con ffmpeg, ci sono diversi metodi per ridurre le dimensioni del file.
Nota: la Compressione dei file ridurrà sensibilmente la qualità del file risultante.
Prima di tutto, per file audio, è sufficiente ridurre il bit rate (utilizzando -b:a o -ab):
ffmpeg -i audio_input.mp3 -ab 128k audio_output.mp3 ffmpeg -i audio_input.mp3 -b:a 192k audio_output.mp3
Di nuovo, altri diversi valori di bit rate sono: 96k, 112k, 128k, 160k, 192k, 256k, 320k. Più alto è il bit rate, maggiore è la dimensione del file e la qualità.
Per il video si hanno più opzioni.
Un modo potrebbe essere quello di ridurre il bitrate video (utilizzando -b:v):
ffmpeg -i video_input.mp4 -b:v 1000k -bufsize 1000k video_output.mp4
Nota: i Video bit rate sono diversi da gli audio bit rate (molto più alti).
È possibile impostare l’opzione -crf (Fattore di Frequenza Costante ). Una bassa crf significa un più alto tasso di bit. Inoltre, l’utilizzo di libx264 come codec video aiuta. Ecco una riduzione delle dimensioni molto efficiente con una riduzione molto piccola della qualità:
ffmpeg -i video_input.mp4 -c:v libx264 -crf 28 video_output.mp4
Un crf da 20 a 30 è comune, ma sentitevi liberi di giocare con il valore specifico.
La riduzione della frequenza dei fotogrammi potrebbe funzionare in alcuni casi (anche se potrebbe facilmente rendere il video lento):
ffmpeg -i video_input.mp4 -r 24 video_output.mp4
-r specifica il frame rate o fotogrammi al secondo (in questo caso 24).
Si potrebbe anche provare a ridurre la dimensione del video (già spiegato come fare). Un ulteriore suggerimento è quello di comprimere l’audio, rendendolo stereo e ridurre il bit rate. Per esempio:
ffmpeg -i video_input.mp4 -c:v libx264 -ac 2 -c:a aac -strict -2 -b:a 128k -crf 28 video_output.mp4
Nota: -strict -2 e -ac 2 si occupano della parte stereo. Ho già detto della parte che riduce la velocità in bit.
10. Tagliare I File Multimediali (Concetti Base)
Per tagliare i file dall’inizio è necessario specificare una durata temporale con l’opzione -t:
ffmpeg -i input_video.mp4 -t 5 output_video.mp4 ffmpeg -i input_audio.wav -t 00:00:05 output_audio.wav
Come si può vedere, questo funziona per file video e audio. Entrambi i comandi di cui sopra fanno la stessa cosa: salvano i primi 5 secondi del file di input nel file di output. Ho usato 2 diversi modi di inserire la durata usando un singolo numero (numero di secondi) e HH:MM:SS (ore, minuti, secondi).
Si può andare anche oltre, specificando un tempo di avvio con -ss, e anche un tempo di fine con -to:
ffmpeg -i input_audio.mp3 -ss 00:01:14 output_audio.mp3 ffmpeg -i input_audio.wav -ss 00:00:30 -t 10 output_audio.wav ffmpeg -i input_video.h264 -ss 00:01:30 -to 00:01:40 output_video.h264 ffmpeg -i input_audio.ogg -ss 5 output_audio.ogg
Si può vedere il tempo d’inizio (ss HH:MM:SS), la durata (-t durata) in secondi, il tempo di fine (-HH:MM:SS), e l’ora di inizio (-ss durata) in secondi (a partire dopo la durata di 5 secondi).
Tutti questi sono comandi validi e puoi lavorare con qualsiasi parte di un file multimediale.
Come utilizzare ffmpeg: Utilizzo Avanzato
Tratterò ora alcune funzionalità leggermente più avanzate (come la manipolazione video, l’uso di dispositivi, ecc.). Andiamo subito al primo punto!
1. Tagliare i File Multimediali
Ho già affrontato il taglio dei file. Quello che devi fare per suddividere un file in più parti è specificare più tagli (specificando le ore di inizio, le ore di fine o la durata prima di ogni file di output).
Osservate questo esempio:
ffmpeg -i video.mp4 -t 00:00:30 video_1.mp4 -ss 00:00:30 video_2.mp4
La sintassi è abbastanza semplice. Ho specificato -t 00:00:30 come durata, per la prima parte (la prima parte comprenderà i primi 30 secondi del video originale). A quel punto, ho specificato che vorrei il resto del file in un un secondo video (a partire dalla fine dell’ultima parte, 00:00:30).
Questo può essere fatto per tutte le parti che vuoi! Divertiti a giocare con questa funzione, dal momento che è molto potente. Tieni presente che funziona anche con l’audio.
2. Concatenare I File Multimediali
ffmpeg può fare anche il processo opposto: mettere più pezzi insieme.
Per farlo, dovrete creare un file di testo e iniziare la modifica utilizzando il vostro editor preferito.
Io uso touch e vim. Lo chiamerò videos_to_join.txt e lo creo usando touch:
touch videos_to_join.txt
Ora, andiamo a modificarlo usando vim:
vim videos_to_join.txt
È possibile utilizzare tutti gli strumenti che si desidera (nano, gedit, etc.), vim è quello che è più facile per me da usare.
Inserire i percorsi di tutti i file che si desidera unire uno per riga. Assicurarsi che abbiano la stessa estensione (ad esempio mp4). Ecco la mia:
/home/ubuntu/Desktop/video_1.mp4 /home/ubuntu/Desktop/video_2.mp4 /home/ubuntu/Desktop/video_3.mp4
Salvare il file appena modificato. Questo metodo funziona per qualsiasi file audio o video.
Ora inserire il seguente comando:
ffmpeg -f concat -i videos_to_join.txt output.mp4
Nota: il mio file di output è output.mp4, ma perché tutti i miei file di input sono mp4.
Questo dovrebbe unire tutti i file che ho scritto nel file di testo videos_to_join.txt (o comunque si chiama quel file) in un unico file di output.
3. Unire le Immagini in un Video
Questo è come si può mettere insieme una presentazione o qualcosa di simile. Vi mostrerò come aggiungere anche l’audio.
La prima cosa che consigliamo di fare è assicurarsi che le fote che si desidera mettere insieme siano nella stessa cartella. Io metterò le mie in una cartella chiamata my_photos. Le estensioni raccomandate per le immagini sono .png e .jpg. A seconda di quale si sceglie, assicurarsi che tutte le immagini abbiano la stessa estensione (in caso contrario, utilizzando ffmpeg potrebbe esserci effetti indesiderati). Si può semplicemente convertire il file .png in file .jpg o viceversa.
Il formato (-f) della nostra conversione deve essere image2pipe. Per l’input, è necessario fornire un trattino (–). Cosa image2pipe permette di fare è una pipe (da terminale si userebbe il carattere | ) e sarà come il risultato di un comando cat in ffmpeg invece di inserire tutti i nomi uno per uno. Perché ciò funzioni, dovremo anche menzionare che vogliamo che i codec video siano copiati (-c:v copy) (per usare correttamente le immagini):
cat my_photos/* | ffmpeg -f image2pipe -i - -c:v copy video.mkv
Se riproduci questo file, potresti pensare che solo alcune immagini sono state aggiunte alla presentazione. In realtà, tutte le tue foto sono state aggiunte, ma ffmpeg le scorre ciclicamente il più velocemente possibile. Ciò significa 1 fotogramma per foto; ffmpeg (di default) gira intorno ai 23 fps.
Per cambiarlo, dovrai specificare il frame rate (-framerate) ovvero il numero di fotogrammi al secondo che vuoi:
cat my_photos/* | ffmpeg -framerate 1 -f image2pipe -i - -c:v copy video.mkv
Nel mio esempio, ho impostato il frame rate a 1, il che significa che ogni fotogramma (che significa anche ogni immagine) appare per 1 secondo.
Per aggiungere l’audio, come un brano di sottofondo, si dovrà specificare il file audio come file di input (-i audio_file) e copiare il codec audio (-c:a copy). Per i codec, è possibile copiare entrambi i codec audio e video allo stesso tempo con -c copy. Assicurati di aver impostato il codec giusto prima di specificare il file di output. Si potrebbe anche impostare il frame rate , in modo che tutte le immagini si sincronizzino con la durata del file audio che si desidera utilizzare. Per ottenere questo, dividere il numero di immagini per la durata dell’audio (in secondi). Nel mio esempio, io ho un file audio di 22 secondi e 9 immagini. 9 / 22 fa circa 0.40, e questo è il valore che è quello che userò per il mio frame rate:
cat my_photos/* | ffmpeg -framerate 0.40 -f image2pipe -i - -i audio.wav -c copy video.mkv
4. Registrare lo Schermo
Fare Screencasting con ffmpeg non è un lavoro difficile. Il formato (-f) da utilizzare è x11grab. Questo catturerà l’XSERVER. Come input, dovrete specificare il numero del vostro schermo di visualizzazione (la schermata principale dovrebbe essere normalmente :0.0). Tuttavia, questo farà l’acquisizione solo in alto a sinistra dello schermo. Si dovrebbe aggiungere la dimensione dello schermo (-s). Il mio è di 1920×1080. La dimensione dello schermo dovrebbe essere menzionata prima dell’ingresso:
ffmpeg -f x11grab -s 1920x1080 -i :0.0 output.mp4
Premere q o CTRL+C in qualsiasi momento per interrompere lo screencast.
Trucco: È possibile ottenere la dimensione del file di output a schermo intero in automatico con l’immissione di questa stringa (invece di 1920×1080 o a qualsiasi altra risoluzione):
-s $(xdpyinfo | grep dimensions | awk '{print $2;}')
Ecco il comando completo:
ffmpeg -f x11grab -s $(xdpyinfo | grep dimensions | awk '{print $2;}') -i :0.0 output.mp4
5. Registra dalla tua Webcam
Per l’Ingresso di registrazione dalla vostra webcam (o un altro dispositivo come da una fotocamera usb) è ancora più facile. In Linux, i dispositivi di input sono in /dev come /dev/video0, /dev/video1, etc.:
ffmpeg -i /dev/video0 uscita.mkv
Di nuovo, q o CTRL+C per interrompere la registrazione.
6. Registrare L’Audio
Linux gestisce audio principalmente attraverso ALSA e pulseaudio. ffmpeg può registrare con entrambi ma mi occuperò di pulseaudio, dal momento che le distribuzioni basate su Debian lo include di default. La sintassi è un po’ diversa per i due metodi.
Per pulseaudio, devi forzare (-f) alsa e specificare default come input (-i default):
ffmpeg -f alsa -i default output.mp3
Nota: Nella tua distribuzione in impostazioni audio, assicuratevi che il dispositivo di registrazione predefinito sia quello da cui si desidera registrare.
So suonare la chitarra e ho un’interfaccia audio così posso fare delle registrazioni. Ho avuto una piacevole sorpresa quando ho registrato con ffmpeg la mia chitarra senza problemi.
Bonus: Consigli sulla Registrazione
Per ogni tipo di registrazione è anche possibile specificare i codec, ovviamente. È possibile anche scegliere un frame rate (-r). È inoltre possibile combinare la registrazione audio con quella dello schermo o da webcam!
ffmpeg-i /dev/video0 -f alsa -i default-c:v libx264 -c:a flac -r 30 output.mkv
Invece di registrare l’audio, si può altrettanto facilmente aggiungere un file audio come input per essere registrato in testa al tuo screencast/webcam:
ffmpeg -f x11grab -s $(xdpyinfo | grep dimensions | awk '{print $2;}') -i :0.0 -i audio.wav -c:a copy output.mp4
Nota: ffmpeg registra in piccoli pezzi, quindi una registrazione davvero piccola potrebbe non essere salvata. Ti consiglio di registrare un po’ più a lungo e di tagliarlo in seguito (se vuoi solo pochi secondi), solo per assicurarti che il file sia effettivamente scritto sul tuo disco.
Utilizzo di Base dei Filtri in ffmpeg
I filtri sono una funzionalità incredibilmente potente di ffmpeg. C’è una quantità pazzesca di filtri disponibili per l’uso, rendendo ffmpeg completamente in grado di gestire qualsiasi necessità di editing. Poiché ci sono così tanti filtri e questo articolo è già completo, scriverò solo di alcuni filtri semplici.
La struttura di base per l’utilizzo di un filtro è:
ffmpeg -i input.mp4 -vf "filter=setting_1=valore1:setting_2=valore2,ecc" output.mp4 ffmpeg -i input.wav -af "filter=setting_1=valore1:setting_2=valore2,ecc" output.wav
Come potete vedere, sto specificando i filtri video (-vf, abbreviazione di filter:v) e filtri audio (af, abbreviazione di filer:a). I filtri sono scritti all’interno di virgolette doppie (“) e possono essere concatenati, separandoli con una virgola (,). Puoi specificare tutti i filtri che vuoi (ho scritto ecc per annotare filtri aggiuntivi, in realtà non fa parte del comando).
La forma generale di un filtro è:
filter=setting_2=valore2:setting_2=valore2
Le diverse impostazioni del filtro e i loro valori sono separati da due punti.
È inoltre possibile eseguire operazioni matematiche al posto dei valori per le diverse impostazioni.
Nota: La versione più dettagliata delle diverse costanti da utilizzare nelle espressioni e nelle diverse impostazioni può essere trovata nella versione ufficiale della documentazione dei filtri di ffmpeg
Mi occuperò di filtri sia video che audio . Vediamo alcuni esempi!
1. Ridimensionamento del Video
Questo è un filtro molto semplice. L’unica impostazioni sono la larghezza e altezza:
ffmpeg -i input.mp4 -vf "scala=w=800:h=600" output.mp4
Ho detto che è anche possibile utilizzare le operazioni matematiche per i valori :
ffmpeg -i input.mkv -vf "scala=w=1/2*in_w:h=1/2*in_h" output.mkv
Questo comando consente di impostare la dimensione di uscita per la metà (1/2) della dimensione di input (in_w, in_h).
2. Il Ritaglio Video
Come per il filtro di ridimensionamento, le impostazioni sono la larghezza e l’altezza del file risultante. Facoltativamente, è possibile specificare le coordinate per l’ angolo superiore sinistro del taglio (default: centro del video):
ffmpeg -i input.mp4 -vf "crop=w=1280:h=720:x=0:y=0" output.mp4 ffmpeg -i input.mkv -vf "crop=w=400:h=400" output.mkv
Come è noto, il secondo taglio, taglia al centro del file di input (visto che non ho specificato x e y come coordinate dell’angolo superiore sinistro). Il primo comando viene tagliato dall’angolo in alto a sinistra (x=0:y=0).
Qui è un esempio che utilizza le espressioni matematiche come valori:
ffmpeg -i input.mkv -vf "crop=w=3/4*in_w:h=3/4*in_h" output.mkv
Questo comando consente di impostare la dimensione di output a 3/4 della dimensione di input (in_w, in_h).
3. Rotazione Video
È anche possibile ruotare un video in senso orario, con un valore (espresso in radianti). Per rendere le cose più facili, è possibile specificare un valore in gradi e ottenere la sua conversione in radianti moltiplicando tale valore per PI/180:
ffmpeg -i input.avi -vf "rotate=90*PI/180" ffmpeg -i input.mp4 -vf "rotate=PI"
Il primo comando ruota il video di 90 gradi in senso orario. Il secondo comando gira il video a testa in giù (PI rad = 180 gradi).
4. Rimappatura dei Canali Audio
Questo può essere utile se in qualche modo si sente solo l’audio nell’orecchio destro o qualcosa di simile. È possibile rendere l’audio udibile da entrambe le orecchie (in questo caso) così facendo:
ffmpeg -i input.mp3 -af "channelmap=1-0|1-1" output.mp3
Questo mappa il canale audio (1) sia per il canale sinistra (0) che per il canale di destra (1). (il numero a sinistra rappresenta l’input, il numero a destra rappresenta l’output).
5. Modificare il Volume dell’Audio
È possibile modificare il volume audio per qualsiasi numero reale (intero o non). Hai solo bisogno di specificare il moltiplicatore:
ffmpeg -i input.wav -af "volume=1.5" output.wav ffmpeg -i input.ogg -af "volume=0.75" output.ogg
Il primo comando amplifica il volume di 1,5 volte. Il secondo comando rende l’audio 1/4 (0.25) volte più silenzioso.
Suggerimento: Modificare la Velocità di Riproduzione
Includerò sia il video (non influisce sull’audio) che i filtri audio per questa attività.
1. Video
Il filtro per il video è setpts (PTS = Presentation Timestamp). Questo funziona in un modo interessante. Poiché modifichiamo il PTS, un coefficiente più grande indica un risultato più lento e viceversa:
ffmpeg -i input.mkv -vf "setpts=0.5*PTS" output.mkv ffmpeg -i input.mp4 -vf "setpts=2*PTS" output.mp4
Come ho appena spiegato, il primo comando raddoppia la velocità di riproduzione e il secondo comando rallenta il video a 1/2 ovvero a metà della sua velocità originale.
2. Audio
Il filtro per questo è atempo. C’è un piccolo avvertimento: può assumere solo valori compresi tra 0.5 (metà della velocità) e 2 (doppia velocità). Per aggirare questo, è possibile concatenare i filtri atempo:
ffmpeg -i input.wav -af "atempo=0.75" output.wav ffmpeg -i input.mp3 -af "atempo=2.0,atempo=2.0" ouutput.mp3
Il primo comando rallenta l’audio a 1/4 della velocità originale. Il secondo comando aumenta la velocità a 4 volte (2*2).
Nota: Per modificare la velocità di riproduzione di video e audio con lo stesso comando dovrete guardare in filtergraphs.
Conclusioni
In questa guida completa ho coperto l’installazione, l’utilizzo di base, l’uso avanzato e le nozioni di base dei filtri.
Spero che questa possa essere una risorsa utile per tutti coloro che vogliono provare ffmpeg, per coloro che vogliono usare ffmpeg per più attività , o anche solo per qualcuno che è disposto a prendere sempre più confidenza con le numerose caratteristiche di questo sorprendente programma di utilità.
Facci sapere se hai trovato utile questo articolo nei commenti qui sotto e diteci come utilizzate ffmpeg! Restiamo in attesa di eventuali aggiunte di ogni sorta. Grazie per aver letto il nostro blog!
Fonte: https://itsfoss.com/ffmpeg/
Se vuoi sostenerci, puoi farlo acquistando qualsiasi cosa dai diversi link di affiliazione che abbiamo nel nostro sito o partendo da qui oppure alcune di queste distribuzioni GNU/Linux che sono disponibili sul nostro negozio online, quelle mancanti possono essere comunque richieste, e su cui trovi anche PC, NAS e il ns ServerOne. Se ti senti generoso, puoi anche donarmi solo 1€ o più se vuoi con PayPal e aiutarmi a continuare a pubblicare più contenuti come questo. Grazie!
Hai dubbi o problemi? Ti aiutiamo noi!
Se vuoi rimanere sempre aggiornato, iscriviti al nostro canale Telegram.Se vuoi ricevere supporto per qualsiasi dubbio o problema, iscriviti alla nostra community Facebook o gruppo Telegram.
Cosa ne pensi? Fateci sapere i vostri pensieri nei commenti qui sotto.
Ti piace quello che leggi? Per favore condividilo con gli altri.