Mi capita spesso di dover manipolare file audio e video per vari motivi. A volte devo estrarre l’audio da un filmato per poi utilizzarlo diversamente in un montaggio, altre volte devo unire due filmati in una sequenza unica, altre volte ancora capita di dover spezzare il video in più parti per questioni di spazio. Per tutte queste operazione utilizzo uno strumento che per me è il coltellino svizzero dell’audio-video. Oggi ti spiego come convertire audio e video con FFmpeg e non solo.
FFmpeg è uno strumento da riga di comando molto potente utilizzato per effettuare varie operazioni di conversione file audio e video. E’ uno strumento gratuito e disponibile sia per Windows che per Linux e Mac. Non tutti sanno come utilizzarlo per questo tipo di operazioni ecco perché in questo articolo voglio spiegarti come utilizzarlo al meglio con esempi per le operazioni più comuni, partendo dal download, fino ad arrivare al ritaglio di file audio passando per l’unione di due o più file video. Gli esempi sono realizzato con Windows 8.1 ma la sintassi dei comandi è la stessa anche se usi Linux o Mac. Bene… iniziamo!
Scaricare FFmpeg per Windows
Per utilizzare FFmpeg ovviamente lo devi prima scaricare dal sito ufficiale. Non è necessaria un’installazione perché per Windows viene fornito sotto forma di file zip, sia nella versione a 32 che in quella a 64 bit. Per linux e Mac la procedura è ancora più semplice perché per Mac ti basta scaricare un file auto installante, mentre per Linux puoi usare lo strumento di installazione della distribuzione. Collegati allora al sito di FFMpeg e scarica la versione adatta al tuo sistema operativo.
Per scoprire se il tuo sistema operativo è a 32 o a 64 bit clicca col tasto destro del mouse sull’icona del computer e seleziona Proprietà. Se usi Windows 8 muovi il mouse sul lato destro del desktop, nella casella di ricerca digita dxdiag e premi invio. Nella sezione Sistema Operativo leggi l’architettura del tuo sistema..
Estrazione dei file
Una volta scaricato il file zip estrai il suo contenuto in una cartella. Puoi utilizzare 7Zip oppure l’utility di decompressione di Windows.
Dopo aver estratto tutti i file ti consiglio di rinominare la cartella chiamandola FFmpeg e di copiarla nella radice del disco C per poter meglio seguire gli esempi che sto per farti dell’utilizzo di FFmpeg. Tutte le schermate dei comandi che seguono fanno infatti riferimento ad una cartella con questo nome presente nel disco C.
AvviarevFFmpeg
Avvia il prompt dei comandi cliccando su start e digitando cmd nella casella di ricerca. Puoi anche ricercare il comando digitando nella casella di ricerca di Windows 8 Prompt dei comandi. Ti appare una finestra come questa.
digita cd \ e premi invio come nell’immagine che segue.
ora digita cd FFmpegTool, per entrare nella cartella dove sono contenuti i file estratti precedentemente.
ora devi entrare nella cartella bin dove sono contenuti i file eseguibili di FFmpeg. Per farlo digita cd bin e premi invio. Dovresti trovarti in una situazione come quella che appare nell’immagine che segue.
ora digita ffmpeg.exe e premi invio. Dopo un paio di secondi dovresti vedere apparire l’output del comando come nella schermata qui sotto.
Comandi importanti
Bene, ora che FFmpeg è pronto all’uso vediamo come utilizzarlo per alcune operazioni comuni. Negli esempi che seguono ho utilizzato un file video che ho copiato nella cartella bin di FFmpeg. L’ho chiamato video_esempio.avi e su questo file andremo a fare le varie operazioni di manipolazione. Iniziamo!
1. Estrarre l’audio da un File Video
Una volta verificato che il comando FFmpeg funziona digita il comando che segue per estrarre il flusso audio del file video per salvarlo inun file audio a parte.
ffmpeg -i video_esempio.avi -vn -ab 128 audio_estratto.mp3
I parametri -vn indicano di estrarre l’audio mentre -ab indica di estrarlo nel formato mp3 a 128Kbps. Puoi modificare il bitrate inserendo ad esempio 265Kbps o qualche altro valore del parametro -ab. Il file audio risultante viene salvato nella cartella bin.
2. Estrarre un video con l’audio muto
Nel prossimo comando l’opzione -an è utilizzata per rimuovere l’audio dal filmato. Il comando è il seguente:
ffmpeg -i video_esempio.avi -an video_muto.avi
3. Ridimensiona il file Video
Nel comando che segue si usa il parametro -s per ridimensionare il video. Il comando è:
ffmpeg -i video_esempio.avi -s 640x480 -c:a copy video_ridotto.avi
4. Aggiungere un’immagine di copertina ad un file audio mp3
Puoi aggiungere un’immagine di copertina ad un file audio. Il risultato è un file video con un’immagine che appare mentre l’audio scorre. E’ molto utile se utilizzi file MP3 per condividerli ad esempio attraverso un sito web. Per utilizzare questo comando devi prima salvare il file dell’immagine nella cartella bin. Il comando è il seguente:
ffmpeg -loop 1 -i immagine.jpg -i audio.mp3 -c:v libx264 -c:a –strict experimental -b:a 192k -shortest audionuovo.mp4
5. tagliare un file video per estrarne un clip
L’opzione -ss definisce un timestamp di partenza (nell’esempio 45 secondi dall’inizio) e il parametro -t indica la durata della clip (nell’esempio 40 secondi). Il comando è il seguente:
ffmpeg -i video_esempio.avi -ss 00:00:45 -codec copy -t 40 video_tagliato.avi
6. Dividere il video in più parti
La maggior parte dei servizi hosting impone un limite sulla dimensione massima di un file in upload. Se devi copiare il tuo filmato in un server web allora lo devi suddividere in più file. FFMpeg ti permette di spezzare file video con il comando che segue
ffmpeg -i video_esempio.avi -t 00:00:59 -c copy parte1.avi-ss 00:00:59 -codec copy parte2.avi
dove -t 00:00:59 indica la prima parte del filmato che andrà a finire nel primo file chiamato parte1, il restante filmato verrà salvato nel file parte2.
7. Convertire un video da un formato ad un altro
FFmpeg supporta moltissimi formati audio e video. Per vedere l’elenco di tutti i formati supportati digita il seguente comando:
ffmpeg -formats
Per convertire un filmato da un formato ad un altro la sintassi del comando è:
ffmpeg -i video_esempio.avi -c:v libx264 video_convertito.wmv
Il comando qui sotto è un esempio per convertire il filmato di esempio nel formato Windows Media Video con estensione .wmv
8. Unire più file Video
FFmpeg permette anche di unire più file video o audio aventi lo stesso codec. Per farlo devi creare un file di testo con una lista dei file da unire in sequenza e copiare questi file nella cartella bin. Nel file di testo inserisci l’elenco dei file con il percorso assoluto come nell’immagine che segue.
Ora digita il comando che unisce i file:
ffmpeg -f concat -i lista_video.txt -c copy video_unito.avi
9. Ritagliare un file audio
Per ritagliare una parte di un file audio il comando da utilizzare è il seguente:
ffmpeg -ss 00:00:15 -t 45 -i audio.mp3 audio_ritagliato.mp3
dove -ss 00:00:15 è il punto di inizio da cui iniziare il ritaglio e -t 45 è la durata del file tagliato.
Conclusioni
Come hai visto FFmpeg è molto potente e quelle descritte negli esempi che ho riportato in questo articolo, sono soltanto alcune delle operazioni fattibili con questo semplice software. Il fatto poi che si a un tool da riga di comando ti permette di utilizzarlo anche in script automatizzati o all’interno di programmi con interfacce grafiche più evolute.
Ottimo articolo, l’ho trovato molto utile.
Ho convertito tutti i video di una cartella, da mp4 ad avi, prendendo spunto dal tuo, utilizzando windows ed un sempice file .bat.
Scrivo qui il codice, potrebbe servire a qualcuno in futuro.
for %%a in (“*.mp4”) do ffmpeg -i “%%a” -qscale 0 -vcodec v210 -acodec ac3 “folder%%~na.avi”
pause