Les notes qui suivent sont une évolution de http://www.davidgis.fr/documentation/vlc-0.8.6d-h264-support/html/index.html. Ici c'est vlc-0.8.6f que je teste au lieu de vlc-0.8.6d...
On met à  jour la variable racine des répertoires sources
export SRC=/mnt/vlc-src
Compilation de amrnb/amrwb
cd $SRC/amrnb-7.0.0.2
./configure --enable-shared=no --enable-static=yes
make
de même pour amrwb-7.0.0.3
cd $SRC/amrwb-7.0.0.3
./configure --enable-shared=no --enable-static=yes
make
Recompilation de ffmpeg et de VLC
On nettoie les sources de fmpeg et on recompile ffmpeg en ajoutant les options voulues
cd $SRC/ffmpeg
./configure --enable-gpl --enable-pp --disable-shared --enable-static --disable-debug \
--enable-libmp3lame --enable-libfaac --enable-pthreads --enable-libamr-wb --enable-libamr-nb \
--extra-ldflags="-L$SRC/faac/libfaac/.libs -L$SRC/lame/libmp3lame/.libs -L$SRC/amrnb-7.0.0.2/.libs -L$SRC/amrwb-7.0.0.3/.libs" \
--extra-cflags="-I$SRC/faac/include -I$SRC/lame/include -I$SRC/amrnb-7.0.0.2 -I$SRC/amrwb-7.0.0.3/" \
--extra-libs="$SRC/lame/libmp3lame/.libs/libmp3lame.a $SRC/amrnb-7.0.0.2/.libs/libamrnb.a $SRC/amrwb-7.0.0.3/.libs/libamrwb.a"
On recompile liba52 en mode static
cd $SRC/a52
./configure --enable-shared=no --enable-static=yes
make
On met à  jour les variables
export SRC="/mnt/vlc-src"
export CFLAGS="-I$SRC/faac/include -I$SRC/lame/include -I$SRC/amrnb-7.0.0.2 -I$SRC/amrwb-7.0.0.3"
export CXXFLAGS=$CFLAGS
export LDFLAGS="$SRC/faac/libfaac/.libs/libfaac.a $SRC/lame/libmp3lame/.libs/libmp3lame.a \
$SRC/a52/liba52/.libs/liba52.a $SRC/amrnb-7.0.0.2/.libs/libamrnb.a $SRC/amrwb-7.0.0.3/.libs/libamrwb.a"
cd $SRC/vlc-0.8.6f
./configure --prefix=/opt/streaming --enable-release --enable-static --enable-sout \
--enable-live555 --enable-ffmpeg --with-ffmpeg-faac --with-ffmpeg-mp3lame \
--enable-libmpeg2 --enable-x264 --enable-ncurses --enable-dvbpsi --with-included-gettext \
--enable-a52 --disable-x11 --disable-mad --disable-growl --disable-notify --disable-dvdnav \
--disable-gnomevfs --disable-libcdio --disable-libcddb --disable-cdda --disable-vcd --disable-screen \
--disable-ogg --disable-mkv --disable-mod --disable-mpc --disable-quicktime --disable-dts --disable-vorbis\
--disable-speex --disable-png --disable-cmml --disable-xvideo --disable-glx --disable-xinerama\
--disable-opengl --disable-sdl --disable-sdl-image --disable-freetype --disable-fribidi \
--disable-libxml2 --disable-fb --disable-wxwidgets --disable-visual --disable-daap --disable-bonjour\
--disable-gnutls --disable-skins2 --with-live555-tree=$SRC/live --with-ffmpeg-tree=$SRC/ffmpeg \
--with-libmpeg2-tree=$SRC/mpeg2dec --with-x264-tree=$SRC/x264 --with-dvbpsi-tree=$SRC/libdvbpsi \
--with-a52-tree=$SRC/a52
Faire un vi sur vlc-config
A la ligne
x264)
cppflags="${cppflags} -I/mnt/vlc-src/x264"
ldflags="${ldflags} -lx264 -L/mnt/vlc-src/x264 -lm"
;;
Il faut rajouter $SRC/amrnb-7.0.0.2/.libs/libamrnb.a $SRC/amrwb-7.0.0.3/.libs/libamrwb.a
pour obtenir
x264)
cppflags="${cppflags} -I/mnt/vlc-src/x264"
ldflags="${ldflags} -lx264 -L/mnt/vlc-src/x264 -lm $SRC/amrnb-7.0.0.2/.libs/libamrnb.a $SRC/amrwb-7.0.0.3/.libs/libamrwb.a"
;;
Et on compile et on installe
make
make install
Test sur un fichier 3gp
Pour les tests, on fait
/opt/streaming/bin/vlc [fichier].3gp --sout '#transcode{vcodec=h264,acodec=mp3,vb=256,width=240,height=176,fps=29,deinterlace}:\
standard{mux=asf,dst=:[PORT],access=http}:sout-transcode-soverlay=0' -I dummy