Friday 25 April 2014

Install-FFmpeg-Mplayer-Mencoder-MP4Box-Flvtool2



Install FFmpeg, Mplayer, Mencoder, MP4Box, Flvtool2

You can use the following tutorial to install ffmpeg and other video modules in your centos server.FFmpeg is an audio/video conversion tool. It includes libavcodec, the leading open source codec library. An experimental streaming server for live broadcasts is also included.

Install FFmpeg modules Mencoder, Mplayer, flvtool2, mediainfo, mp4box , neroAacEnc on centos to convert video to your favorite extension.

ffmpeg installation

Install FFmpeg, Mplayer, Mencoder, MP4Box, Flvtool2 etc.,
Update your rpmforge now.

for i386:
wget http://pkgs.repoforge.org/rpmforge-relea...f.i686.rpm
rpm -ivh rpmforge-release-0.5.3-1.el6.rf.i686.rpm

for x86_64:
wget http://pkgs.repoforge.org/rpmforge-relea...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


Debian/Ubuntu:

#apt-get install build-essential

Dynamic Linked Libraries Path

Linux 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

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

# cd /usr/local/src
# wget http://downloads.xiph.org/releases/ogg/l...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 http://downloads.xiph.org/releases/vorbi...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 http://www.tortall.net/projects/yasm/rel...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...shot-`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 http://downloads.sourceforge.net/project...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 http://downloads.sourceforge.net/zenlib/...ntOS_6.rpm
# rpm -ivh libzen0-0.4.29-1.x86_64.CentOS_6.rpm
# wget http://sourceforge.net/projects/mediainf...ntOS_6.rpm
# rpm -ivh libmediainfo0-0.7.64-1.x86_64.CentOS_6.rpm
# wget http://sourceforge.net/projects/mediainf...ntOS_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 http://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

In some server get the error 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 http://downloads.sourceforge.net/project...8.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 http://downloads.sourceforge.net/gpac/gpac-0.5.0.tar.gz
# wget http://downloads.sourceforge.net/gpac/gp...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 http://rubyforge.org/frs/download.php/17...-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 “http://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 http://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 http://www.mplayerhq.hu/MPlayer/releases...31.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 http://www.mplayerhq.hu/MPlayer/releases...c4.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 http://downloads.sourceforge.net/project...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.

which php ffmpeg mplayer mencoder flvtool2 yamdi MP4Box neroAacEnc mediainfo



-- solution :
error during mp4box installing

/usr/bin/ld: cannot find -lglut
collect2: ld returned 1 exit status
make[1]: *** [libgpac.so] Error 1
make[1]: Leaving directory `/usr/local/src/gpac/src'
make: *** [lib] Error 2

I did make apps command. And at the bottom output of the make apps command I get the message below;

/usr/bin/ld: cannot find -lgpac
collect2: ld returned 1 exit status
make[2]: *** [MP4Box] Error 1
make[2]: Leaving directory `/usr/local/src/gpac/applications/mp4box'
make[1]: *** [apps] Error 2
make[1]: Leaving directory `/usr/local/src/gpac/applications'
make: *** [apps] Error 2

then

Run
yum install freeglut*



All I had to do was to yum install freeglut*. Now it is okay

No comments:

Post a Comment