Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "FFmpeg"
Differenze tra le versioni 10 e 11
Versione 10 del 14/03/2011 12.51.14
Dimensione: 10260
Autore: localhost
Commento: converted to 1.6 markup
Versione 11 del 04/02/2012 10.17.26
Dimensione: 0
Commento: cancello, sorpassata dalla pagina di prova di revisione
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 1: Linea 1:
#format wiki
#language it
<<BR>>
<<Indice(depth=2 align=right)>>

= Introduzione =
Come installare e usare l'ultima versione di FFmpeg insieme a x264.<<BR>>
FFmpeg è un versatile programma per codificare e convertire una multitudine di formati video e audio.<<BR>>
x264 codifica in alta qualità video superiore ad altri popolari encoders.<<BR>>
FFmpeg e x264 sono installabili dai repository ubuntu, ma è preferibile compilarli direttamente dal sorgente. FFmpeg nei repo di ubuntu non supporta i neccessari codificatori e formati.


= Installare le dipendenze =

 0. Disinstallare i pacchetti `x264`, `libx264`, and `ffmpeg` se sono già installati. Aprire un terminale e digitare:{{{
sudo apt-get remove ffmpeg x264 libx264-dev
}}}

 0. Installare le dipendenze con il seguente comando da terminale:{{{
sudo apt-get update
sudo apt-get install build-essential subversion git-core checkinstall yasm texi2html libfaac-dev libfaad-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libsdl1.2-dev libx11-dev libxfixes-dev libxvidcore4-dev zlib1g-dev
}}}

 0. Installare x264 da git compilarlo ed installarlo con i seguenti comandi da terminale:{{{
cd
git clone git://git.videolan.org/x264.git
cd x264
./configure
make
sudo checkinstall --pkgname=x264 --pkgversion "1:0.svn`date +%Y%m%d`" --backup=no --default
}}}


 0. Installare libtheora. è usato per codificare i video in OGG.Seguire i seguenti comandi da terminale:{{{
sudo apt-get install libogg-dev
cd
wget http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.gz
tar xzvf libtheora-1.1.1.tar.gz
cd libtheora-1.1.1
./configure
make
sudo checkinstall --pkgname=libtheora --pkgversion "1.1.1" --backup=no --default
}}}

   ||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Grandi/info.png,,center)>> ||<style="padding:0.5em;border:none;">Alternativamente potete saltare questo passaggio e omettere `--enable-libtheora` nel punto 5 '''solo''' se '''non''' volete codificare i video '''OGG''' con '''Theora'''. ||

 * Installare FFmpeg da svn compilarlo e installarlo con i seguenti comandi da terminale:{{{
cd
svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg
cd ffmpeg
./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
}}}

L'installazione è finita. Si possono mantenere le directory ~/x264 e ~/ffmpeg per poter eseguire in futuro un aggiornamento dei due pacchetti.<<BR>>
Vedere la sezione più in basso [[#aggiornamento|Aggiornare i pacchetti]].

= Usare FFmpeg =

== Sintassi linea di comando ==
{{{
ffmpeg -i "input nomefile" "output nomefile"
}}}
esempio di giusta sintassi:{{{
[root@linux /]# ffmpeg -i demo.mpg demo.flv
}}}

Questo convertirà con FFmpeg demo.mpg con demo.flv

== 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
}}}

 * ffserver

== 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
}}}

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

||<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''. ||

== 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
}}}

 0. aggiornare x264:{{{
cd ~/x264
make distclean
git pull
}}}

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

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

= 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
}}}

 0. Eliminare le cartelle ~/ffmpeg e ~/x264 nella propria home.
----
CategoryNuoviDocumenti