Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati

Versione 2 del 09/02/2018 18.12.22

Nascondi questo messaggio

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. registrazione audio/video di una sessione X, di un dispositivo TV;

  2. riproduzione multimediale.
  3. conversione da un formato ad un altro.

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}...
  • Un esempio:

    ffmpeg -i file.avi -acodec vorbis -ab 128 -vcodec theora -aspect 16:9 -r 128 -s 512x288 file.ogg

Opzioni

  • Tabella riassuntiva delle principali opzioni audio/video:

FFmpeg

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)

FFmpeg

Opzioni input

Significato

Esempi di valori

-i nome_file

Indica il file di ingresso che deve seguire l'opzione

-

FFmpeg

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)

-

  • 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/out.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/out.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.

Ulteriori risorse


CategoryMultimedia CategoryDaRevisionare