Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "ivantu/FFmpeg_prova"
Differenze tra le versioni 1 e 10 (in 9 versioni)
Versione 1 del 09/02/2018 18.11.21
Dimensione: 8523
Autore: ivantu
Commento:
Versione 10 del 28/08/2022 11.00.22
Dimensione: 10763
Autore: ivantu
Commento:
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 3: Linea 3:
<<BR>>
<<Include(NuoviStrumentiWiki/PaginaDiProva)>>
Linea 4: Linea 6:
<<Informazioni(forum="http://forum.ubuntu-it.org/viewtopic.php?t=346297"; rilasci="17.10 16.04")>> <<Informazioni(forum="http://forum.ubuntu-it.org/viewtopic.php?t=346297"; rilasci="22.04 20.04 18.04")>>
Linea 8: Linea 10:
'''FFmpeg''' è un versatile [[AmministrazioneSistema/Terminale|programma 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. registrazione audio/video di una sessione [[Hardware/Video/Xorg|X]], di un dispositivo TV;
 0. riproduzione multimediale.
 0. conversione da un formato ad un altro.
'''FFmpeg''' è un versatile [[AmministrazioneSistema/Terminale|programma 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.
Linea 18: Linea 24:
 * Per utilizzare la codifica in alta qualità tramite il codec '''x264''' installare i pacchetti [[apt://x264 | x264]] e la libreria di codifica, [[apt://libx264-148]]  * Per utilizzare la codifica in alta qualità tramite il codec '''x264''' installare i pacchetti [[apt://x264 | x264]] e la libreria di codifica [[apt://libx264-163|libx264-163]]
 * Per utilizzare la codifica in alta qualità tramite il codec '''x265''' installare i pacchetti [[apt://x265 | x265]] e la libreria di codifica [[apt://libx265-199|libx265-199]]
Linea 30: Linea 38:
 * In generale, la sintassi, da digitare all'interno di un [[AmministrazioneSistema/Terminale| terminale]], è la seguente: {{{ In generale, la sintassi, da digitare all'interno di un [[AmministrazioneSistema/Terminale| terminale]], è la seguente: {{{
Linea 34: Linea 42:
 * Un esempio: {{{
ffmpeg -i file.avi -acodec vorbis -ab 128 -vcodec theora -aspect 16:9 -r 128 -s 512x288 file.ogg
 0. 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
}}}

 0. 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
Linea 40: Linea 52:
 * Tabella riassuntiva delle principali opzioni audio/video: Tabelle riassuntive delle principali opzioni audio/video:
Linea 42: Linea 54:
||||||<tablestyle="width100%;" style="background-color:#FB8B00;":>'''FFmpeg'''||
||<12%>'''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)||
||<tablestyle="width:100%;": #cccccc -3>'''Opzioni globali''' ||
||<20% #f7f7f7>'''Comando''' ||< #f7f7f7>'''Significato''' ||<:#f7f7f7>'''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) ||
Linea 58: Linea 70:
||||||<tablestyle="width100%;" style="background-color:#FB8B00;":>'''FFmpeg'''||
||<12%
>'''Opzioni input'''||'''Significato'''||<:>'''Esempi di valori'''||
||-i nome_file|| Indica il file di ingresso che deve seguire l'opzione ||<:>-||
||<tablestyle="width:100%;" : #cccccc -3>'''Opzioni input'''||
||<11% #f7f7f7>'''Comando''' ||< #f7f7f7>
'''Significato'''                            ||<41%:#f7f7f7>'''Esempi di valori'''||
||-i nome_file               || Indica il file di ingresso che deve seguire l'opzione ||<:>-                               ||
Linea 62: Linea 74:
||||||<tablestyle="width100%;" style="background-color:#FB8B00;":>'''FFmpeg'''||
||<12%
>'''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)||<:>-||
||<tablestyle="width100%;": #cccccc -3>'''Opzioni output'''||
||<11% #f7f7f7>'''Comando''' ||< #f7f7f7>
'''Significato'''  ||<41% :#f7f7f7>'''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)                       ||<:>-                                 ||
Linea 140: Linea 152:
ffmpeg -f oss -i /dev/dsp -f video4linux2 -i /dev/video0 /tmp/out.mpg ffmpeg -f oss -i /dev/dsp -f video4linux2 -i /dev/video0 /tmp/file.mpg
Linea 144: Linea 156:
ffmpeg -f alsa -ac 1 -i hw:1 -f video4linux2 -i /dev/video0 /tmp/out.mpg ffmpeg -f alsa -ac 1 -i hw:1 -f video4linux2 -i /dev/video0 /tmp/file.mpg
Linea 149: Linea 161:
È possibile applicare ''hardsub'' ai video aggiungendo i sottotitoli da file ''softsub'': {{{  * È possibile applicare ''hardsub'' ai video aggiungendo i sottotitoli da file ''softsub'': {{{
Linea 153: Linea 165:
||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Piccole/note.png,,center)>> ||<style="padding:0.5em; border:none;">''L'opzione -newsubtitle deve essere necessariamente posizionata dopo il nome del file in uscita.'' ||  ||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Piccole/note.png,,center)>> ||<style="padding:0.5em; border:none;">''L'opzione -newsubtitle deve essere necessariamente posizionata dopo il nome del file in uscita.''||

||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Grandi/info.png,,center)>> ||<style="padding:0.5em; border:none;">Per una gestione più pratica dell'aggiunta dei sottotitoli è consigliabile l'utilizzo del software [[Multimedia/Video/AggiungereSottotitoli|Avidemux]].||
Linea 162: Linea 176:
 * [[http://it.wikipedia.org/wiki/ISO_639-2||Lista codici ISO 639-2]]  * [[http://it.wikipedia.org/wiki/ISO_639-2|Lista codici ISO 639-2]]
Linea 164: Linea 179:
CategoryMultimedia CategoryDaRevisionare CategoryHomepage


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:

  1. rotazione dei file video;
  2. eliminazione audio dai file video;
  3. registrazione audio/video di una sessione X di un dispositivo TV;

  4. riproduzione multimediale;
  5. conversione da un formato a un altro;
  6. 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}...
  1. 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
  2. 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

    L'opzione -newsubtitle deve essere necessariamente posizionata dopo il nome del file in uscita.

Per una gestione più pratica dell'aggiunta dei sottotitoli è consigliabile l'utilizzo del software Avidemux.

Ulteriori risorse


CategoryHomepage