Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "Multimedia/Audio/FFmpeg"
Differenze tra le versioni 20 e 30 (in 10 versioni)
Versione 20 del 02/03/2017 22.20.45
Dimensione: 6854
Commento: EOL 11.10 → CategoryDaRevisionare
Versione 30 del 23/11/2023 02.42.29
Dimensione: 10955
Autore: jeremie2
Commento: Tabelle: rimozione vecchi colori standard
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 1: Linea 1:
## page was renamed from CristianBattistel/Prova2
Linea 5: Linea 4:
<<Informazioni(forum="http://forum.ubuntu-it.org/viewtopic.php?t=346297"; rilasci="11.10")>> <<Informazioni(forum="http://forum.ubuntu-it.org/viewtopic.php?t=346297"; rilasci="22.04 20.04 18.04")>>
Linea 9: Linea 8:
'''FFmpeg''' è un versatile programma a riga di comando per la codifica/decodifica di formati video e audio che può essere usato anche per la registrazione audio/video di una sessione [[Hardware/Video/Xorg|X]], di un dispositivo TV o per la riproduzione multimediale. '''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:
Linea 11: Linea 10:
 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 14: Linea 19:
 * [[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt://ffmpeg | ffmpeg]].
 * Per utilizzare la codifica in alta qualità tramite il codec '''x264''' installare i pacchetti [[apt://x264 | x264]] e [[apt://libx264-116 | libx264-116]] presenti nel [[Repository/Componenti|componente]] '''universe'''.
 * Per utilizzare '''FFmpeg''' tramite interfaccia grafica installare il pacchetto [[apt://winff | winff]] presente nel [[Repository/Componenti|componente]] '''universe'''.
== 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]].
Linea 22: Linea 54:
 * In generale, la sintassi, da digitare all'interno di un [[AmministrazioneSistema/Terminale| terminale]], è la seguente: {{{
ffmpeg -i nome_file_ingresso -opzioni nome_file_uscita
In generale, la sintassi da digitare all'interno del [[AmministrazioneSistema/Terminale| terminale]] è la seguente: {{{
ffmpeg [global_options] {[input_options] input}... {[output_options] output}...
Linea 26: Linea 58:
 * Un esempio: {{{
ffmpeg -i file.avi -acodec vorbis -ab 128 -vcodec theora -aspect 16:9 -r 128 -s 512x288 file.ogg
 * 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
Linea 30: Linea 62:
 * Ed ecco una tabella riassuntiva delle principali opzioni audio/video:  * 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
}}}
Linea 32: Linea 66:
||||||<tablestyle="width100%;" style="background-color:#FB8B00;":>'''FFmpeg'''||
||<12%>'''Opzione'''||'''Significato'''||<:>'''Esempi di valori'''||
||-i nome_file|| Indica il file di ingresso che deve seguire l'opzione ||<:>-||
||-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)||<:>-||
== 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)                       ||<:>-                                 ||
Linea 78: Linea 135:
 * 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: {{{ 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: {{{
Linea 82: Linea 139:
 * Un esempio: {{{ Ad esempio: {{{
Linea 88: Linea 145:
 * Per riprodurre un filmato è sufficiente eseguire il seguente comando: {{{ Per riprodurre un filmato è sufficiente eseguire il seguente comando: {{{
Linea 92: Linea 149:
 * Per ottenre un elenco delle opzioni di '''ffplay''': {{{ Per ottenre un elenco delle opzioni di '''ffplay''': {{{
Linea 100: Linea 157:
}}} dove ''0.0'' indica il desktop. }}} dove `0.0` indica il desktop.
Linea 102: Linea 159:
 * È possibile registrare solo una porzione del desktop indicando l'offset: {{{  * Per registrare solo una porzione del desktop, indicando l'offset: {{{
Linea 104: Linea 161:
}}} dove ''0.0'' indica il desktop, ''XX'' l'offset X e ''YY'' l'offset Y. }}} dove `0.0` indica il desktop, `XX` l'offset X e `YY` l'offset Y.
Linea 108: Linea 165:
È possibile registrare il flusso della scheda TV a patto di avviare un qualsiasi programma per la visualizzazione TV come [[apt://tvtime | tvtime]] e di avere precedentemente abilitato i canali di registrazione audio con il mixer di sistema [[Hardware/Audio/Alsamixer | alsamixer]]. È 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]].
Linea 111: Linea 168:
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 114: Linea 171:
 * È 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.
 * 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.
Linea 124: Linea 181:
||<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.'' ||  {{{#!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]].}}}
Linea 133: Linea 194:
 * [[http://winff.org/html_new|Sito ufficiale di WinFF]]
* [[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 136: Linea 197:
CategoryMultimedia CategoryDaRevisionare CategoryMultimedia

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.

Codec video

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

  • Consultare questa pagina per eventuali pacchetti di versioni librerie libx264 diverse in base alla release di Ubuntu.
    Questa pagina per eventuali pacchetti di versioni librerie libx265 diverse in base alla release di Ubuntu.

Ubuntu 22.04

Ubuntu 20.04

Ubuntu 18.04

Interfaccia grafica

Per utilizzare FFmpeg tramite interfaccia grafica installare il pacchetto winff.

Utilizzo

Conversione

In generale, la sintassi da digitare all'interno del 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

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

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

  • 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
  • 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


CategoryMultimedia