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 4 e 30 (in 26 versioni)
Versione 4 del 30/01/2012 11.51.42
Dimensione: 3919
Commento:
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 4: Linea 4:
<<Informazioni(forum="http://forum.ubuntu-it.org/index.php/topic,346297.0.html"; rilasci="11.10")>> <<Informazioni(forum="http://forum.ubuntu-it.org/viewtopic.php?t=346297"; rilasci="22.04 20.04 18.04")>>
Linea 7: Linea 7:
'''FFmpeg''' è un versatile programma a riga di comando per codificare e convertire una multitudine di formati video e audio che può essere usato anche per la registrazione audio/video di una sessione X o di un dispositivo TV e per la riproduzione multimediale.
Linea 9: Linea 8:
'''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.
Linea 12: Linea 19:
Per installare '''FFmpeg''' è sufficiente installare il pacchetto [[apt://ffmpeg | ffmpeg]] con le relative dipendenze. == Interfaccia a riga di comando ==
Linea 14: Linea 21:
Per poter utilizzare la codifica in alta qualità tramite il codec '''x264''' è necessario installare i pacchetti [[apt://x264 | x264]] e [[apt://libx264-116 | libx264-116]] presenti nel [[Repository/Componenti|componente]] '''universe'''. [[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt://ffmpeg | ffmpeg]].
Linea 16: Linea 23:
È inoltre possibile utilizzare graficamente '''FFmpeg''' tramite la GUI [[apt://winff | winff]] presente nel [[Repository/Componenti|componente]] '''universe'''. == 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:
Sintassi:
{{{
ffmpeg -i nome_file_ingresso -opzioni nome_file_uscita
}}}
esempio:{{{
ffmpeg -i file.avi -acodec vorbis -ab 128 -vcodec theora -aspect 16:9 -r 128 -s 512x288 file.ogg
In generale, la sintassi da digitare all'interno del [[AmministrazioneSistema/Terminale| terminale]] è la seguente: {{{
ffmpeg [global_options] {[input_options] input}... {[output_options] output}...
Linea 30: Linea 58:
per ottenere un elenco delle principali opzioni disponibili:
{{{
 * 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: {{{
Linea 35: Linea 121:
per ottenere un elenco dei formati disponibili:
{{{
 * Per ottenere un elenco dei formati disponibili: {{{
Linea 40: Linea 125:
per ottenere un elenco dei codec disponibili:
{{{
 * Per ottenere un elenco dei codec disponibili: {{{
Linea 45: Linea 129:
per una guida completa:
{{{
 * Per una guida completa: {{{
Linea 52: 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:
{{{
ffmpeg -i video.avi -opzioni audio.mp3
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
Linea 56: Linea 138:
esempio:
{{{
ffmpeg -i video.avi -acodec libmp3lame -ab 256 audio.mp3

Ad
esempio: {{{
ffmpeg -i video.avi -vn -acodec libmp3lame -ab 256 audio.mp3
Linea 63: Linea 145:
Per riprodurre un filmato è sufficiente eseguire il seguente comando:

{{{
Per riprodurre un filmato è sufficiente eseguire il seguente comando: {{{
Linea 69: Linea 149:
per ottenre un elenco delle opzioni di '''ffplay''':
{{{
Per ottenre un elenco delle opzioni di '''ffplay''': {{{
Linea 76: Linea 155:
Per registrare il proprio desktop:  * Per registrare il proprio desktop: {{{
ffmpeg -f x11grab -i :0.0 nome_file_uscita
}}} dove `0.0` indica il desktop.
Linea 78: Linea 159:
{{{
ffmp
eg -f x11grab -i :0.0 nome_file_uscita
}}}
dove ''0.0'' indica il desktop.

È possibile
registrare solo una porzione del desktop indicando l'offset:

{{{
 * Per registrare solo una porzione del desktop, indicando l'offset: {{{
Linea 87: 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 93: 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 95: Linea 167:
{{{
ffmpeg -f oss -i /dev/dsp -f video4linux2 -i /dev/video0 /tmp/out.mpg
}}}
 * 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.
Linea 99: Linea 171:
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.
 * 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 111: Linea 177:
È possibile applicare ''hardsub'' ai video aggiungendo i sottotitoli da file ''softsub'':

{{{
È possibile applicare ''hardsub'' ai video aggiungendo i sottotitoli da file ''softsub'': {{{
Linea 117: 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 121: Linea 189:
 * [[http://ffmpeg.org | Il sito ufficiale (in inglese)]]
 * [[http://ffmpeg.org/ffmpeg.html | Il wiki ufficiale (in inglese)]]
 * [[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]]
Linea 124: Linea 197:
CategoryNuoviDocumenti 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