原网址:https://trac.ffmpeg.org/wiki/CompilationGuide/Centos
获取依赖关系
注意:#表示该命令应以超级用户或root身份执行,并且仅在本指南中为yum命令所需。
获取依赖关系 这些是编译所需的,但是可以根据您的喜好在完成以上操作后,则可以将其删除(除了make;默认情况下应该安装,许多事情取决于它)。
# yum install autoconf automake bzip2 cmake freetype-devel gcc gcc-c++ git libtool make mercurial nasm pkgconfig zlib-devel
注意:安装x264的时候执行./configure可能提示nasm版本较低,下面有nasm的安装步骤,不提示出错的情况下不需要重新安装nasm
在你的主目录中创建一个新目录,将所有的源代码放入:
mkdir ~/ffmpeg_sources
编译安装
注意:如果您不需要某些编码器,可以跳过相关部分,然后在FFmpeg中删除相应的./configure选项。 例如,如果不需要libvorbis,请跳过该部分,然后从Install FFmpeg部分中删除–enable-libvorbis。
Nasm
cd ~/ffmpeg_sources
curl -L -O http://www.nasm.us/pub/nasm/releasebuilds/2.13.01/nasm-2.13.01.tar.gz
tar xvf nasm-2.13.01.tar.gz
cd nasm-2.13.01
./configure
make
make install
Yasm
Yasm是x264和FFmpeg使用的汇编器。
cd ~/ffmpeg_sources
git clone --depth 1 git://github.com/yasm/yasm.git
cd yasm
autoreconf -fiv
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin"
make
make install
echo
注意:最后的echo只是一个多余命令,因为一些用户在复制和粘贴每个代码块时忘记手动执行最后一个命令。
libx264
H.264视频编码器。 有关更多信息和使用示例,请参阅“H.264编码指南”。
需要使用–enable-gpl –enable-libx264配置ffmpeg。
cd ~/ffmpeg_sources
git clone --depth 1 git://git.videolan.org/x264
cd x264
PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig"
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static
//出错时 请进行下一步安装最新版nasm
make
make install
echo
安装X264未出错则不需要安装Nasm
cd ~/ffmpeg_sources
curl -L -O http://www.nasm.us/pub/nasm/releasebuilds/2.13.01/nasm-2.13.01.tar.gz
tar xvf nasm-2.13.01.tar.gz
cd nasm-2.13.01
./configure
make
make install
libx265
H.265 / HEVC视频编码器。 有关更多信息和使用示例,请参见“H.265编码指南”。
需要使用–enable-gpl –enable-libx265配置ffmpeg。
cd ~/ffmpeg_sources
hg clone https://bitbucket.org/multicoreware/x265
cd ~/ffmpeg_sources/x265/build/linux
cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="$HOME/ffmpeg_build" -DENABLE_SHARED:bool=off ../../source
make
make install
echo
注意下载x265可能不成功,采用另外一种方式获得curl -L -O http://ftp.videolan.org/pub/videolan/x265/x265_2.4.tar.gz
libfdk_aac
AAC音频编码器。
需要ffmpeg配置为–enable-libfdk_aac(如果还包括–enable-gpl,则为–enable-nonfree)。
cd ~/ffmpeg_sources
git clone --depth 1 git://git.code.sf.net/p/opencore-amr/fdk-aac
cd fdk-aac
autoreconf -fiv
./configure --prefix="$HOME/ffmpeg_build" --disable-shared
make
make install
echo
libmp3lame
MP3音频编码器。
需要使用–enable-libmp3lame配置ffmpeg。
cd ~/ffmpeg_sources
curl -L -O 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 --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --disable-shared --enable-nasm
make
make install
echo
libopus
Opus音频解码器和编码器。
需要使用–enable-libopus来配置ffmpeg。
cd ~/ffmpeg_sources
git clone http://git.opus-codec.org/opus.git
cd opus
autoreconf -fiv
PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure --prefix="$HOME/ffmpeg_build" --disable-shared
make
make install
echo
注意:下载源码包可能不成功,使用这条命令curl -L -O http://downloads.xiph.org/releases/opus/opus-1.1.4.tar.gz
libogg
Ogg比特流库。 需要libtheora和libvorbis。
cd ~/ffmpeg_sources
curl -O 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 --prefix="$HOME/ffmpeg_build" --disable-shared
make
make install
echo
libvorbis
Vorbis音频编码器。 需要libogg。
需要使用–enable-libvorbis配置ffmpeg。
cd ~/ffmpeg_sources
curl -O http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.4.tar.gz
tar xzvf libvorbis-1.3.4.tar.gz
cd libvorbis-1.3.4
./configure --prefix="$HOME/ffmpeg_build" --with-ogg="$HOME/ffmpeg_build" --disable-shared
make
make install
echo
libvpx
VP8 / VP9视频编码器。
需要使用–enable-libvpx配置ffmpeg。
cd ~/ffmpeg_sources
git clone --depth 1 https://chromium.googlesource.com/webm/libvpx.git
cd libvpx
./configure --prefix="$HOME/ffmpeg_build" --disable-examples
make
make install
echo
注意:下载libvpx总是失败,从其他地方下载的源码搬移出问题,未解决,故这项没有配置,最后vp8/vp9是不可以使用的
FFmpeg
cd ~/ffmpeg_sources
curl -O http://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2
tar xjvf ffmpeg-snapshot.tar.bz2
cd ffmpeg
PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure --prefix="$HOME/ffmpeg_build" --extra-cflags="-I$HOME/ffmpeg_build/include" --extra-ldflags="-L$HOME/ffmpeg_build/lib -ldl" --bindir="$HOME/bin" --pkg-config-flags="--static" --enable-gpl --enable-nonfree --enable-libfdk_aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265
make
make install
hash -r
注意:若没有配置libvpx 就删除以下内容 –enable-libvpx
编译现在已经完成,ffmpeg(也就是ffprobe,ffserver,lame和x264)现在应该可以使用了。