Ffmpeg Installation on RHEL 4

Just try to find documentation on this … absolute nightmare is an understatement, so here are my notes of the steps I took to compile ffmpeg with a selection of codecs:

up2date automake autoconf libtool
wget http://downloads.sourceforge.net/faac/faac-1.26.tar.gz
wget http://downloads.sourceforge.net/faac/faad2-2.6.1.tar.gz
wget http://superb-west.dl.sourceforge.net/sourceforge/lame/lame-3.98b6.tar.gz
wget http://downloads.xiph.org/releases/ogg/libogg-1.1.3.tar.gz
wget http://downloads.xiph.org/releases/theora/libtheora-1.0beta2.tar.gz
wget http://downloads.xiph.org/releases/vorbis/libvorbis-1.2.0.tar.gz
wget http://downloads.xvid.org/downloads/xvidcore-1.1.3.tar.gz
wget ftp://ftp.videolan.org/pub/videolan/x264/snapshots/x264-snapshot-20080805-2245.tar.bz2

NOTE: The above are current at the time of writing, check for more recent versions at the relevant sites.


 for i in *.tar.gz; do tar -xzvf "$i"; done
 for i in *.tar.bz2; do tar -xjvf "$i"; done

cd to relevant directories and run the following:

faac & faad2: ./bootstrap && ./configure && make && make install xvidcore: cd build/generic; ./configure && make && make install libx264: ./configure –enable-shared –disable-asm && make && make install The rest: ./configure && make && make install

NOTE: You must install libogg prior to libvorbis and libtheora

The following is required otherwise ffmpeg will display errors about being unable to find libraries:


ffmpeg: error while loading shared libraries: libavdevice.so.52: cannot open shared object file


echo '/usr/local/lib' > /etc/ld.so.conf.d/buzz-saiweb.conf

You must run “ldconfig” any time you install a new lib you want to use with ffmpeg!

Install FFMPEG

svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg

./configure --enable-libmp3lame --enable-libvorbis --enable-libxvid --enable-shared --enable-libfaac --enable-libfaad --enable-gpl --enable-libtheora --enable-libx264


make install

NOTE: If you allready havea checkout of ffmpeg and run an update to get the latest code, make sure you run

make distclean

Prior to running the configure line.

et voila job done ….