centos 编译安装 ffmpeg 7.0.2 :连接
下载 FFmpeg 源代码 在文章最后
一、在CentOS上编译安装FFmpeg
以常见的CentOS为例,FFmpeg的编译说明页面为https://trac.ffmpeg.org/wiki/CompilationGuide/Centos,这里给出了在CentOS上编译安装FFmpeg的详细步骤。
部署需要的 下载的文件都放在阿里云 oss 上了
1、安装工具包
根据FFmpeg官网的说明,首先要通过yum安装下列工具:
yum install autoconf automake bzip2 bzip2-devel cmake freetype-devel gcc gcc-c++ git libtool make pkgconfig zlib-devel
然后创建 一个版本的 目录
mkdir /opt/ffmpeg/ffmpeg7.0.2
然后
cd /opt/ffmpeg/ffmpeg7.0.2
mkdir ffmpeg_sources
mkdir ffmpeg_build
mkdir bin
ffmpeg_sources– 源文件的下载位置。如果需要,可以在完成指南后删除此 URL。
ffmpeg_build– 构建文件和安装库的位置。
bin– 将安装生成的二进制文件 (、、、) 的位置。ffmpegffprobex264x265
2、安装NASM
某些库使用的汇编程序。强烈建议使用,否则生成的版本可能会非常缓慢。
NASM的编译和安装命令如下:
cd ~/ffmpeg_sources
curl -O -L https://www.nasm.us/pub/nasm/releasebuilds/2.15.05/nasm-2.15.05.tar.bz2
tar xjvf nasm-2.15.05.tar.bz2
cd nasm-2.15.05
./autogen.sh
./configure --prefix="/opt/ffmpeg/ffmpeg7.0.2/ffmpeg_build" --bindir="/opt/ffmpeg/ffmpeg7.0.2/bin"
make
make install
运行 autogen.sh 的截图
运行 configure 后 的截图:
3、安装Yasm
某些库使用的汇编程序。强烈建议使用,否则生成的版本可能会非常缓慢。
Yasm的编译和安装命令如下:
cd ~/ffmpeg_sources
curl -O -L https://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
tar xzvf yasm-1.3.0.tar.gz
cd yasm-1.3.0
./configure --prefix="/opt/ffmpeg/ffmpeg7.0.2/ffmpeg_build" --bindir="/opt/ffmpeg/ffmpeg7.0.2/bin"
make
make install
4、安装libx264
H.264视频编码器。libx264依赖nasm-2.13以上版本。需要FFmpeg增加配置选项“ --enable-gpl --enable-libx264”。
libx264的编译和安装命令如下:
先对 做个软连接 nasm ,
ln /opt/ffmpeg/ffmpeg7.0.2/bin/nasm /usr/bin/nasm
不然下边的编译报错,找不到它
cd ~/ffmpeg_sources
git clone --branch stable --depth 1 https://code.videolan.org/videolan/x264.git
cd x264
PKG_CONFIG_PATH="/opt/ffmpeg/ffmpeg7.0.2/ffmpeg_build/lib/pkgconfig" ./configure --prefix="/opt/ffmpeg/ffmpeg7.0.2/ffmpeg_build" --bindir="/opt/ffmpeg/ffmpeg7.0.2/bin" --enable-static
make
make install
5、安装libx265
H.265/HEVC视频编码器。如果需要FFmpeg增加配置选项“ --enable-gpl --enable-libx265 ,必须安装libx265
libx265的编译和安装命令如下:
cd ~/ffmpeg_sources
git clone --branch stable --depth 2 https://bitbucket.org/multicoreware/x265_git
cd /opt/ffmpeg/ffmpeg7.0.2/ffmpeg_sources/x265_git/build/linux
cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="/opt/ffmpeg/ffmpeg7.0.2/ffmpeg_build" -DENABLE_SHARED:bool=off ../../source
make
make install
6、安装libfdk_aac
AAC音频编码器。需要FFmpeg增加配置选项“ --enable-nonfree --enable-libfdk_aac”。
libfdk_aac的编译和安装命令如下
cd ~/ffmpeg_sources
git clone --depth 1 https://github.com/mstorsjo/fdk-aac
cd fdk-aac
autoreconf -fiv
./configure --prefix="/opt/ffmpeg/ffmpeg7.0.2/ffmpeg_build" --disable-shared
make
make install
7、安装libmp3lame
MP3音频编码器。需要FFmpeg增加配置选项“ --enable-libmp3lame”。
libmp3lame的编译和安装命令如下:
cd ~/ffmpeg_sources
curl -O -L https://downloads.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz
tar xzvf lame-3.100.tar.gz
cd lame-3.100
./configure --prefix="/opt/ffmpeg/ffmpeg7.0.2/ffmpeg_build" --bindir="/opt/ffmpeg/ffmpeg7.0.2/bin" --disable-shared --enable-nasm
make
make install
8、安装libopus
Opus音频解码器和编码器。需要FFmpeg增加配置选项“ --enable-libopus”。
libopus的编译和安装命令如下:
cd ~/ffmpeg_sources
curl -O -L https://archive.mozilla.org/pub/opus/opus-1.3.1.tar.gz
tar xzvf opus-1.3.1.tar.gz
cd opus-1.3.1
./configure --prefix="/opt/ffmpeg/ffmpeg7.0.2/ffmpeg_build" --disable-shared
make
make install
9、安装libvpx
VP8/VP9视频编码器和解码器。需要FFmpeg增加配置选项“ --enable-libvpx”。
libvpx的编译和安装命令如下:
需要做个软连接:
ln -s /opt/ffmpeg/ffmpeg7.0.2/bin/yasm /usr/bin/yasm
cd ~/ffmpeg_sources
git clone --depth 1 https://chromium.googlesource.com/webm/libvpx.git
cd libvpx
./configure --prefix="/opt/ffmpeg/ffmpeg7.0.2/ffmpeg_build" --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=yasm
make
make install
注意: 在 alios 上出错
需要安装
yum install -y devtoolset-9-gcc devtoolset-9-gcc-c++
10、安装FFmpeg
下载 FFmpeg 源代码
从 FFmpeg 官方 Git 仓库或其官网获取源代码。
cd ~
git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg
cd ffmpeg
如果你不想使用 Git,可以直接从官网下载压缩包:
wget https://ffmpeg.org/releases/ffmpeg-7.0.2.tar.gz
tar xf ffmpeg-7.0.2.tar.gz
FFmpeg的编译和安装命令如下:
cd ffmpeg-7.0.2/
PATH="/opt/ffmpeg/ffmpeg7.0.2/bin:$PATH" PKG_CONFIG_PATH="/opt/ffmpeg/ffmpeg7.0.2/ffmpeg_build/lib/pkgconfig" ./configure \
--prefix="/opt/ffmpeg/ffmpeg7.0.2/ffmpeg_build" \
--pkg-config-flags="--static" \
--extra-cflags="-I/opt/ffmpeg/ffmpeg7.0.2/ffmpeg_build/include" \
--extra-ldflags="-L/opt/ffmpeg/ffmpeg7.0.2/ffmpeg_build/lib" \
--extra-libs=-lpthread \
--extra-libs=-lm \
--bindir="/opt/ffmpeg/ffmpeg7.0.2/bin" \
--enable-gpl \
--enable-libfdk_aac \
--enable-libfreetype \
--enable-libmp3lame \
--enable-libopus \
--enable-libvpx \
--enable-libx264 \
--enable-libx265 \
--enable-nonfree
make
make install
成功:如下图:
配置环境变量:
vi /etc/profile
export LD_LIBRARY_PATH=/opt/ffmpeg/ffmpeg7.0.2/ffmpeg_build/lib:$LD_LIBRARY_PATH
export PATH=$PATH:/opt/ffmpeg/ffmpeg7.0.2/bin/
source /etc/profile
验证:
ffmpeg -version
---
Operating System: os 上安装 出现的问题
--enable-libvpx \ 这个库编译失败,最后没有带
总是提示 /usr/include 缺少文件。
欢迎来撩 : 汇总all