我曾经在VPS上用youtube-dl下载YouTube视频,但很多情况下需要调用ffmpeg处理音视频,所以曾在centos系统下折腾过很多次编译安装最新版的ffmpeg。这种方式过程比较多,需要有耐心,更需要耐心解决下可能出现的问题。在这里,我把我多次编译安装的经验记录下来,尤其是下边三个重要提醒!
重要提醒一,需要openssl功能,要先安装 yum install openssl-devel
重要提醒二, 最好先查看是否有swap空间,没有的话,增加虚拟内存
重要提醒三,如果某一个功能安装失败的话,在最后的./configure步骤,可以考虑去删除相应的编译参数(可能不影响正常使用),否则会导致整个ffmpeg安装失败。
下面根据ffmpeg官网给出的guide,结合实际情况,记录一下我的成功安装步骤
第一,安装依赖
1 |
yum install autoconf automake cmake freetype-devel gcc gcc-c++ git libtool make mercurial nasm pkgconfig zlib-devel |
第二,创建源码文件夹
1 |
mkdir ~/ffmpeg_sources |
第三,安装 Yasm
1 2 3 4 5 6 7 8 |
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 make distclean |
第四,安装 libx264
1 2 3 4 5 6 7 8 |
cd ~/ffmpeg_sources git clone --depth 1 git://git.videolan.org/x264 cd x264 export PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static make make install make distclean |
第五,安装 libx265
1 2 3 4 5 6 |
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 |
第六,安装 libfdk_aac
1 2 3 4 5 6 7 8 |
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 make distclean |
第七,安装 libmp3lame
1 2 3 4 5 6 7 8 |
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 make distclean |
第八,安装 libopus
1 2 3 4 5 6 7 8 9 |
cd ~/ffmpeg_sources git clone http://git.opus-codec.org/opus.git cd opus autoreconf -fiv export PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure --prefix="$HOME/ffmpeg_build" --disable-shared make make install make distclean |
第九,安装 libogg
1 2 3 4 5 6 7 8 |
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 make distclean |
第十,安装 libvorbis
1 2 3 4 5 6 7 8 9 10 |
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 LDFLAGS="-L$HOME/ffmeg_build/lib" CPPFLAGS="-I$HOME/ffmpeg_build/include" ./configure --prefix="$HOME/ffmpeg_build" --with-ogg="$HOME/ffmpeg_build" --disable-shared make make install make distclean |
第十一,安装 libvpx
1 2 3 4 5 6 7 |
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 make clean |
第十二,编译安装ffmpeg
1 2 3 4 5 6 7 8 9 10 |
cd ~/ffmpeg_sources git clone --depth 1 git://source.ffmpeg.org/ffmpeg cd ffmpeg PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" export PKG_CONFIG_PATH ./configure --prefix="$HOME/ffmpeg_build" --extra-cflags="-I$HOME/ffmpeg_build/include" --extra-ldflags="-L$HOME/ffmpeg_build/lib" --bindir="$HOME/bin" --extra-libs=-ldl --enable-gpl --enable-nonfree --enable-libfdk_aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-openssl make make install make distclean hash -r |
这个步骤结束之后,如果你打出ffmpeg这个命令并回车,出现ffmpeg版本信息时,就证明你编译安装成功了。(如果你用的centos最新版本,安装成功率可能更高一些)