Comment compiler FFmpeg
Ce tutoriel décrit la procédure pour compiler, sous Ubuntu Lucid 10.04, la version de FFmpeg la plus récente . La version de FFmpeg utilisée dans ce tuto est 0.6-x et les options les plus utiles sont sélectionnées pour la compilation.
La méthode est applicable quelle que soit la version d'Ubuntu. L'ensemble des binaires créés (ffmpeg, ffprobe, yasm, x264, etc.) représente un volume de moins de 75 Moctets. Pour le confort d'utilisation, vérifier que le répertoire où sont stockés ces exécutables (par défaut ~/bin) est bien rajouté au PATH.
Pré-requis
- Ubuntu 10.04 installé.
- Disposer d'une connexion à Internet configurée et activée.
- Dépôts universe, multiverse et Medibuntu activés.
- Pour chacun des chapitres ci-dessous la première commande est lancée depuis votre home ~/
- Vous décidez de compiler FFmpeg dans /usr/local
Récupération d'une partie des dépendances
Tout d'abord, installez apt://ffmpeg, depuis les dépôts officiels afin de récupérer automatiquement une partie des dépendances.
Suppression de la version des dépôts
A présent, supprimez cette installation de FFmpeg
, ainsi que le codec x264 et Lame
que nous allons remplacer par des versions plus récentes.
Lame
sont des dépendences pour de nombreux programmes comme DVD::Rip, OGMRip, kino etc…
La commande ci-dessous entraînera égallement la désinstallation de ces programmes s'il sont installés.
Il suffira de les réinstaller à l'aide de Synaptic
Lame
installée ci-dessous est requise. Sinon FFmpeg ne pourra être compilé.
sudo apt-get remove ffmpeg x264 libx264-dev lame libmp3lame-dev
Installation des outils
Installer les outils nécessaires à la compilation de FFmpeg
: apt://yasm , apt://git - et apt://checkinstall
Installation de ''Lame''
Pour être sûr de commencer dans ~/HOME
cd
Télécharger et décompresser :
wget http://sourceforge.net/projects/lame/files/lame/3.99/lame-3.99.5.tar.gz && tar -zxvf lame-3.99.5.tar.gz && rm lame-3.99.5.tar.gz
Déplacez le dossier téléchargé dans /usr/local/src.
sudo mv ~/lame-3.99.5/ /usr/local/src/
Puis compiler :
cd /usr/local/src/lame-3.99.5
./configure
make
sudo checkinstall
checkinstall
vous proposera de modifier les informations du paquet. Veillez à ce que la ligne 3 (N° de version) soit renseignée (un chiffre quelconque est requis). Si ce n'est pas le cas, faites-le manuellement; sans quoi la création du paquet échouera. Ceci est valable pour toutes les compilations suivantes.
checkinstall
peut retourner des erreurs d'inexistence de dossiers ce qui aura pour conséquence d'annulation la création du paquet. Pour les créer manuellement taper :sudo mkdir -p /usr/local/share/doc/lame/html /usr/local/share/man/man1 /usr/local/include
Installation de ''x264''
Revenir dans ~/HOME
cd
Téléchargez la dernière version du codec x264
git clone git://git.videolan.org/x264.git
Déplacez le dossier téléchargé dans /usr/local/src.
sudo mv ~/x264/ /usr/local/src/
Puis compiler :
cd /usr/local/src/x264
./configure --enable-shared
make
sudo checkinstall
sudo mkdir -p /usr/local/lib/pkgconfig
cd wget http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz tar xzvf yasm-1.2.0.tar.gz sudo mv ~/yasm-1.2.0/ /usr/local/src/ cd /usr/local/src/yasm-1.2.0 ./configure make sudo checkinstall
Installation de ''libvpx''
libvpx
n'est pas disponible dans les dépôts, il faut l'installer manuellement
Revenir dans ~/HOME
cd
Téléchargez la dernière version du codec
git clone https://chromium.googlesource.com/webm/libvpx
Déplacez le dossier téléchargé dans /usr/local/src.
sudo mv ~/libvpx/ /usr/local/src/
Puis compiler :
cd /usr/local/src/libvpx
./configure
make
sudo checkinstall
Installation des dépendances
On installe le reste des dépendances nécessaires :
sudo apt-get install build-essential libvorbis-dev libxvidcore-dev libfaac-dev libfaad2 libtheora-dev libdirac-dev libvdpau-dev libopenjpeg-dev libopencore-amrwb-dev libopencore-amrnb-dev libgsm1-dev libschroedinger-dev libspeex-dev libdc1394-22-dev libsdl1.2-dev libx11-dev libxfixes-dev
Installation de ''FFmpeg''
Revenir dans ~/HOME
cd
Téléchargez la dernière version de FFmpeg
avec Git ( ou sur le site ffmpeg.org. )
git clone git://git.videolan.org/ffmpeg.git
Déplacez le dossier téléchargé dans /usr/local/src.
sudo mv ~/ffmpeg/ /usr/local/src/
Puis configurer :
cd /usr/local/src/ffmpeg
./configure --enable-libmp3lame --enable-libxvid --enable-libvorbis --enable-gpl --enable-libfaac --enable-libtheora --enable-zlib --disable-shared --enable-libx264 --enable-libdirac --enable-nonfree --enable-version3 --enable-libschroedinger --enable-avfilter --enable-libspeex --enable-libopenjpeg --enable-libgsm --enable-postproc --enable-pthreads --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-ffplay --enable-pthreads --prefix=/usr/local --enable-x11grab --enable-runtime-cpudetect --enable-bzlib --enable-libdc1394 --enable-libvpx
Effacer les résidus d'éventuelles anciennes installations :
sudo make clean
Compiler:
make
sudo checkinstall
checkinstall
vous proposera de modifier les informations du paquet. Veillez à ce que la ligne 3 (N° de version) soit renseignée (un chiffre quelconque est requis) à ce jour la version git est 0.6-1-1. Si ce n'est pas le cas, faites-le manuellement; sans quoi la création du paquet échouera.
Lancement de ''FFmpeg''
ffmpeg
Si l'installation s'est correctement déroulée, la commande vous renverra :
~$ ffmpeg FFmpeg version UNKNOWN, Copyright (c) 2000-2010 the FFmpeg developers built on Sep 3 2010 15:21:36 with gcc 4.4.3 configuration: --enable-libmp3lame --enable-libxvid --enable-libvorbis --enable-gpl --enable-libfaac --enable-libtheora --enable-zlib --enable-shared --enable-libx264 --enable-libdirac --enable-nonfree --enable-version3 --enable-libschroedinger --enable-avfilter --enable-libspeex --enable-libopenjpeg --enable-libgsm --enable-postproc --enable-pthreads --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-ffplay --enable-pthreads --prefix=/usr/local --enable-x11grab --enable-runtime-cpudetect --enable-bzlib --enable-libdc1394 --enable-libvpx libavutil 50.24. 0 / 50.24. 0 libavcore 0. 6. 0 / 0. 6. 0 libavcodec 52.87. 0 / 52.87. 0 libavformat 52.78. 3 / 52.78. 3 libavdevice 52. 2. 1 / 52. 2. 1 libavfilter 1.38. 1 / 1.38. 1 libswscale 0.11. 0 / 0.11. 0 libpostproc 51. 2. 0 / 51. 2. 0 Hyper fast Audio and Video encoder usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}... Use -h to get full help or, even better, run 'man ffmpeg'
Bloquer les versions
Dans synaptic, recherchez FFmpeg , lame , x264, libvpx sélectionnez-les, puis, dans le menu Paquet
, sélectionnez Bloquer la version
.
Désinstallation
Chacun des paquets installés ci-dessus peut être supprimé à l'aide de synaptic
Conclusion
Votre compilation de FFmpeg est prête à être utilisée.