【转】Compile FFmpeg on CentOS 6.x
This guide is based on a minimal CentOS installation and will install FFmpeg with several external encoding libraries. This guide is kept relatively up to date with FFmpeg development and library sources (see the page history for changelog), and should also work for recent Red Hat Enterprise Linux (RHEL) and Fedora.
Note: The # indicates that the command should be executed as superuser or root.
Preparation
Remove any existing packages:
# yum erase ffmpeg x264 x264-devel
Get the dependencies:
# yum install autoconf automake gcc gcc-c++ git libtool make nasm pkgconfig wget zlib-devel
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 libvorbis is not needed, then skip that section and then remove –enable-libvorbis 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 --enable-shared make # make install
libfdk_aac
AAC audio encoder.
cd ~/ffmpeg-source git clone --depth 1 git://github.com/mstorsjo/fdk-aac.git cd fdk-aac autoreconf -fiv ./configure --disable-shared make # make install
LAME
MP3 audio encoder.
cd ~/ffmpeg-source wget http://downloads.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 --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.gz tar xzvf libogg-1.3.0.tar.gz 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.3.tar.gz tar xzvf libvorbis-1.3.3.tar.gz cd libvorbis-1.3.3 ./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-nonfree --enable-gpl --enable-libfdk_aac --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 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.
Error with libx264 not found:
yum install x264-devel
yum install x264
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
cd ~/ffmpeg-source/yasm-1.2.0 # make uninstall cd ../x264 # make uninstall cd ../lame-3.99.5 # make uninstall cd ../libogg-1.3.0 # make uninstall cd ../libvorbis-1.3.3 # make uninstall cd ../libvorbis-1.3.3 # make uninstall cd ../libvpx # make uninstall cd ../ffmpeg # make uninstall rm -rf ~/ffmpeg-source # yum erase autoconf automake gcc gcc-c++ git libtool make nasm pkgconfig wget zlib-devel
This entry was posted in Centos, FFmpeg on April 30, 2013.