Dimensione: 8542
Commento:
|
Dimensione: 6645
Commento:
|
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 4: | Linea 5: |
<<Informazioni(forum="http://forum.ubuntu-it.org/viewtopic.php?t=346297"; rilasci="11.10")>> | |
Linea 6: | Linea 8: |
'''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. | '''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. |
Linea 11: | Linea 14: |
Per installare '''FFmpeg''' è sufficiente installare il pacchetto [[apt://ffmpeg | ffmpeg]] con le relative dipendenze. 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'''. È inoltre possibile utilizzare graficamente '''FFmpeg''' tramite la GUI [[apt://winff | winff]] presente nel [[Repository/Componenti|componente]] '''universe'''. |
* [[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'''. |
Linea 21: | Linea 22: |
Sintassi: {{{ ffmpeg -i "input nomefile" -opzioni "output nomefile" |
* In generale, la sintassi, da digitare all'interno di una [[AmministrazioneSistema/RigaDiComando|finestra di terminale]], è la seguente: {{{ ffmpeg -i nome_file_ingresso -opzioni nome_file_uscita |
Linea 25: | Linea 25: |
esempio:{{{ | * Un esempio: {{{ |
Linea 29: | Linea 30: |
per ottenere un elenco delle opzioni disponibili: {{{ |
* Ed ecco una tabella riassuntiva delle principali opzioni audio/video: ||||||<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)||<:>-|| * Per ottenere un elenco delle opzioni disponibili: {{{ |
Linea 34: | Linea 64: |
per ottenere un elenco dei formati disponibili: {{{ |
* Per ottenere un elenco dei formati disponibili: {{{ |
Linea 39: | Linea 68: |
per ottenere un elenco dei codec disponibili: {{{ |
* Per ottenere un elenco dei codec disponibili: {{{ |
Linea 44: | Linea 72: |
== Parametri del programma == ||||||<tablewidth="80%">'''AUDIO'''|| ||Parametro||Cos'è?|| ||-i|| restituirà nel terminale il nome del file con il relativo percorso.|| ||-y|| Sovrascrive l'output esistente.|| ||-an|| disabilità l'audio.|| ||-ar "rate"|| configura l'audio sampling rate.|| ||-acodec "codec"|| forza ad usare un tipo preferito di codec.|| ||-vol "volume"|| cambia il volume audio (256 è quello normale)|| ||-ab "rate"|| configurare il bitrate (in bits/s)|| ||||||<tablewidth="80%">'''VIDEO'''|| ||Parametro||Cos'è?|| ||-aspect "aspect ratio"|| configura il video (4:3, 16:9 per esempio)|| ||-r "rate"|| configura il frame rate in HZ per il video.|| ||-s "size"|| configura la risoluzione video (1024x768) per esempio.|| ||-sameq|| utilizza la stessa qualità video della fonte.|| ||||||<tablewidth="80%">'''Parametri avanzati'''|| ||-map_meta_data "outputfile:inputfile"|| Copia il metadata dal file di input per convertirlo in file di output.|| == Programmi aggiuntivi == * Si possono ascoltare e vedere video attraverso un leggero mediaplayer inserito nel pacchetto `FFmpeg`. Aprire un terminale:{{{ ffplay /percorso/del/file.estensione |
* Per una guida completa: {{{ man ffmpeg |
Linea 70: | Linea 76: |
* ffserver | == Estrazione audio da video == |
Linea 72: | Linea 78: |
== Conversione con x264 == Il più facile metodo per codificare in alta qualità un video è usando la libreria libx264 inclusa con l'installazione di FFmpeg.<<BR>> Obbligatorio è leggere la [[http://rob.opendot.cl/index.php/useful-stuff/ffmpeg-x264-encoding-guide/|guida all'encoding]] prima di provare i seguenti preset.<<BR>> Si avranno, così, sufficienti risorse per capire come ''muoversi'' nella conversione.<<BR>> Si possono aggiugere opzioni ai comandi visualizzati. <<BR>> Si possono trovare una list di altri preset avviabili nella cartella `/usr/share/ffmpeg`.<<BR>> Esistono due tipi di codifica. A singolo passaggio, per una conversione nella media o a doppio passaggio, per una conversione più precisa.<<BR>> Il terzo esempio mostrato permette di codificare in alta qualità per i lettori audio/video e iPod. * Codifica a singolo passaggio CFR (fattore percentuale costante) usando il preset hq.{{{ ffmpeg -i input.avi -acodec libfaac -ab 128k -ac 2 -vcodec libx264 -vpre hq -crf 22 -threads 0 output.mp4 }}} ||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Piccole/note.png,,center)>> ||<style="padding:0.5em; border:none;">''É indicata per una codifica generica, ma non permette di determinare la dimensione del file compresso finale. Usare -cfr per impostare la qualità. Valori consigliati tra 18 e 28, il valore più basso genera un file di qualità maggiore ma più grande.''. || * Codifica a due passaggi usando i preset fastfirstpass e hq.{{{ ffmpeg -i input.avi -pass 1 -vcodec libx264 -vpre fastfirstpass -b 512k -bt 512k -threads 0 -f rawvideo -an -y /dev/null && ffmpeg -i input.avi -pass 2 -acodec libfaac -ab 128k -ac 2 -vcodec libx264 -vpre hq -b 512k -bt 512k -threads 0 output.mp4 |
* 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 |
Linea 91: | Linea 82: |
||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Piccole/note.png,,center)>> ||<style="padding:0.5em; border:none;">''Viene usata quando si vuole configurare un determinato bitrate o per configurare la grandezza del file compresso finale. La codifica a due passaggi fornisce la migliore qualità su video di durata elevata, distribuendo correttamente il bitrate medio, su tutta la durata del video, a costo di un maggior tempo di codifica. Usato solitamente per codifica di video di durata elevata e per lettori portatili con limiti al bitrate, come l'ipod.''.|| * Codifica a due passaggi per ipod a 640x480 usando i preset fastfirstpass, hq e ipod640.{{{ ffmpeg -i input.avi -pass 1 -an -vcodec libx264 -vpre fastfirstpass -vpre ipod640 -b 512k -bt 512k -s 640x480 -threads 0 -f rawvideo -y /dev/null && ffmpeg -i input.avi -pass 2 -acodec libfaac -ab 128k -ac 2 -vcodec libx264 -vpre hq -vpre ipod640 -b 512k -bt 512k -s 640x480 -threads 0 output.mp4 |
* Un esempio: {{{ ffmpeg -i video.avi -vn -acodec libmp3lame -ab 256 audio.mp3 |
Linea 98: | Linea 86: |
||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Piccole/note.png,,center)>> ||<style="padding:0.5em; border:none;">''Si dovranno usare i programmi qt-faststart, MP4Box o AtomicParsley per fare video compatibili con iTunes''. || | == Riproduzione == |
Linea 100: | Linea 88: |
== Esempi di conversione == ||||||<tablewidth="80%">'''AUDIO'''|| ||Conversione|| Comando da terminale|| ||||||<tablewidth="80%" #FF8080>'''Il seguente convertirà audio1.aac con audio1.mp3 con audio rate 22.05 Khz e audio bitrate 32 Khz CON METADATA'''|| ||AAC --> MP3|| ffmpeg -i audio1.aac -ar 22050 -ab 32 -map_meta_data audio1.mp3:audio1.aac audio1.mp3|| ||||||<tablewidth="80%" #FF8080>'''Il seguente convertirà audio1.aac to audio1.mp3 con audio rate 22.05 Khz e audio bitrate 32 Khz SENZA METADATA'''|| ||AAC --> MP3||ffmpeg -i audio1.aac -ar 22050 -ab 32 audio1.mp3|| ||WMV --> MP3|| ffmpeg -i audio1.wmv audio1.mp3|| ||WMV --> FLV|| ffmpeg -i audio1.wmv audio1.flv solo il flusso audio|| ||||||<tablewidth="80%" #FF8080>'''Il seguente convertirà audio1.amr file con audio1.mp3 con audio rate 22.05 Khz'''|| ||AMR --> MP3|| ffmpeg -i audio1.amr -ar 22050 audio1.mp3|| ||||||<tablewidth="80%">'''VIDEO'''|| ||Conversione|| Comando da terminale|| ||MOV --> FLV|| ffmpeg -i movie1.mov movie1.flv || ||Mpeg --> FLV|| ffmpeg -i movie1.mpeg movie1.flv|| ||||||<tablewidth="80%" #FF8080>'''Il seguente convertirà movie1.avi file con movie1.flv e ridimensionerà la risoluzione video a 500x500'''|| ||AVI --> FLV|| ffmpeg -i movie1.avi -s 500×500 movie1.flv|| ||||||<tablewidth="80%" #FF8080>'''Il seguente convertirà movie1.3gp file con movie1.flv e terrà l'originale configurazione del file e disabiliterà l'audio.'''|| ||3GP --> FLV|| ffmpeg -i movie1.3gp -sameq -an movie1.flv|| ||MPEG --> 3GP|| ffmpeg -i movie1.mpeg -ab 8.85k -acodec libamr_wb -ac 1 -ar 16000 -vcodec h263 -s qcif movie2.3gp|| <<Anchor(aggiornamento)>> = Aggiornare i pacchetti = 0. Rimuovere i pacchetti principali:{{{ sudo apt-get remove ffmpeg x264 libx264-dev |
* Per riprodurre un filmato è sufficiente eseguire il seguente comando: {{{ ffplay -opzioni nome_file |
Linea 131: | Linea 92: |
0. aggiornare x264:{{{ cd ~/x264 make distclean git pull |
* Per ottenre un elenco delle opzioni di '''ffplay''': {{{ ffplay -h |
Linea 137: | Linea 96: |
0. reinstallare x264 aggiornato:{{{ ./configure make sudo checkinstall --pkgname=x264 --pkgversion "1:0.svn`date +%Y%m%d`" --backup=no --default }}} 0. Aggiornare FFmpeg: {{{ cd ~/ffmpeg make distclean svn update |
== 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 [[apt://tvtime | tvtime]] e di avere precedentemente abilitato i canali di registrazione audio con il mixer di sistema [[Hardware/Audio/Alsamixer | 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 |
Linea 148: | Linea 124: |
0. Reinstallare FFmpeg aggiornato:{{{ ./configure --enable-gpl --enable-version3 --enable-nonfree --enable-pthreads --enable-libfaac --enable-libfaad --enable-libmp3lame --enable libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libx264 --enable-libxvid --enable-x11grab make sudo checkinstall --pkgname=ffmpeg --pkgversion "4:0.5+svn`date +%Y%m%d`" --backup=no --default }}} |
||<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.'' || |
Linea 154: | Linea 126: |
= Disinstallare interamente il programma = 0. Aprire un terminale e inserire il seguente comando:{{{ sudo apt-get remove x264 ffmpeg build-essential subversion git-core checkinstall yasm texi2html libfaac-dev libfaad-dev libmp3lame-dev libsdl1.2-dev libx11-dev libxfixes-dev libxvidcore4-dev zlib1g-dev }}} |
= Ulteriori risorse = |
Linea 159: | Linea 128: |
0. Eliminare le cartelle ~/ffmpeg e ~/x264 nella propria home. | * [[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://winff.org/html_new|Sito ufficiale di WinFF]] * [[http://it.wikipedia.org/wiki/ISO_639-2||Lista codici ISO 639-2]] |
Linea 161: | Linea 134: |
CategoryNuoviDocumenti | CategoryMultimedia |
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 che può essere usato anche per la registrazione audio/video di una sessione X, di un dispositivo TV o per la riproduzione multimediale.
Installazione
Installare il pacchetto ffmpeg.
Per utilizzare la codifica in alta qualità tramite il codec x264 installare i pacchetti x264 e libx264-116 presenti nel componente universe.
Per utilizzare FFmpeg tramite interfaccia grafica installare il pacchetto winff presente nel componente universe.
Utilizzo
Conversione
In generale, la sintassi, da digitare all'interno di una finestra di terminale, è la seguente:
ffmpeg -i nome_file_ingresso -opzioni nome_file_uscita
Un esempio:
ffmpeg -i file.avi -acodec vorbis -ab 128 -vcodec theora -aspect 16:9 -r 128 -s 512x288 file.ogg
- Ed ecco una tabella riassuntiva delle principali opzioni audio/video:
FFmpeg |
||
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) |
- |
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 -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