Attenzione! Questa è una Pagina di prova. Le informazioni riportate potrebbero essere incomplete, errate e potenzialmente pericolose. Per contribuire alla realizzazione di questa pagina consultare la discussione di riferimento. |
Guida verificata con Ubuntu: 20.04 22.04
Problemi in questa pagina? Segnalali in questa discussione
Introduzione
FFmpeg è un versatile programma a riga di comando per la codifica/decodifica di formati video e audio. Può essere utilizzato per:
- rotazione dei file video;
- eliminazione audio dai file video;
registrazione audio/video di una sessione X di un dispositivo TV;
- riproduzione multimediale;
- conversione da un formato a un altro;
- aggiungere sottotitoli.
Installazione
Interfaccia a riga di comando
Installare il pacchetto ffmpeg.
Per utilizzare la codifica in alta qualità tramite il codec x264 installare i pacchetti x264 e la libreria di codifica libx264-163
Per utilizzare la codifica in alta qualità tramite il codec x265 installare i pacchetti x265 e la libreria di codifica libx265-199
Consultare questa pagina per eventuali pacchetti di librerie diverse in base alla vostra versione di release |
Interfaccia grafica
Per utilizzare FFmpeg tramite interfaccia grafica installare il pacchetto winff.
Utilizzo
Conversione
In generale, la sintassi, da digitare all'interno di un terminale, è la seguente:
ffmpeg [global_options] {[input_options] input}... {[output_options] output}...
Un esempio base di conversione di un video da formato .avi a .mp4 senza utilizzo di opzioni globali:
ffmpeg -i file.avi -f mp4 file.mp4
Un esempio di conversione complessa:
ffmpeg -i file.avi -f mp4 -b:v 5000k -b:a 256k -c:v libx264 -preset fast -t 00:02:00 file.mp4
Opzioni
Tabelle riassuntive delle principali opzioni audio/video:
Opzioni globali |
||
Comando |
Significato |
Esempi di valori |
-loglevel loglevel |
Imposta il livello di registrazione |
- |
-v loglevel |
Imposta il livello di registrazione |
- |
-report |
Genera un rapporto |
- |
-max_alloc bytes |
Imposta la dimensione massima di un singolo blocco assegnato |
- |
-y |
Sovrascrivi i file di output |
- |
-n |
Non sovrascrive mai i file di output |
- |
-ignore_unknown |
Ignora i tipi di flusso sconosciuti |
- |
-filter_threads |
Numero di thread di filtro non complessi |
- |
-filter_complex_threads |
Numero di thread per -filter_complex |
- |
-stats |
Stampa progresso relazione durante la codifica |
- |
-max_error_rate |
Rapporto degli errori |
0.0 (nessun errore), 1.0 (100% errore massimo) tasso di errore |
-bits_per_raw_sample number |
Imposta il numero di bit per campione grezzo |
- |
-vol volume |
Volume audio |
256 (= normale) |
Opzioni input |
||
Comando |
Significato |
Esempi di valori |
-i nome_file |
Indica il file di ingresso che deve seguire l'opzione |
- |
Opzioni output |
||
Comando |
Significato |
Esempi di valori |
-y |
Il file di ingresso verrà sostituito dal file di uscita |
- |
-fs grandezza |
Imposta la grandezza massima del filmato in byte (-fs XXX), in kB (-fs XXXk) o in MB (-fs XXXM) |
1048576 o 1024k o 1M |
-vframes frame |
Imposta il numero di frame da convertire (frame = fps x s) |
1800 (= 1minuto a 30fps) |
-aframes frame |
Imposta il numero di frame da convertire (frame = fps x s) |
1800 (= 1minuto a 30fps) |
-an |
Disabilità l'audio |
- |
-vn |
Disabilita il video |
- |
-target target |
Specifica il target per il file |
vcd - svcd - dvd - dv - dv50 - pal-vcd - ntsc-svcd |
-aspect aspetto |
Imposta le proporzioni di aspetto |
4:3 - 16:9 o 1.3333 - 1.7777 |
-vb bitrate |
Imposta il valore di bitrate per il video in bit/s (-vb XXX) o in kb/s (-vb XXXk) |
262144 o 256k |
-ab bitrate |
Imposta il valore di bitrate per l'audio in bit/s (-ab XXX) o in kb/s (-ab XXXk) |
262144 o 256k |
-r rate |
Imposta il valore di rate del video in Hz |
- |
-ar rate |
Imposta l'audio sampling rate. |
- |
-vcodec codec |
Imposta il codec video per la conversione (copy=copia) |
libtheora - theora - mpeg1video - mpeg4 - ... - copy |
-acodec codec |
Imposta il codec audio per la conversone (copy=copia) |
vorbis - libmp3lame - mp2float - ... - copy |
-newvideo |
Aggiunge una traccia video al file |
-i tracciaaudio.oga -i tracciavideo.ogv fileoutput.ogg -newvideo |
-newaudio |
Aggiunge una traccia audio al file |
-i tracciavideo.ogv -i tracciaaudio.oga fileoutput.ogg -newaudio |
-newsubtitle |
Aggiunge hardsub |
-i video.ogg -i sottotitoli.srt fileoutput.ogg -newsubtitle |
-vlang codice |
Imposta il codice ISO 639-2 della lingua usata nella traccia video |
ita - eng |
-alang codice |
Imposta il codice ISO 639-2 della lingua usata nella traccia audio |
ita - eng |
-ac canali |
Imposta il numero di canali audio (stereo = 0) |
- |
-vol volume |
Imposta il volume audio (256 valore default) |
- |
Per ottenere un elenco delle opzioni disponibili:
ffmpeg -h
Per ottenere un elenco dei formati disponibili:
ffmpeg -formats
Per ottenere un elenco dei codec disponibili:
ffmpeg -codecs
Per una guida completa:
man ffmpeg
Estrazione audio da video
Per estrarre una traccia audio da un video basta usare la stessa sintassi usata per la conversione audio/video avendo l'accortezza di specificare solamente codec e formati audio per il file di uscita:
ffmpeg -i video.avi -vn -opzioni audio.mp3
Un esempio:
ffmpeg -i video.avi -vn -acodec libmp3lame -ab 256 audio.mp3
Riproduzione
Per riprodurre un filmato è sufficiente eseguire il seguente comando:
ffplay -opzioni nome_file
Per ottenre un elenco delle opzioni di ffplay:
ffplay -h
Registrazione di una sessione X
Per registrare il proprio desktop:
ffmpeg -f x11grab -i :0.0 nome_file_uscita
dove 0.0 indica il desktop.
È possibile registrare solo una porzione del desktop indicando l'offset:
ffmpeg -f x11grab -i :0.0+XX,YY nome_file_uscita
dove 0.0 indica il desktop, XX l'offset X e YY l'offset Y.
Registrazione da scheda TV
È possibile registrare il flusso della scheda TV a patto di avviare un qualsiasi programma per la visualizzazione TV come tvtime e di avere precedentemente abilitato i canali di registrazione audio con il mixer di sistema alsamixer.
Per registrare il flusso della scheda TV:
ffmpeg -f oss -i /dev/dsp -f video4linux2 -i /dev/video0 /tmp/file.mpg
dove /dev/dsp è il dispositivo di ingresso audio e /dev/video0 il dispositivo di ingresso TV-video.
È possibile specifiare il dispositivo di ingresso audio alsa al posto di quello oss:
ffmpeg -f alsa -ac 1 -i hw:1 -f video4linux2 -i /dev/video0 /tmp/file.mpg
dove hw:1 è il dispositivo di ingresso audio.
Aggiunta di sottotitoli
È possibile applicare hardsub ai video aggiungendo i sottotitoli da file softsub:
ffmpeg -i Video.ogg -i Sottotitoli.srt -scodec copy Video_hardsub.ogg -newsubtitle
Per una gestione più pratica dell'aggiunta dei sottotitoli è consigliabile l'utilizzo del software Avidemux. |
Ulteriori risorse