Installing FFmpeg, FFmpeg-php, Mencoder, Flv2tool, Mplayer

Posted on 9:24 PM by Bharathvn

A few people have asked for this to be done so heres a howto for installing:

FFmpeg
FFmpeg-PHP
Mplayer + Mencoder (mencoder is now built into the mplayer svn release )
flv2tool ****REQUIRES RUBY ON RAILS****
LAME MP3 Encoder
Libogg
Libvorbis


+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++


**** UPDATED 10 FEBRUARY 2008 ****


CODE
cd /usr/local/src
#GET CRAP:
wget http://www3.mplayerhq.hu/MPlayer/releases/codecs/essential-20061022.tar.bz2 # ( UPDATED 20070308 )
wget http://rubyforge.org/frs/download.php/9225/flvtool2_1.0.5_rc6.tgz
wget http://easynews.dl.sourceforge.net/sourceforge/lame/lame-3.97.tar.gz
wget http://superb-west.dl.sourceforge.net/sourceforge/ffmpeg-php/ffmpeg-php-0.5.0.tbz2
wget http://downloads.xiph.org/releases/ogg/libogg-1.1.3.tar.gz
wget http://downloads.xiph.org/releases/vorbis/libvorbis-1.1.2.tar.gz
#EXTRACT THE CRAP:
tar zxvf flvtool2_1.0.5_rc6.tgz
tar zxvf lame-3.97.tar.gz
tar zxvf libogg-1.1.3.tar.gz
tar zxvf libvorbis-1.1.2.tar.gz
tar zxvf flvtool2_1.0.5_rc6.tgz
tar jxvf essential-20061022.tar.bz2 # ( UPDATED 20070308 )
tar jxvf ffmpeg-php-0.5.0.tbz2
#WE NEED A DIR MADE:
mkdir /usr/local/lib/codecs/
#JUST IN CASE:
up2date -i gcc gmake make libcpp libgcc libstdc++ gcc4 gcc4-c++ gcc4-gfortran
yum install gcc gmake make libcpp libgcc libstdc++ gcc4 gcc4-c++ gcc4-gfortran
#WE NEED TO INSTALL SVN + ROR:
up2date -i subversion
up2date -i ruby
up2date -i ncurses-devel
svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
svn checkout svn://svn.mplayerhq.hu/mplayer/trunk mplayer
cd /usr/local/src/mplayer
svn update
cd /usr/local/src
#COPY CODECS FOR MPLAYER:
mv /usr/local/src/essential-20061022/* /usr/local/lib/codecs/
chmod -R 755 /usr/local/lib/codecs/
#SECURE TMP IS A PAIN AT TIMES Wink
mkdir /usr/local/src/tmp
chmod 777 /usr/local/src/tmp
export TMPDIR=/usr/local/src/tmp
#LAME:
cd /usr/local/src/lame-3.97
./configure
make && make install
cd /usr/local/src/
#LIBOGG:
cd /usr/local/src/libogg-1.1.3
./configure && make && make install
cd /usr/local/src/
#LIBVORBIS:
cd /usr/local/src/libvorbis-1.1.2
./configure && make && make install
cd /usr/local/src/
#FLVTOOL2:
cd /usr/local/src/flvtool2_1.0.5_rc6/
ruby setup.rb config
ruby setup.rb setup
ruby setup.rb install
cd /usr/local/src/
cd /usr/local/src/mplayer
./configure && make && make install
cd /usr/local/src/
#FFMPEG:
cd /usr/local/src/ffmpeg/
#./configure --enable-libmp3lame --enable-libogg --enable-libvorbis --disable-mmx --enable-shared
### configure options changed ###
./configure --enable-libmp3lame --disable-mmx --enable-shared
######### IGNORE THIS ECHO LINE The dev's fixed the issue in svn. Im only leaveing it here in case it comes up again ###############
#####echo '#define HAVE_LRINTF 1 '>>config.h
################################################################################
#############################
make
make install
ln -s /usr/local/lib/libavformat.so.50 /usr/lib/libavformat.so.50
ln -s /usr/local/lib/libavcodec.so.51 /usr/lib/libavcodec.so.51
ln -s /usr/local/lib/libavutil.so.49 /usr/lib/libavutil.so.49
ln -s /usr/local/lib/libmp3lame.so.0 /usr/lib/libmp3lame.so.0
ln -s /usr/local/lib/libavformat.so.51 /usr/lib/libavformat.so.51
ln -s /usr/local/lib/libavformat.so.52 /usr/lib/libavformat.so.52
ln -s /usr/local/lib/libavdevice.so.52 /usr/lib/libavdevice.so.52
cd /usr/local/src/
#FFMPEG-PHP:
cd /usr/local/src/ffmpeg-php-0.5.0/
yum -y install autoconf
up2date -i autoconf
phpize
./configure
make
make install

#NOTICE: Make sure this is the correct php.ini for the box!!

echo 'extension=/usr/local/lib/php/extensions/no-debug-non-zts-20020429/ffmpeg.so' >> /usr/local/Zend/etc/php.ini

#NOTICE: Make sure this is the correct php.ini for the box!!

service httpd restart
cd /usr/local/src