• Pagina non alterabile
  • Informazioni
  • Allegati

Guida verificata con Ubuntu: 16.04 17.10

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

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


CategoryMultimedia