Save 15% on Instant Deploy Bare-Metal Servers in 26 Global Markets with Coupon Code: EdgeSave

How to Install FFmpeg , Mplayer , Mencoder , MP4Box , Flvtool2, and all their libraries

FFmpeg is a free software project that produces libraries and programs for handling multimedia data. FFmpeg includes libavcodec, an audio/video codec library used by several other projects, libavformat, an audio/video container mux and demux library, and the ffmpeg command line program for transcoding multimedia files.

You will need to login to your server with root user in order to perform the installation

Before we start installing FFMPEG update your rpmforge.

for CentOS i386:

wget https://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.i686.rpm

rpm -ivh rpmforge-release-0.5.3-1.el6.rf.i686.rpm

for CentOS x86_64:

wget https://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm

rpm -ivh rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm

Install the utilites of ffmpeg.

RedHat/Centos:

yum groupinstall -y “Development Tools”

or

yum install zlib-devel automake autoconf gcc gmake make libcpp libgcc libstdc++ gcc4 gcc4-c++ gcc4-gfortran gcc-c++ mesa-libGL-devel mesa-libGLU-devel libXi-devel libXmu-devel freeglut-devel freeglut libtool ncurses-devel

For Ubuntu:

apt-get install build-essential

Dynamic Linked Libraries Path

Linux operating system uses a system of shared libraries, similar to Windows dlls, for the efficient use of space and resources, and modularity.

Add those below entry in /etc/ld.so.conf

/usr/local/lib

/usr/lib

ldconfig

Installing libogg

Libogg contains necessary functionality to create, decode, and work with Ogg bitstreams.

  • cd /usr/local/src

  • wget https://downloads.xiph.org/releases/ogg/libogg-1.2.2.tar.gz

  • tar zxvf libogg-1.2.2.tar.gz

  • cd /usr/local/src/libogg-1.2.2

  • ./configure && make clean && make && make install

  • ldconfig

Install libvorbis

The libvorbis reference implementation provides both a standard encoder and decoder under a BSD license.

  • cd /usr/local/src

  • wget https://downloads.xiph.org/releases/vorbis/libvorbis-1.3.3.tar.gz

  • tar zxvf libvorbis-1.3.3.tar.gz

  • cd libvorbis-1.3.3

  • ./configure && make clean && make && make install

Install Yasm

Yasm is a software program that attempts to be a complete rewrite of the NASM assembler

  • wget https://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz

  • tar zfvx yasm-1.2.0.tar.gz

  • cd yasm-1.1.0

  • ./configure && make && make install

    Install libx264

x264 is a free software library for encoding video streams into the H.264/MPEG-4 AVC format. It is released under the terms of the GNU

General Public License.

  • cd /usr/local/src

  • wget ftp://ftp.videolan.org/pub/videolan/x264/snapshots/x264-snapshot-`date -d “-1 days” +%Y%m%d`-2245-stable.tar.bz2

  • tar jxf x264-snapshot-`date -d “-1 days” +%Y%m%d`-2245-stable.tar.bz2

  • cd /usr/local/src/x264-snapshot-`date -d “-1 days” +%Y%m%d`-2245-stable

  • ./configure –enable-shared && make clean && make && make install
     

Install amr

3GP is a simplified version of the MPEG-4 Part 14 (MP4) container format, designed to decrease storage and bandwidth requirements in order to accommodate mobile phones.

  • cd /usr/local/src

  • wget https://downloads.sourceforge.net/project/opencore-amr/opencore-amr/0.1.2/opencore-amr-0.1.2.tar.gz

  • tar zxf opencore-amr-0.1.2.tar.gz

  • cd opencore-amr-0.1.2

  • ./configure && make clean && make && make install

Install neroAacEnc

neroAacEnc is Improved multichannel encoding and Multipass encoding, Solved issue with very long files and -2pass.

  • cd /usr/local/src

  • wget ftp://ftp6.nero.com/tools/NeroDigitalAudio.zip

  • unzip NeroDigitalAudio.zip -d nero

  • cd nero/linux

  • sudo install -D -m755 neroAacEnc /usr/local/bin

Install mediainfo

MediaInfo is a convenient unified display of the most relevant technical and tag data for video and audio files.

cd /usr/local/src

For x86_64 Centos6

  • wget https://downloads.sourceforge.net/zenlib/libzen0-0.4.29-1.x86_64.CentOS_6.rpm

  • rpm -ivh libzen0-0.4.29-1.x86_64.CentOS_6.rpm

  • wget https://sourceforge.net/projects/mediainfo/files/binary/libmediainfo0/0.7.64/libmediainfo0-0.7.64-1.x86_64.CentOS_6.rpm

  • rpm -ivh libmediainfo0-0.7.64-1.x86_64.CentOS_6.rpm

  • wget https://sourceforge.net/projects/mediainfo/files/binary/mediainfo/0.7.64/mediainfo-0.7.64-1.x86_64.CentOS_6.rpm

  • rpm -ivh mediainfo-0.7.64-1.x86_64.CentOS_6.rpm

Install faac

FAAC is an MPEG-4 and MPEG-2 AAC encoder.

  • cd /usr/local/src

  • wget https://downloads.sourceforge.net/faac/faac-1.28.tar.gz

  • tar zxvf faac-1.28.tar.gz

  • cd /usr/local/src/faac-1.28

  • ./configure && make clean && make && make install

Some times you may face errors as

“In file included from mp4common.h:29, from 3gp.cpp:28:mpeg4ip.h:126: error: new declaration ‘char* strcasestr(const char*, const char*)’”

to sort out you have the file /usr/local/src/faac-1.28/common/mp4v2/mpeg4ip.h and remove the content “char *strcasestr(const char *haystack, const char *needle); ” found in line 126

And then run

make clean && ./configure && make && make install

Install lame

libmp3lame is an open source application used to encode audio into the MP3 file format.

  • cd /usr/local/src

  • wget https://downloads.sourceforge.net/project/lame/lame/3.98.4/lame-3.98.4.tar.gz

  • tar zxvf lame-3.98.4.tar.gz

  • cd lame-3.98.4

  • ./configure && make clean && make && make install

Install gpac and MP4Box

MP4Box is a MP4 multiplexer. It can import MPEG-4 video, DivX, XviD, 3ivx, h264 etc, audio streams and subtitles into the .mp4 container.

  • cd /usr/local/src

  • wget https://downloads.sourceforge.net/gpac/gpac-0.5.0.tar.gz

  • wget https://downloads.sourceforge.net/gpac/gpac_extra_libs-0.5.0.tar.gz

  • tar zxvf gpac-0.5.0.tar.gz

  • tar zxvf gpac_extra_libs-0.5.0.tar.gz

  • cd gpac

  • cp -r ../gpac_extra_libs/* extra_lib/

  • chmod +x configure

  • ./configure

  • make lib

  • make apps

  • make install-lib

  • make install

  • cp bin/gcc/libgpac.so /usr/lib

Install flvtool2

FLVTOOL2 can calculate a lot of meta data and insert on MetaData tag. It can cut FLV files and add cue Points (onCuePoint).

  • cd /usr/local/src

  • wget https://rubyforge.org/frs/download.php/17497/flvtool2-1.0.6.tgz

  • tar zxvf flvtool2-1.0.6.tgz

  • cd /usr/local/src/flvtool2-1.0.6/

  • ruby setup.rb config && ruby setup.rb setup && ruby setup.rb install

Install yamdi

yamdi stands for Yet Another MetaData Injector and is a metadata injector for FLV files. It adds the onMetaData event to your FLV files.

yamdi should run under *BSD, Linux and Win32

  • cd /usr/local/src

  • wget “https://downloads.sourceforge.net/project/yamdi/yamdi/1.4/yamdi-1.4.tar.gz?use_mirror=garr”

  • tar zxvf yamdi-1.4.tar.gz

  • cd yamdi-1.4

  • gcc yamdi.c -o yamdi -O2 -Wall -D_FILE_OFFSET_BITS=647

  • cp yamdi /usr/bin/

Install FFmpeg

FFMPEG is a command line tool that is composed of a collection of free software / open source libraries. It includes libavcodec, an audio/video codec library used by several other projects, and libavformat, an audio/video container mux and demux library. The name of the project comes from the MPEG video standards group, together with “FF” for “fast forward”.

  • cd /usr/local/src

  • mkdir /usr/local/src/tmp

  • chmod 777 /usr/local/src/tmp

  • export TMPDIR=/usr/local/src/tmp

  • wget https://ffmpeg.org/releases/ffmpeg-0.7.11.tar.gz

  • tar xzf ffmpeg-0.7.11.tar.gz

  • cd ffmpeg-0.7.11

  • make distclean

  • ./configure –enable-gpl –enable-version3 –enable-nonfree –enable-shared –enable-libmp3lame –enable-libx264 –enable-libfaac –enable-libvorbis –enable-libopencore-amrnb

  • make clean && make && make install

  • make tools/qt-faststart

  • cp tools/qt-faststart /usr/local/bin/

  • ldconfig

Install MPLAYER (MENCODER)

MENCODER is a free command line video decoding, encoding and filtering tool released under the GNU General Public License.

  • cd /usr/local/src

  • wget https://www.mplayerhq.hu/MPlayer/releases/codecs/all-20110131.tar.bz2

  • tar jxvf all-20110131.tar.bz2

  • mv /usr/local/src/all-20110131 /usr/local/lib/codecs/

  • chmod -R 755 /usr/local/lib/codecs/

  • mkdir /usr/local/src/tmp

  • chmod 777 /usr/local/src/tmp

  • export TMPDIR=/usr/local/src/tmp

  • wget https://www.mplayerhq.hu/MPlayer/releases/MPlayer-1.0rc4.tar.bz2

  • tar jxf MPlayer-1.0rc4.tar.bz2

  • cd MPlayer-1.0rc4

  • make clean

  • ./configure && make && make install && ldconfig

Install FFMPEG-PHP

FFMPEG-PHP is an extension for PHP that adds an easy to use, object-oriented API for accessing and retrieving information from video and audio files. It has methods for returning frames from movie files as images that can be manipulated using PHP’s image functions.

  • cd /usr/local/src

  • wget https://downloads.sourceforge.net/project/ffmpeg-php/ffmpeg-php/0.6.0/ffmpeg-php-0.6.0.tbz2

  • tar jxf ffmpeg-php-0.6.0.tbz2

  • perl -i -p -e “s/PIX_FMT_RGBA32/PIX_FMT_RGBA/g;” ffmpeg_frame.c

  • phpize

  • ./configure && make clean && make && make install

Then add extension of ffmpeg in php.ini file

echo “extension=ffmpeg.so” >> /etc/php.ini

Check all the installed modules with below command.

which php ffmpeg mplayer mencoder flvtool2 yamdi MP4Box neroAacEnc mediainfo

Share on Twitter
Share on Facebook