Prérequis
Avant de commencer, il est nécessaire de désinstaller le paquet ffmpeg s’il est déjà installé en utilisant cette commande :
- sudo apt-get remove ffmpeg
Il est ensuite nécessaire de vérifier que lame (qui sert à la gestion du format mp3) est correctement installé et avoir le nécessaire pour compiler :
NB : Il est nécessaire sur Debian d’ajouter le dépot Debian-multimedia dans votre fichier
/etc/apt/sources.listcomme ici. Sur certaines architecture, le dépôt Debian backports est également nécessaire. Sur Ubuntu il est nécessaire d’activer les dépots universe et multiverse
- sudo apt-get install lame subversion build-essential libmp3lame-dev libvorbis-dev libxvidcore4-dev libfaac-dev libfaad2-0 libtheora-dev libdirac-dev libvdpau-dev libopenjpeg-dev libopencore-amrwb-dev libopencore-amrnb-dev libgsm1-dev libschroedinger-dev libspeex-dev
La récupération des sources
Il est dorénavant nécessaire de récupérer les sources du logiciel, pour ce faire nous allons utiliser svn afin d’être à jour.
- #On se rend tout d'abord dans notre home
- cd ~
- #Puis on récupère les sources dans le répertoire ffmpeg
- svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
Cela créera un répertoire ffmpeg dans lequel seront disponibles les sources pour la compilation.
Pour le futur, il sera très simple de mettre à jour ces sources pour de nouvelles compilations en utilisant la commande :
- svn up
La configuration
Pour configurer avant la compilation les sources, il est tout d’abord nécessaire de se trouver dans le répertoire des sources :
- cd ffmpeg
Puis de lancer la configuration :
- ./configure --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-libtheoraajoute le décodeur et l’encodeur vidéo libre theora de la Xiph Open Source Community -
--enable-libfaadajoute le décodeur audio libre Advanced Audio Coding (faad) -
--enable-libfaacajoute l’encodeur audio libre au format Advanced Audio Coding (faac) -
--enable-zlibpermet de lire par exemple les vidéos Quicktime qui ont des headers compressés.
La compilation et l’installation
Pour la compilation, on va tout d’abord nettoyer le résidu potentiel d’anciennes compilation puis on lancera la commande de compilation :
- make clean
- make
L’installation n’est pas plus compliquée (elle doit se faire avec les droits de super utilisateur d’où l’utilisation de sudo :
- sudo make install
Normalement le binaire est correctement installé et doit se trouver à cet endroit /usr/local/bin/ffmpeg et doit être utilisable par tout utilisateur du système
Pour tester si le chemin vers le binaire est exact vous pouvez utiliser la commande which de la sorte :
- which ffmpeg
NOTE : sur un serveur, nous avons eu l’erreur suivante en lançant la commande :
ffmpeg: error while loading shared libraries: libavdevice.so.52: cannot open shared object file: No such file or directoryCela signifie que le répertoire où se trouve le fichier en question ne fait pas partie du path des librairie.
Pour y remédier il suffit d’ajouter dans le fichier
/etc/ld.so.confla ligne :
#Pensez à vérifier si le chemin est exact sur votre installation. /usr/local/libEnsuite il est nécessaire de lancer la commande suivante :
ldconfigVous pouvez retester ffmpeg, vous devriez obtenir la liste des options possibles.
Installer qt-faststart
qt-faststart permet de modifier les entêtes MOOV ATOM de fichiers de type mov ou mp4 permettant de les lire avant la fin de leur chargement complet.
Le code de ce petit logiciel est intégré dans le répertoire tools/ du contenu récupéré par svn sur le serveur de FFMpeg plus haut. Il suffit donc d’aller dans le bon répertoire, de le compiler, puis de copier le binaire issu de la compilation dans un répertoire utilisable par tout le monde :
- #Aller dans le bon répertoire
- cd ~/ffmpeg/tools
- #Compiler le programme
- cc qt-faststart.c -o qt-faststart
- #Copier le programme dans un répertoire utilisable par tout le monde
- sudo cp qt-faststart /usr/local/bin
Afin de tester la disponibilité du programme, il suffit alors de taper dans un terminal la commande suivante : qt-faststart
Vous devriez voir s’afficher la ligne suivante si tout se passe correctement :
- Usage: qt-faststart <infile.mov> <outfile.mov>
Liens utiles :