FFmpeg è un progetto software gratuito e open source costituito da un'ampia suite di librerie e programmi per la gestione di file e flussi video, audio e altri contenuti multimediali. È un insieme multipiattaforma di strumenti che funzionano su Mac (OSX), Linux e Windows. Questo articolo copre l'installazione di FFmpeg e gli esempi di comandi più comunemente usati per ottenere informazioni video, tagliare e dividere file video, convertire video in vari formati comprese immagini, gestire audio, sottotitoli e molto altro ancora.
Installazione del framework multimediale FFmpeg
L'installazione di FFmpeg è un processo facile e semplice per i sistemi operativi più comuni.
Ubuntu
Per installare FFmpeg sull'ultimo Ubuntu Linux, utilizzare i seguenti comandi:
sudo apt-get update
sudo apt install ffmpeg -y

OSX
Se desideri installare FFmpeg sul tuo Mac, usa il gestore di pacchetti Homebrew:
brew update && brew upgrade ffmpeg

Finestre
Per installare FFmpeg su Windows, usa Chocolatey:
choco install ffmpeg

I comandi FFmpeg più utili
Ora, non appena avrai installato FFmpeg, possiamo passare ai suoi esempi di comandi più comunemente usati.
Ai fini di questo articolo utilizzeremo file video di esempio gratuiti.
Ottieni informazioni sui file video
Per ottenere informazioni dettagliate sul file video, eseguire il comando seguente:
ffmpeg -i sample-mp4-file.mp4 -hide_banner

Il -hide_banner
l'argomento nasconde le informazioni sui diritti d'autore.
Taglia il video in piccoli clip
FFmpeg ha una capacità che ti consente di tagliare il video in brevi porzioni.
Utilizzeremo i seguenti argomenti:
-ss
parametro specifica le s tempo di torta s tamp inHH:MM:SS.ms
formato-t
argomento specifica la durata della clip finale (t ime) in secondi-codec copy
– il parametro copierebbe tutti i flussi senza ricodificare
ffmpeg -i sample-mp4-file.mp4 -hide_banner \
-ss 00:01:00.0 \
-codec copy \
-t 20 \
OutputVideo.mp4

Dividi il file video in più parti
Usa il comando mostrato di seguito per dividere un video in due o più parti.
Nel nostro esempio stiamo dividendo il file in due parti:
- La prima parte dura 30 secondi dall'inizio del file (
-t
argomento) - La seconda parte conterrà i dati video dal 50° secondo fino alla fine del file (
-ss
argomento)
ffmpeg -i sample-mp4-file.mp4 -hide_banner \
-t 00:00:30 \
-c copy OutputVideo-1.mp4 \
-ss 00:00:50 \
-codec copy \
OutputVideo-2.mp4

Disattiva audio
Utilizzare il comando seguente per disabilitare l'audio del file video di output:
ffmpeg -i sample-mp4-file.mp4 -hide_banner \
-an OutputVideo.mp4

Estrai l'audio dal video
Puoi estrarre l'audio dal Video eseguendo il comando:
ffmpeg -i sample-mp4-file.mp4 -hide_banner \
-vn \
-ac 2 \
-ab 187 \
-f mp3 \
Audio.mp3
Qui stiamo usando le seguenti opzioni:
-vn
disabilita la registrazione video nel file di output-ac
imposta il numero di a audio c canali-ab
imposta a audio b itrate a 187kb/s- -f imposta un formato di output su mp3

Unisci audio e video
Utilizzare il comando seguente per aggiungere la traccia audio al file video:
ffmpeg -i Audio.mp3 -i sample-mp4-file.mp4 \
-hide_banner \
OutputVideo.mp4

Converti video in immagini
Utilizza il comando indicato di seguito per convertire i video in immagini:
ffmpeg -i sample-mp4-file.mp4 -hide_banner \
image%d.jpg

Converti le immagini in video
Tutte le immagini possono essere convertite nel video:
ffmpeg -f image2 -i image%d.jpg \
-hide_banner \
OutputVideo.mp4

Prova ad aggiungere tu stesso l'audio alla clip finale.
Conversione da MP4 a FLV
Esegui il comando illustrato di seguito per convertire il file video in formato MP4 in formato FLV:
ffmpeg -i sample-mp4-file.mp4 -hide_banner \
-vn \
-ac 2 \
-ab 187 \
-f flv \
OutputVideo.flv

Converti FLV in MPG
Esegui il comando mostrato di seguito per convertire il file video in formato FLV in formato MPG:
ffmpeg -i OutputVideo.flv -hide_banner \
OutputVideo.mpg

Converti MPG in FLV
Copia il comando illustrato di seguito per convertire il file video in formato MPG in FLV:
ffmpeg -i OutputVideo.mpg -hide_banner \
-ab 26k \
-f flv \
OutputVideo.flv

Converti il video in una GIF animata
Per convertire un file video in un file gif animato, usa il comando:
ffmpeg -i sample-mp4-file.mp4 -hide_banner \
Output.gif

Converti in formato CD/DVD
Usa -target
digitare per creare un file di output in formato video CD o DVD.
Il tipo di destinazione supporta vcd
, svcd
, dvd
, dv
e dv50
formati che possono essere preceduti da pal-
, ntsc-
o film-
per utilizzare lo standard corrispondente:
ffmpeg -i sample-mp4-file.mp4 -hide_banner \
-target film-vcd \
vcd_video.mpg

Inserisci sottotitoli
Creiamo un file di sottotitoli demo (maggiori informazioni sui sottotitoli):
cat << EOF > subtitles.srt
1
00:00:00,000 --> 00:00:20,000
This is demo subtitle 1
2
00:00:20,000 --> 00:00:40,000
This is demo subtitle 2
EOF
Puoi aggiungere il file dei sottotitoli al file video aggiungendo un file dei sottotitoli separato al comando:
ffmpeg -i sample-mp4-file.mp4 -hide_banner \
-i subtitles.srt \
-c copy \
-c:s mov_text \
OutputVideo.mp4
Se desideri mostrare i sottotitoli nel video:
ffmpeg -i sample-mp4-file.mp4 -hide_banner \
-vf subtitles=subtitles.srt \
OutputVideo.mp4

Estrai i sottotitoli
Per estrarre i sottotitoli dal file video, controlla quale stream dovresti usare per primo:
ffmpeg -i OutputVideo.mp4

L'output indica che i sottotitoli sono disponibili nel file nello stream #0:2
.
Ora possiamo estrarli usando il seguente comando:
ffmpeg -i OutputVideo.mp4 -hide_banner \
-map 0:2 subtitles.srt

Dove -map 0:2
specifica il flusso richiesto.
Ruota video
Infine, ecco un comando per ruotare il video clip di 90 gradi in senso orario (usa transpose=2
per ruotare in senso antiorario):
ffmpeg -i sample-mp4-file.mp4 -hide_banner \
-filter:v 'transpose=1' \
OutputVideo.mp4

Riepilogo
FFmpeg è un framework multimediale versatile che ci consente di eseguire diverse operazioni con i file video.
Puoi utilizzare FFmpeg per convertire file video e audio in altri formati, estrarre immagini e audio, ruotare video, aggiungere sottotitoli, dividere clip video in più parti e molto altro. In questa guida abbiamo illustrato come applicare i comandi più comunemente usati per ottenere i risultati di cui potresti aver bisogno.