Monday 28 May 2012

How to setup FFMPEG with major codecs in

Video transcoding is 1 of my many hobbies.
When it comes to video encoder, FFMPEG is absolutely the best solution.

Follow the steps below to install it today!

Based ON Fresh Installed CentOS 5.x

[Update Current Software and Libraries]
# yum update

[Install RPMForge Repository][Replace * with i386 or x86_64]
# wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.*.rpm
# rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
# rpm -K rpmforge-release-0.5.2-2.el5.rf.*.rpm
# rpm -i rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm

[Install Tools and Libraries for Compiling]
# yum install gcc gcc-c++ glib glib-devel libtool automake autoconf git subversion

[Add Library Path to ld.so.conf]
# vi /etc/ld.so.conf
** add /usr/local/lib

[LAME MP3]
# wget http://jaist.dl.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz
# tar xzvf lame-3.99.5.tar.gz
# cd lame-3.99.5
# ./configure
# make
# make install

$ cd ..

[LIBA52]
# wget http://liba52.sourceforge.net/files/a52dec-0.7.4.tar.gz
# tar xzvf a52dec-0.7.4.tar.gz
# cd a52dec-0.7.4

-- 32 Bit --
# ./configure
-- 64 Bit --
# ./configure CFLAGS="-fPIC"

# make
# make install

$ cd ..

[FAAC]
# wget http://jaist.dl.sourceforge.net/project/faac/faac-src/faac-1.28/faac-1.28.tar.gz
# tar xzvf faac-1.28.tar.gz
# cd faac-1.28
# sh bootstrap
# ./configure
# make
# make install

[NASM & YASM]
# wget http://www.nasm.us/pub/nasm/releasebuilds/2.12.01/nasm-2.12.01.tar.gz
# tar xzvf nasm-2.12.01.tar.gz
# cd nasm-2.12.01
# ./configure
# make
# make install

$ cd ..

# wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
# tar xzvf yasm-1.3.0.tar.gz
# cd yasm-1.3.0
# ./configure
# make
# make install

$ cd ..

[X264]
# git clone git://git.videolan.org/x264.git x264-git
# cd x264-git
-- 32 Bit --
# ./configure --enable-shared --extra-cflags=-fPIC
-- 64 Bit --
# ./configure --enable-shared
# make
# make install

$ cd ..

[XVID]
# wget http://downloads.xvid.org/downloads/xvidcore-1.3.4.tar.gz
# tar xzvf xvidcore-1.3.4.tar.gz
# cd xvidcore/build/generic
# ./configure
# make
# make install

$ cd ../../..

[WIN32 CODECS]
# wget http://www.mplayerhq.hu/MPlayer/releases/codecs/all-20110131.tar.bz2
# tar xjvf all-20110131.tar.bz2
# mv all-20110131 /usr/local/lib/all-20110131
# mv /usr/local/lib/all-20110131 /usr/local/lib/win32

[Ogg Theora & Ogg Vorbis]
# wget http://downloads.xiph.org/releases/ogg/libogg-1.3.2.tar.gz
# tar xzvf libogg-1.3.2.tar.gz
# cd libogg-1.3.2
# ./configure
# make
# make install

$ cd ..

# wget http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.5.tar.gz
# tar xzvf libvorbis-1.3.5.tar.gz
# cd libvorbis-1.3.5
# ./configure
# make
# make install

$ cd ..

# wget http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.bz2
# tar xjvf libtheora-1.1.1.tar.bz2
# cd libtheora-1.1.1
# ./configure
# make
# make install

$ cd ..

[FLAC]
# wget http://downloads.xiph.org/releases/flac/flac-1.3.1.tar.xz
# tar xJvf flac-1.3.1.tar.xz
# cd flac-1.3.1
# ./configure
# make
# make install

$ cd ..

[OPUS]
# wget http://downloads.xiph.org/releases/opus/opus-1.1.2.tar.gz
# tar xzvf opus-1.1.2.tar.gz
# cd opus-1.1.2
# ./configure
# make
# make install

$ cd ..

[VP8/VP9/VPX]
# git clone http://git.chromium.org/webm/libvpx.git vpx-git
# git clone https://chromium.googlesource.com/webm/libvpx vpx-git
# cd vpx-git
-- 32 Bit --
# ./configure --enable-vp8 --enable-vp9 --enable-vp10 --enable-shared --extra-cflags=-fPIC
-- 64 Bit --
# ./configure --enable-vp8 --enable-vp9 --enable-vp10 --enable-shared
# make
# make install

$ cd ..

[HEVC / X265]
# yum install hg cmake
# hg clone https://bitbucket.org/multicoreware/x265 x265-hg
# cd x265-hg/build/linux
# ./make-Makefiles.bash
# make
# make install

$ cd ..

[FFMPEG]
# export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig        <-- for HEVC
# git clone git://git.videolan.org/ffmpeg.git ffmpeg-git
# cd ffmpeg-git

-- 32 Bit --
# ./configure --enable-shared --enable-gpl --enable-pthreads --enable-libfaac --enable-libmp3lame --enable-libxvid --enable-libx264 --enable-libx265 --enable-memalign-hack --enable-static --enable-nonfree --enable-libtheora --enable-libvorbis --enable-libopus --enable-libvpx --enable-version3
-- 64 Bit --
# ./configure --enable-shared --enable-gpl --enable-pthreads --enable-libfaac --enable-libmp3lame --enable-libxvid --enable-libx264 --enable-libx265 --enable-memalign-hack --enable-static --enable-nonfree --enable-libtheora --enable-libvorbis --enable-libopus --enable-libvpx --enable-version3 --extra-cflags=-fPIC

# make
# make install

And you're done.
Have a nice day :)


!REMEMBER!
FFMPEG are not for commercial use.

No comments:

Post a Comment