#format wiki #language it <> <> = 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.<
> 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: ||'''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) || ||'''Opzioni input'''|| ||<11%>'''Comando''' ||<>'''Significato''' ||<41%:>'''Esempi di valori'''|| ||-i nome_file || Indica il file di ingresso che deve seguire l'opzione ||<:>- || ||'''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