ffmpeg 编译 过程
先 xz -d xxx.tar.xz 将 xxx.tar.xz解压成 xxx.tar
然后,再用 tar xvf xxx.tar来解包。
./configure --prefix=/usr/local/ --disable-doc --enable-version3 --enable-avfilter --enable-gpl --enable-nonfree --enable-filters --enable-runtime-cpudetect --enable-pic --enable-libx264 --enable-libmp3lame --enable-libfdk-aac --enable-shared -fPIC
安装
-
先安装 yum install openssl-devel
-
安装依赖
yum install autoconf automake cmake freetype-devel gcc gcc-c++ git libtool make mercurial nasm pkgconfig zlib-devel
- 创建源码文件夹
mkdir ~/ffmpeg_sources
- yasm
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
- x264
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
nasm (x264安装报错, 版本不支持的时候再装, 2.13以上)
// https://www.nasm.us/pub/nasm/releasebuilds/2.14/
cd ~/ffmpeg_sources
wget https://www.nasm.us/pub/nasm/releasebuilds/2.14/nasm-2.14.tar.gz
tar -zxvf nasm-2.14.tar.gz
cd nasm-2.14/
./configure
make
make install
- 安装 libx265
// https://bitbucket.org/multicoreware/x265/wiki/Home
cd ~/ffmpeg_sources
hg clone https://bitbucket.org/multicoreware/x265
cd x265/build/linux
<!--export PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" -->
cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="$HOME/ffmpeg_build" -DENABLE_SHARED:bool=off ../../source
make
make install
安装hg (x265安装报错不支持hg的时候再装)
pip install mercurial
(安装失败的话, 手动下载包,
cd ~/ffmpeg_sources
wget https://files.pythonhosted.org/packages/6a/f4/4c3d3a2bf950f3261f506284952e23cee2b62e50eb8974aa961228a95e8a/mercurial-4.8.tar.gz
tar -zxvf mercurial-4.8.tar.gz
cd mercurial-4.8
ln -s ~/ffmpeg_sources/mercurial-4.8/hg /usr/bin/hg
)
- 安装 libfdk_aac
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
cd ~/ffmpeg_sources
wget https://johnvansickle.com/ffmpeg/release-source/lame-3.99.5.tar.xz
xz -d lame-3.99.5.tar.xz
tar xvf lame-3.99.5.tar
cd lame-3.99.5
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --disable-shared --enable-nasm
make
make install
make distclean
- 安装 libopus
cd ~/ffmpeg_sources
wget https://johnvansickle.com/ffmpeg/release-source/opus-1.1.1.tar.xz
xz -d opus-1.1.1.tar.xz
tar xvf opus-1.1.1.tar
cd opus-1.1.1
autoreconf -fiv
export PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig"
./configure --prefix="$HOME/ffmpeg_build" --disable-shared
make
make install
make distclean
- 安装 libogg
cd ~/ffmpeg_sources
curl -O http://downloads.xiph.org/releases/ogg/libogg-1.3.2.tar.gz xxxxx不可用
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
cd ~/ffmpeg_sources
curl -O http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.4.tar.gz xxxxx不可用
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
cd ~/ffmpeg_sources
git clone --depth 1 https://chromium.googlesource.com/webm/libvpx.git xxxxx不可用
cd libvpx
./configure --prefix="$HOME/ffmpeg_build" --disable-examples
make
make install
make clean
- 编译安装ffmpeg
cd ~/ffmpeg_sources
wget https://johnvansickle.com/ffmpeg/release-source/ffmpeg-4.1.tar.xz
xz -d ffmpeg-4.1.tar.xz
tar xvf ffmpeg-4.1.tar
cd ffmpeg-4.1
export 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" --bindir="$HOME/bin" --extra-libs=-ldl --disable-doc --enable-version3 --enable-avfilter --enable-gpl --enable-nonfree --enable-filters --enable-runtime-cpudetect --enable-pic --enable-libmp3lame --enable-libfdk-aac --enable-libx264 --enable-libx265 --enable-libopus --enable-openssl --enable-static
make
make install
make distclean
hash -r
注:
ffmpeg 编译报错,去看日志, ffbuild/config.log
找不到opus 要安装 libopus-dev
找不到x265 /root/ffmpeg_build/lib/pkgconfig/x265.pc 增加 -lpthread 参数