wiki:

CompilationGuide

/

Centos


Version 6 (modified by llogan, 6 years ago) (diff)

make external libraries not shared; libvpx uses 'make clean'

Compile FFmpeg on CentOS 6.0

This guide is based on a minimal CentOS installation and will install FFmpeg with several external encoding libraries.

Note: The # indicates that the command should be executed as superuser or root.

Preparation

Remove any existing packages:

# yum erase x264 ffmpeg

Get the dependencies:

# yum install gcc git make nasm pkgconfig wget

Make a source directory:

mkdir ~/ffmpeg-source

Installation

Yasm

Yasm is an assembler used by x264 and FFmpeg.

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

Note: If you do not require certain encoders you may skip the relevant section and then remove the appropriate ./configure option in FFmpeg. For example, if libtheora is not needed, then skip that section and then remove --enable-libtheora from the Install FFmpeg section.

x264

H.264 video encoder.

cd ~/ffmpeg-source
git clone git://git.videolan.org/x264
cd x264
./configure --enable-static
make
# make install

LAME

MP3 audio encoder.

cd ~/ffmpeg-source
wget http://downloads.sourceforge.net/project/lame/lame/3.99/lame-3.99.tar.gz
tar xzvf lame-3.99.tar.gz
cd lame-3.99
./configure --disable-shared --enable-nasm
make
# make install

libogg

Required for libtheora and libvorbis.

cd ~/ffmpeg-source
wget http://downloads.xiph.org/releases/ogg/libogg-1.3.0.tar.xz
tar Jxvf libogg-1.3.0.tar.xz
cd libogg-1.3.0
./configure --disable-shared
make
# make install

libtheora

Theora video encoder.

cd ~/ffmpeg-source
wget http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.gz
tar xzvf libtheora-1.1.1.tar.gz
cd libtheora-1.1.1
./configure --disable-shared
make
# make install

libvorbis

Vorbis audio encoder.

cd ~/ffmpeg-source
wget http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.2.tar.gz
tar xzvf libvorbis-1.3.2.tar.gz
cd libvorbis-1.3.2
./configure --disable-shared
make
# make install

vo-aacenc

VisualOn AAC audio encoder.

cd ~/ffmpeg-source
wget http://downloads.sourceforge.net/opencore-amr/vo-aacenc-0.1.1.tar.gz
tar xzvf vo-aacenc-0.1.1.tar.gz
cd vo-aacenc-0.1.1
./configure --disable-shared
make
# make install

libvpx

VP8 video encoder.

cd ~/ffmpeg-source
git clone http://git.chromium.org/webm/libvpx.git
cd libvpx
./configure
make
# make install

FFmpeg

cd ~/ffmpeg-source
git clone git://source.ffmpeg.org/ffmpeg
cd ffmpeg
./configure --enable-gpl --enable-libmp3lame --enable-libtheora --enable-libvo-aacenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-version3
make
# make install

Compilation is now complete and ffmpeg should now be ready to use. The rest of this guide shows how to update or remove FFmpeg.

Note: Keep the ffmpeg-source directory and all contents if you intend to update or uninstall as shown below.

Updating x264, libvpx, and FFmpeg

First uninstall x264, libvpx, and FFmpeg:

cd ~/ffmpeg-source/x264
# make uninstall
cd ~/ffmpeg-source/ffmpeg
# make uninstall
cd ~/ffmpeg-source/libvpx
# make uninstall

Update x264

cd ~/ffmpeg-source/x264
make distclean
git pull

Then run ./configure, make, and make install as shown in the Install x264 section.

Update libvpx

cd ~/ffmpeg-source/libvpx
make clean
git pull

Then run ./configure, make, and make install as shown in the Install libvpx section.

Update FFmpeg

cd ~/ffmpeg-source/ffmpeg
make distclean
git pull

Then run ./configure, make, and make install as shown in the Install FFmpeg section.

Reverting changes made by this guide

# yum erase gcc git make nasm pkgconfig wget
cd ~/ffmpeg-source/yasm-1.2.0
# make uninstall
cd ../x264
# make uninstall
cd ../lame-3.99
# make uninstall
cd ../libogg-1.3.0
# make uninstall
cd ../libtheora-1.1.1
# make uninstall
cd ../libvorbis-1.3.2
# make uninstall
cd ../libvpx
# make uninstall
cd ../ffmpeg
# make uninstall
rm -rf ~/ffmpeg-source