Compilation et installation de Yasm
Yasm est un assembleur (logiciel permettant de compiler) et est recommandé pour libx264 et ffmpeg lui-même.
La version disponible dans les dépôts est assez ancienne, il est préférable de le recompiler manuellement.
On va dans le répertoire des sources de logiciels :
- cd /usr/local/src/
On récupère la version 1.2.0 qui est nécessaire :
- sudo wget http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz
Puis on désarchive ce que l’on a récupéré et on se déplace dans son répertoire :
- sudo tar xzvf yasm-1.2.0.tar.gz
- cd yasm-1.2.0
On peut enfin compiler le logiciel :
- sudo ./configure
- sudo make
Enfin, on l’installe proprement via checkinstall en supprimant la version installée s’il y a lieu :
- sudo apt-get remove yasm
- sudo checkinstall --pkgname=yasm --pkgversion="1.2.0" --backup=no \
- --deldoc=yes --fstrans=no --default
Compilation et installation de libtheora
Cette librairie permet de disposer d’un encodeur Theora dans ffmpeg.
La version des dépots de Lenny de libtheora n’était pas à jour (elle l’est actuellement en Squeeze), il peut être intéressant de la compiler soit même pour cette distribution. On commence par installer les prérequis, dans notre cas :
- doxygen (facultatif : pour créer la documentation API)
- transfig (facultatif : si l’on souhaite créer une documentation imprimable)
La commande est alors :
- sudo apt-get install doxygen transfig
On récupère ensuite les sources à jour :
- cd /usr/local/src/
- sudo wget http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.gz
On désarchive ce qui a été récupéré et on se place dans le répertoire des sources
- sudo tar -xvzf libtheora-1.1.1.tar.gz
- cd libtheora-1.1.1
Puis on configure, compile et installe :
- sudo ./configure
- sudo make
- sudo checkinstall -D make install
Il sera ensuite possible de supprimer ce paquet en lançant la commande suivante :
- sudo dpkg -r libtheora
ou
- sudo apt-get remove libtheora
Compilation et installation de libx264
La version de la librairie libx264 dans les dépots Debian est généralement assez vieillote... Le plus simple est de la compiler nous même.
Cette librairie permet d’avoir un encodeur H.264 dans ffmpeg.
On vérifie que les prérequis sont bien installés. Dans notre cas nous avons besoin :
- du compilateur Yasm que l’on vient de compiler ;
- de Git car on compilera à partir des dernières sources disponibles ;
- de la librairie gpac ;
- sudo apt-get install git-core libgpac-dev
La récupération des sources peut se faire de deux manières différentes :
- sur le site de VideoLan
- via un dépot Git (méthode que nous allons utiliser)
- cd /usr/local/src
- sudo git clone git://git.videolan.org/x264.git
- cd x264
NB : pour mettre à jour votre version locale du dépot il suffira d’aller dans le répertoire local du dépot et d’utiliser la méthode de mise à jour de Git :
- cd /usr/local/src/x264
- sudo git pull
Nous pouvons dorénavant configurer la compilation en utilisant l’option :
-
--enable-shared
pour que la librairies puissent être utilisée facilement par d’autres programmes
- # Configuration
- sudo ./configure --enable-shared
- # Compilation
- sudo make
On peut enfin l’installer en vérifiant de bien désainstaller les paquets déjà présents :
- sudo apt-get remove libx264 libx264-dev
- sudo checkinstall --pkgname=x264 --pkgversion "1:0.svn`date +%Y%m%d`+`git rev-list HEAD -n 1 | head -c 7`" --backup=no --default
La dernière ligne de commande créera un package qui ressemblera à x264_1:0.svn20100409+25ca5b0-1_amd64.deb
et l’installera ... Il est alors possible de le désinstaller proprement avec une commande du genre :
- sudo apt-get remove x264
La commande suivante devrait, si tout s’est bien passé, retourner le numéro de version de la librairie installée :
- pkg-config --modversion x264
Compilation et installation de fdk-aac
Cette librairie fournit un encodeur aac issu d’Android de meilleure qualité que libfaac.
La compilation et l’installation de libfdk-aac
est relativement classique, elle ne nécessite pas grand chose de spécifique.
On récupère tout d’abord les sources, on les décompresse et on se déplace dans le répertoire nouvellement créé :
- cd /usr/local/src/
- sudo wget http://downloads.sourceforge.net/project/opencore-amr/fdk-aac/fdk-aac-0.1.1.tar.gz
- sudo tar xvzf fdk-aac-0.1.1.tar.gz
- cd fdk-aac-0.1.1
On peut ensuite configurer et compiler la librairie avec les commandes :
- sudo ./configure --disable-shared
- sudo make
Enfin, on installe le contenu avec checkinstall
:
- sudo checkinstall --fstrans=no --install=yes --pkgname="fdk-aac" --pkgversion="0.1.1" --backup=no --default
Vous pourrez bien entendu supprimer le paquet par la commande :
- sudo apt-get remove fdk-aac
Pour vérifier l’installation correcte de la librairie, la commande suivante devra retourner 0.1.1
:
- pkg-config --modversion fdk-aac
Compilation et installation de libopencore-amr
La compilation et l’installation de libopencore-amr
est relativement classique, elle ne nécessite pas grand chose de spécifique.
On récupère tout d’abord les sources, on les décompresse et on se déplace dans le répertoire nouvellement créé :
- cd /usr/local/src/
- sudo wget http://downloads.sourceforge.net/project/opencore-amr/opencore-amr/opencore-amr-0.1.3.tar.gz
- sudo tar xvf opencore-amr-0.1.3.tar.gz
- cd opencore-amr-0.1.3
On peut ensuite configurer et compiler la librairie avec les commandes :
- sudo ./configure --enable-shared
- sudo make
Enfin, on installe le contenu avec checkinstall
:
- sudo checkinstall --fstrans=no --install=yes --pkgname="libopencore-amr" --pkgversion="0.1.3" --backup=no --default
Compilation et installation de libvoaac-enc
La compilation et l’installation de libvoaac-enc
est relativement classique, elle ne nécessite pas grand chose de spécifique.
On récupère tout d’abord les sources, on les décompresse et on se déplace dans le répertoire nouvellement créé :
- cd /usr/local/src/
- sudo wget http://downloads.sourceforge.net/project/opencore-amr/vo-aacenc/vo-aacenc-0.1.1.tar.gz
- sudo tar xvf vo-aacenc-0.1.1.tar.gz
- cd vo-aacenc-0.1.1
On peut ensuite configurer et compiler la librairie avec les commandes :
- sudo ./configure --enable-shared
- sudo make
Enfin, on installe le contenu avec checkinstall
:
- checkinstall --fstrans=no --install=yes --pkgname="libvo-aacenc" --pkgversion="0.1.1" --backup=no --default
Compilation et installation de libvo-amrwbenc
La compilation et l’installation de libvo-amrwbenc
est relativement classique, elle ne nécessite pas grand chose de spécifique.
On récupère tout d’abord les sources, on les décompresse et on se déplace dans le répertoire nouvellement créé :
- cd /usr/local/src
- sudo wget http://downloads.sourceforge.net/project/opencore-amr/vo-amrwbenc/vo-amrwbenc-0.1.1.tar.gz
- sudo tar xvf vo-amrwbenc-0.1.1.tar.gz
- cd vo-amrwbenc-0.1.1
On peut ensuite configurer et compiler la librairie avec les commandes :
- sudo ./configure --enable-shared
- sudo make
Enfin, on installe le contenu avec checkinstall
:
- sudo checkinstall --fstrans=no --install=yes --pkgname="libvo-amrwbenc" --pkgversion="0.1.1" --backup=no --default
Compilation et installation de libvpx
L’installation de la librairie libvpx est relativement classique :
- cd /usr/local/src
- sudo wget https://webm.googlecode.com/files/libvpx-v1.1.0.tar.bz2
- sudo tar xvjf libvpx-v1.1.0.tar.bz2
- cd libvpx-v1.1.0
- sudo ./configure --enable-shared
- sudo make
- sudo checkinstall --fstrans=no --install=yes --pkgname="libvpx" --pkgversion="1.1.0" --backup=no --default
La commande suivante vous donnera le numéro de version déjà installé :
- pkg-config --modversion vpx
Si vous souhaitez utiliser le format webm
afin de mettre à disposition des vidéos dans ce format sur un site internet, il est nécessaire d’ajouter à votre serveur web la prise en compte de ces nouveaux types de fichiers.
Pour Apache2 par exemple, nous allons créer un fichier de configuration spécifique /etc/apache2/conf.d/webm_mime.conf
qui sera par la suite facilement désactivable en le supprimant si l’on souhaite faire marche arrière :
- sudo nano /etc/apache2/conf.d/webm_mime.conf
Puis on y ajoute ces deux lignes avant de sauvegarder :
- AddType video/webm .webm
- AddType audio/webm .weba
Il est ensuite nécessaire de relancer apache pour prendre ces modifications en compte avec la commande :
- sudo /etc/init.d/apache2 force-reload
Liens utiles et complémentaires
- Compiler FFmpeg et qt-faststart ;
- Le site de Yasm ;
- x264 ;
- Theora.org, site du projet Theora ;
- WebM Project ;
- Exemple de MediaSPIP : cas d’utilisation de ce tutoriel pour utilisation dans un cas spécifique ;