Wiki Ubuntu-it

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

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