Pages

Friday, April 12, 2013

How to Install FFmpeg on CentOS via Yum

The easiest way to install FFMPEG and other modules is through yum. Following are the steps given to install ffmpeg with yum command.

First we will have to install the DAG RPM repositories which includes amount of rpm packages. It’s very easy. Just install the latest rpmforge-release package for your distribution and architecture.
This will automatically install the configuration and GPG keys that are for safely installing RPMforge packages.

Please select the correct command from the following list:

* Supported Red Hat Enterprise Linux 5 / i386:
rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm

* Red Hat Enterprise Linux 5 / x86_64:
rpm -Uhv http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm

Installing FFMPEG.

 
yum install ffmpeg ffmpeg-devel

Install FFMPEG-PHP Extension
FFmpeg-php is a very good extension and wrapper for PHP which can pull useful information about video through API interface. Inorder to install it you will need to download the source file and then compile and install extension in your server.

cd /usr/local/src
wget http://downloads.sourceforge.net/project/ffmpeg-php/ffmpeg-php/0.6.0/ffmpeg-php-0.6.0.tbz2?use_mirror=nchc
tar -xjf ffmpeg-php-0.6.0.tbz2
phpize
./configure
make
make install

Once you have done that without any problems then you will see the php extension file
 /usr/local/lib/php/extensions/no-debug-non-zts-20060613/ffmpeg.so
 and you will need mention that extension in php.ini file.
vi  /usr/local/lib/php.ini OR /etc/php.ini

Put the below two lines at the end of the php.ini file
[ffmpeg]
extension=ffmpeg.so
Then restart apache using — service httpd restart

Installing Mplayer + Mencoder
Just issue the following yum commands to install the rest of the packages.
yum install mplayer mencoder

Installing FlvTool2
Flvtool2 is a flash video file manipulation tool. It can calculate metadata and can cut and edit cue points for flv files.
If you are on Centos 5 try yum install flvtool2 with dag repository and if you get package not found you will need to manually download and compile the flvtool2. You can download latest version of flvtool2 from:-

 http://rubyforge.org/projects/flvtool2/
wget http://rubyforge.org/frs/download.php/17497/flvtool2-1.0.6.tgz
ruby setup.rb config
ruby setup.rb setup
sudo ruby setup.rb install

If you get command not found error, it probably means that you dont have ruby installed. Being a cpanel server you can do that using /scripts/installruby OR yum install ruby
You are done!!!!

4 comments:

  1. on phpsize it shows cannot fing confid.m4.

    ReplyDelete
  2. Change folder:
    cd ffmpeg-php-0.6.0
    Then you can run phpize (it requires to be in the top folder)

    Same thing when you install flvtools, change to unzipped folder before running ruby commands.
    tar -xzf flvtool2-1.0.6.tgz
    cd flvtool2-1.0.6

    Thanks for the instructions!

    ReplyDelete
  3. Hi, for PHP 5.4.x you need to modify /usr/local/src/ffmpeg-php-0.6.0/ffmpeg_movie.c with the following before make:

    row 311:

    old - list_entry *le;
    new - zend_rsrc_list_entry *le;

    row 346:

    old - list_entry new_le;
    new - zend_rsrc_list_entry new_le;

    row 360:

    old - hashkey_length+1, (void *)&new_le, sizeof(list_entry),
    new - hashkey_length+1, (void *)&new_le, sizeof(zend_rsrc_list_entry),

    ReplyDelete
  4. Following the instructions, I get this error while running ./configure:

    checking for ffmpeg headers...
    configure: error: ffmpeg headers not found. Make sure ffmpeg is compiled as shared libraries using the --enable-shared option

    ReplyDelete