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