Accueil du site > Compilation de logiciel > Compiler FFmpeg

Compiler FFmpeg

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 :

  1. 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.list comme 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

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

  1. #On se rend tout d'abord dans notre home
  2. cd ~
  3. #Puis on récupère les sources dans le répertoire ffmpeg
  4. 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 :

  1. 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 :

  1. cd ffmpeg

Puis de lancer la configuration :

  1. ./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

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 :

  1. make clean
  2. 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 :

  1. 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 :

  1. which ffmpeg

NOTE : sur un serveur, nous avons eu l’erreur suivante en lançant la commande :

  1. ffmpeg: error while loading shared libraries: libavdevice.so.52: cannot open shared object file: No such file or directory

Cela 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.conf

la ligne :

  1. #Pensez à vérifier si le chemin est exact sur votre installation.
  2. /usr/local/lib

Ensuite il est nécessaire de lancer la commande suivante :

  1. ldconfig

Vous 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 :

  1. #Aller dans le bon répertoire
  2. cd ~/ffmpeg/tools
  3. #Compiler le programme
  4. cc qt-faststart.c -o qt-faststart
  5. #Copier le programme dans un répertoire utilisable par tout le monde
  6. 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 :

  1. Usage: qt-faststart <infile.mov> <outfile.mov>

Liens utiles :

  • Auteur : Quentin Drouet
  • Publié le : 25/07/09
  • Mis à jour : 13/07/10

Aucun commentaire



Un message, un commentaire ?
  • (Pour créer des paragraphes, laissez simplement des lignes vides.)

Qui êtes-vous ? (optionnel)
  • [Se connecter]