Esempi utili per sfruttare FFMPEG su Linux
In questo articolo descriviamo gli utilizzi più comuni del software FFMPEG su Linux.
Consideriamo di utilizzare una macchina virtuale preinstallata Ubuntu 18.04 con FFMPEG ( per l’installazione leggere questo articolo) installato ed aggiorniamola
sudo apt-get update
sudo apt-get upgrade
iniziamo ottenendo informazioni sul tipo di file
sudo ffmpeg -i video.mp4
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
Duration: 00:01:54.75, start: 0.000000, bitrate: 659 kb/s
Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 720×400 [SAR 1:1 DAR 9:5], 605 kb/s, 24.99 fps, 25 tbr, 90k tbn, 50 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 47 kb/s (default)
Metadata:
handler_name : VideoHandler
vengono descritte le caratteristiche dell’audio e del video.
Attraverso FFMPEG è possibile dividere il file audio/video in immagini
sudo ffmpeg -i video.mp4 immagine_%d.jpg
in questo caso verranno creati differenti file .jpg a seconda di quanto dura il video.
E’ possibile convertire il file .mp4 in un file .mp3 audio
sudo ffmpeg -i video.mp4 -vn -ar 44100 -ac 2 -ab 192 -f mp3 audio.mp3
definendo il bitrate ed altri parametri specifici.
Altra funzionalità molto interessante è l’aggiunta del sottotitolo ad un file video/audio (supponiamo di avere il file. srt)
sudo ffmpeg -i video.mp4 -i sottotitolo.srt -map 0 -map 1 -c copy -c:v libx264 -crf 23 -preset veryfast video_con_sottotitolo.mkv
E’ possibile anche tagliare/estrarre (trimmare) il file .mp4 in uno specifico momento
sudo ffmpeg -i video.mp4 -ss 00:01:00 -to 00:03:00 -c copy video_estratto.mp4
In ultimo, consideriamo di aver tagliato il file in tre parti il video sorgente video_parte1.mp4, video_parte2.mp4, video_parte3.mp4 è possibile nuovamente riunirlo creando un file concatenazione.txt (qualsiasi nome va bene) e fornendo per ogni riga il percorso dei singoli file
sudo apt-get install vim
vim /home/test/concatenazione.txt
cat /home/test/concatenazione.txt
/home/test/video_parte1.mp4
/home/test/video_parte2.mp4
/home/test/video_parte3.mp4
per riunire i pezzi eseguiamo
ffmpeg -f concat -i concatenazione.txt -c copy video_unito.mp4