I compiled ffmpeg libs on my Ubuntu 64-bits using the following script:
mkdir ~/ffmpeg_sources
#x264
cd ~/ffmpeg_sources
wget http://download.videolan.org/pub/x264/snapshots/last_x264.tar.bz2
tar xjvf last_x264.tar.bz2
cd x264-snapshot*
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static --disable-asm
make
make install
make distclean
#FFmpeg
cd ~/ffmpeg_sources
wget http://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2
tar xjvf ffmpeg-snapshot.tar.bz2
cd ffmpeg
PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig"
export PKG_CONFIG_PATH
./configure --prefix="$HOME/ffmpeg_build" --extra-cflags="-I$HOME/ffmpeg_build/include" \
--extra-ldflags="-L$HOME/ffmpeg_build/lib" --bindir="$HOME/bin" --extra-libs="-ldl" -- enable-gpl \
--enable-libx264 --enable-x11grab --disable-yasm
make
make install
make distclean
hash -r
But the final libs are really large (For example, libavcodec.a > 140 Mb). Anybody know why my libs are so large ?
EDIT
My Solutions:
- add the option "--disable-debug" to the ./configure. The size of my libavcodec fell from 150Mb to 12Mb!
- Remove all unnecessary codecs: Add the options -disable-encoders, --disable-decoders and then add only codecs you want with --enable-encoder=NAME and --enable-decoder=NAME. Print the list using ./configure --list-encoders --list-decoders. see ./configure --help for more information. (My final libavcodec has a size of 4Mo)
-s
to the linker flags. – Burlingame