Celà faisait un moment depuis le début de l'été que j'avais arrêté mes compilations pour mon outil préféré à savoir FFMPEG. Vu que un ordinateur a fraîchement débarqué dans le réseau, j'en ai donc profité pour y installer une Ubuntu 8.04.3

Ce sera donc la version en cours de développement que je testerais ici, bien que la version estampillée 5.0 soit considérée comme stable. Celà me permettra de bénéficier des dernières améliorations notamment pour le AAC et H264.

Du coup ce sera aussi l'occasion de revoir les classiques de la compilation pour ffmpeg

VHOOK N'EST PLUS SUPPORTEE!!! donc attention si on doit faire la compilation. Par exemple, maintenant superposer une image sur une vidéo ne figure pas encore dans les impératifs de développement de libavfilter.

Au menu donc

  • apt-get pour ce qu'il faut au départ
  • OPENCORE-AMR
  • FAAC
  • FAAD
  • LAME
  • YASM
  • X264
  • NASM
  • XVID
  • A52
  • FFMPEG

PREREQUIS

apt-get install git make gcc libc6-dev g++ git-core autotools-dev  autoconf autoconf2.13 autobook \
autoconf-archive gnu-standards autoconf-doc  automake1.4 m4 libtool unzip libtool

Il se peut que j'ai oublié de noter des paquets donc faire attention quand même :)

On télécharge tous les paquets dans /storage/sources. On installe tout le toutim dans une arborescence à part, par exemple /opt/multimedia. Ce qui nécessite les modifications suivantes:

export TOOLS_MULTIDIA_DIR=/opt/multimedia
export SRC=/storage/sources
export  PATH=$TOOLS_MULTIDIA_DIR/bin/:$PATH
export LD_LIBRARY_PATH=/opt/multimedia/lib/:$LD_LIBRARY_PATH
On crée le répertoire pour le téléchargement
mkdir -p $SRC

OPENCORE-AMR

FFMPEG a retiré son support pour l'ancienne librairie pour le AMR (souci de licence). Il utilise maintenant cette nouvelle librairie. Pour le téléchargement, il faut consulter le site http://opencore-amr.sourceforge.net/

Une fois téléchargé, on effectue

tar xvzf opencore-amr-0.1.2.tar.gz 
cd $SRC/opencore-amr-0.1.2
 ./configure --prefix=$TOOLS_MULTIDIA_DIR
make
make install

Remarque pour FAAC/FAAD: Les sources téléchargées ici sont disponibles à http://sourceforge.net/projects/faac/files/

FAAC

wget http://downloads.sourceforge.net/faac/faac-1.28.tar.bz2
tar xvjf faac-1.28.tar.bz2 
cd faac-1.28
./configure --with-mp4v2 --prefix=$TOOLS_MULTIDIA_DIR
make
make install

FAAD

wget http://downloads.sourceforge.net/faad/faad-1.27.tar.bz2
tar xvzf faad2-2.7.tar.gz 
cd faad2-2.7
./configure --with-mpeg4ip --with-drm --prefix=$TOOLS_MULTIDIA_DIR
make
make install

LAME

Pour des raisons de commodités, j'ai adopté cetteversion à savoir la 3.97 notamment pour la conversion pour le MP3 qui ne pose pas de souci

cd $SRC
 wget http://freefr.dl.sourceforge.net/sourceforge/lame/lame-3.97.tar.gz -O - | tar xzf -|
 cd lame-3.97 
 ./configure  --enable-static=yes --enable-shared=no  --prefix=$TOOLS_MULTIDIA_DIR
 make
make install

YASM

cd $SRC
wget http://www.tortall.net/projects/yasm/releases/yasm-0.7.2.tar.gz
tar xvzf yasm-0.7.2.tar.gz 
cd yasm-0.7.2
./configure --prefix=$TOOLS_MULTIDIA_DIR
make
make install

X264

cd $SRC
git clone git://git.videolan.org/x264.git
cd x264
./configure --prefix=$TOOLS_MULTIDIA_DIR --enable-shared
make
make install

NASM

cd $SRC
wget  wget http://www.nasm.us/pub/nasm/releasebuilds/2.05.01/nasm-2.05.01.tar.gz
tar xvzf nasm-2.05.01.tar.gz 
cd nasm-2.05.01
./configure --prefix=$TOOLS_MULTIDIA_DIR
make
make install

XVID

cd $SRC
wget wget http://downloads.xvid.org/downloads/xvidcore-1.2.1.tar.gz
tar xvzf xvidcore-1.2.1.tar.gz 
cd xvidcore
history 
cd build/generic
./configure --prefix=$TOOLS_MULTIDIA_DIR
make
make install

A52

cd $SRC
wget http://liba52.sourceforge.net/files/a52dec-0.7.4.tar.gz -O - | tar xzf -
cd a52dec-0.7.4/
./configure --enable-static=yes --enable-shared=no --prefix=$TOOLS_MULTIDIA_DIR
make

FFMPEG

On récupère les sources

cd $SRC
git clone git://git.ffmpeg.org/ffmpeg/
cd ffmpeg
git clone git://git.ffmpeg.org/libswscale/

On lance le configure

./configure  --prefix=$TOOLS_MULTIDIA_DIR --enable-libmp3lame --enable-libx264 --enable-libxvid \
--enable-libopencore-amrnb --enable-libopencore-amrwb --enable-version3 --enable-libfaad \
--enable-libfaadbin --enable-libfaac --enable-gpl --enable-nonfree --enable-pthreads \
-enable-avfilter 
--extra-cflags='-I$TOOLS_MULTIDIA_DIR/include/ -I$TOOLS_MULTIDIA_DIR/include/a52dec/ -I$TOOLS_MULTIDIA_DIR/include/lame/ \
-I$TOOLS_MULTIDIA_DIR/include/ -I$TOOLS_MULTIDIA_DIR/include/opencore-amrnb/ -I$TOOLS_MULTIDIA_DIR/include/opencore-amrwb/' \
 --extra-ldflags=-L$TOOLS_MULTIDIA_DIR/lib

Puis

make
make install