I managed to install ffmpeg & ffmpeg-php on my client’s server. I hardly learned to do this since the tutorials available on the net are using old version packages. So, this tutorial is re-written with some adjustments especially the packages version.
Switch to working directory
cd /usr/local/src
Download the source files needed
wget http://www3.mplayerhq.hu/MPlayer/releases/codecs/essential-20071007.tar.bz2
wget http://rubyforge.org/frs/download.php/17497/flvtool2-1.0.6.tgz
wget http://easynews.dl.sourceforge.net/sourceforge/lame/lame-3.97.tar.gz
wget http://downloads.sourceforge.net/ffmpeg-php/ffmpeg-php-0.5.2.1.tbz2
wget http://downloads.xiph.org/releases/ogg/libogg-1.1.3.tar.gz
wget http://downloads.xiph.org/releases/vorbis/libvorbis-1.2.0.tar.gz
Extract the Source files
bunzip2 essential-20071007.tar.bz2; tar xvf essential-20071007.tar
tar zxvf flvtool2-1.0.6.tgz
tar zxvf lame-3.97.tar.gz
bunzip2 ffmpeg-php-0.5.2.1.tbz2; tar xvf ffmpeg-php-0.5.2.1.tar
tar zxvf libogg-1.1.3.tar.gz
tar zxvf libvorbis-1.2.0.tar.gz
Create a directory for codecs & import them
mkdir /usr/local/lib/codecs/
mv essential-20071007/* /usr/local/lib/codecs/
chmod -R 755 /usr/local/lib/codecs/
Install SVN/Ruby
yum install subversion
yum install ruby
yum install ncurses-devel
Get the latest FFMPEG/MPlayer from the subversion
svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
svn checkout svn://svn.mplayerhq.hu/mplayer/trunk mplayer
Fix few Lib issues for next steps
Add this line in /etc/ld.so.conf
/usr/local/lib
then run
ldconfig -v
Compile LAME
cd /usr/local/src/lame-3.97
./configure
make
make install
Compile libOGG
cd /usr/local/src/libogg-1.1.3
./configure
make
make install
Compile libVorbis
cd /usr/local/src/libvorbis-1.2.0
./configure
make
make install
Compile flvtool2
cd /usr/local/src/flvtool2-1.0.6
ruby setup.rb config
ruby setup.rb setup
ruby setup.rb install
Compile MPlayer
cd /usr/local/src/mplayer
./configure
make
make install
Compile FFMPEG
cd /usr/local/src/ffmpeg
./configure –enable-libmp3lame –enable-libogg –enable-libvorbis –disable-mmx –enable-shared
echo ‘#define HAVE_LRINTF 1′ >> config.h
make
make install
Fix:
remove –enable-libogg if you get any error regarding libogg when configure ffmpeg
Create tmp directory because it will return an error if you have secure /tmp:
mkdir tmp
chmod 777 tmp
export TMPDIR=./tmp
to revert back: export TMPDIR=/tmp
Finalize the codec setups
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
Few tasks before compiling FFMPEG-PHP
yum install automake
yum install autoconf
yum install libtool
Compile FFMPEG-PHP
cd /usr/local/src/ffmpeg-php-0.5.2.1
phpize
./configure
make
make install
Add FFMPEG-PHP as an extension of PHP
Add this line to your php.ini file (Check the correct path of php.ini)
extension=ffmpeg.so
Restart Apache to load FFMPEG-PHP
service httpd restart
Check if FFMPEG-PHP is loaded correctly
Create a file called phpinfo.php in your webroot and add the following code
<?php
phpinfo();
?>
Run this page using your browser and if you see a section on ffmpeg then everything is installed and working.
If you like blog, please consider buying me a beer.