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
registrazione audio/video di una sessione X, di un dispositivo TV;
- riproduzione multimediale.
- conversione da un formato ad un altro.
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-148
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:
ffmpeg -i file.avi -acodec vorbis -ab 128 -vcodec theora -aspect 16:9 -r 128 -s 512x288 file.ogg
Opzioni
- Tabella riassuntiva delle principali opzioni audio/video:
FFmpeg |
||
Opzioni globali |
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) |
FFmpeg |
||
Opzioni input |
Significato |
Esempi di valori |
-i nome_file |
Indica il file di ingresso che deve seguire l'opzione |
- |
FFmpeg |
||
Opzioni output |
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/out.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/out.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