#format wiki
#language it
<<Indice(depth=2 align=right)>>
<<Informazioni(forum="http://forum.ubuntu-it.org/viewtopic.php?t=346297"; rilasci="22.04 20.04 18.04")>>

= Introduzione =

'''FFmpeg''' è un versatile programma [[AmministrazioneSistema/Terminale|a riga di comando]] per la codifica/decodifica di formati [[https://it.wikipedia.org/wiki/Lista_di_formati_di_file#File_video|video]] e [[https://it.wikipedia.org/wiki/Lista_di_formati_di_file#File_audio|audio]]. Può essere utilizzato per:

 0. rotazione dei file video;
 0. eliminazione audio dai file video;
 0. registrazione audio/video di una sessione [[Hardware/Video/Xorg|X]] di un dispositivo TV;
 0. riproduzione multimediale;
 0. conversione da un formato a un altro;
 0. aggiungere sottotitoli.

= Installazione =

== Interfaccia a riga di comando ==

[[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt://ffmpeg | ffmpeg]].

== Codec video ==

Per utilizzare la codifica in alta qualità seguire i seguenti paragrafi inerenti alle proprie versioni di Ubuntu.

 {{{#!wiki note
Consultare questa [[https://packages.ubuntu.com/search?keywords=libx264&searchon=names | pagina]] per eventuali pacchetti di versioni librerie '''libx264''' diverse in base alla release di Ubuntu.<<BR>>
Questa [[https://packages.ubuntu.com/search?keywords=libx265&searchon=names | pagina]] per eventuali pacchetti di versioni librerie '''libx265''' diverse in base alla release di Ubuntu.}}}

=== Ubuntu 22.04 ===

 * '''x264''': installare i pacchetti [[apt://x264 | x264]] e la libreria di codifica, [[apt://libx264-155|libx264-163]]
 * '''x265''': installare i pacchetti [[apt://x265 | x265]] e la libreria di codifica, [[apt://libx265-179|libx265-199]]

=== Ubuntu 20.04 ===

 * '''x264''': installare i pacchetti [[apt://x264 | x264]] e la libreria di codifica, [[apt://libx264-155|libx264-155]]
 * '''x265''': installare i pacchetti [[apt://x265 | x265]] e la libreria di codifica, [[apt://libx265-179|libx265-179]]

=== Ubuntu 18.04 ===

 * '''x264''': installare i pacchetti [[apt://x264 | x264]] e la libreria di codifica, [[apt://libx264-152|libx264-152]]
 * '''x265''': installare i pacchetti [[apt://x265 | x265]] e la libreria di codifica, [[apt://libx265-146|libx265-146]]

== Interfaccia grafica ==

Per utilizzare '''FFmpeg''' tramite interfaccia grafica installare il pacchetto [[apt://winff | winff]].

= Utilizzo =

== Conversione ==

In generale, la sintassi da digitare all'interno del [[AmministrazioneSistema/Terminale| terminale]] è la seguente: {{{
ffmpeg [global_options] {[input_options] input}... {[output_options] output}...
}}}

 * Di seguito 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
}}}

 * Di seguito 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:

||<tablestyle="width:100%;":-3>'''Opzioni globali'''                                                    ||
||<20%>'''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) ||

||<tablestyle="width:100%;" :-3>'''Opzioni input'''||
||<11%>'''Comando''' ||<>'''Significato'''                            ||<41%:>'''Esempi di valori'''||
||-i nome_file               || Indica il file di ingresso che deve seguire l'opzione ||<:>-                               ||

||<tablestyle="width100%;":-3>'''Opzioni output'''||
||<11%>'''Comando''' ||<>'''Significato'''  ||<41% :>'''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
}}}

Ad 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.

 * Per 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 (ad esempio [[apt://tvtime | tvtime]]) e di avere precedentemente abilitato i canali di registrazione audio con il mixer di sistema [[Hardware/Audio/Alsamixer | 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. 

 * Per specificare 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
}}}

 {{{#!wiki note
L'opzione -newsubtitle deve essere necessariamente posizionata dopo il nome del file in uscita.}}}

{{{#!wiki tip
Per una gestione più pratica dell'aggiunta dei sottotitoli è consigliabile l'utilizzo del software [[Multimedia/Video/AggiungereSottotitoli|Avidemux]].}}}

= Ulteriori risorse =

 * [[Multimedia/Audio/FFmpeg/Dpg|Convertire video in formato .dpg]]
 * [[http://ffmpeg.org | Sito ufficiale di FFmpeg(en)]]
 * [[http://ffmpeg.org/ffmpeg.html | Wiki ufficiale di FFmpeg (en)]]
 * [[http://dmsimpleapps.blogspot.ro/ | dmMediaConverter: ottima GUI per FFmpeg (en)]]
 * [[https://sites.google.com/site/ffmulticonverter/download | FF Multi Converter: altra GUI per FFmpeg (en)]]
 * [[http://it.wikipedia.org/wiki/ISO_639-2|Lista codici ISO 639-2]]

----
CategoryMultimedia