1. 下载源码
地址:
https://ffmpeg.org/download.html
首先安装依赖库:
apt -y install autoconf automake libass-dev libfreetype6-dev libsdl2-dev libtool libva-dev libvdpau-dev libvorbis-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev pkg-config texinfo zlib1g-dev
# 汇编库
apt -y install yasm nasm
# 视频库
apt -y install libx264-dev libx265-dev
# 音频库
apt -y install libfdk-aac-dev libmp3lame-dev libopus-dev
2. 编译安装
2.1 安装在默认目录(推荐)
编译:
cd ffmpeg-5.1.3
./configure --enable-ffplay --enable-libx264 --enable-libx265 --enable-pic --enable-libvorbis --enable-libass --enable-nonfree --enable-libass --enable-libfreetype --enable-libfdk-aac --enable-shared --enable-gpl --enable-libmp3lame --enable-libopus --disable-x86asm
make -j16
make install
配置环境:
vim ~/.bashrc
在此文件的最后一行添加路径:
export LD_LIBRARY_PATH=/usr/local/lib:${LD_LIBRARY_PATH}
然后执行:
source ~/.bashrc
以使配置生效。
查看版本:
ffmpeg -version
2.2 安装在自定义目录
编译:
cd ffmpeg-5.1.3
./configure --prefix=/usr/local/ffmpeg --extra-cflags="-I/usr/local/include" --extra-ldflags="-L/usr/local/lib" --enable-ffplay --enable-libx264 --enable-libx265 --enable-pic --enable-libvorbis --enable-libass --enable-nonfree --enable-libass --enable-libfreetype --enable-libfdk-aac --enable-shared --enable-gpl --enable-libmp3lame --enable-libopus --disable-x86asm
make -j16
make install
配置环境:
安装在自定义目录,如果需要使用ffmpeg指令的话,需要配置FFmpeg依赖环境:
vim ~/.bashrc
在此文件的最后一行添加路径:
export LD_LIBRARY_PATH=/usr/local/ffmpeg/lib:${LD_LIBRARY_PATH}
export PATH=/usr/local/ffmpeg/bin:$PATH
然后执行
source ~/.bashrc
以使配置生效。
查看版本:
ffmpeg -version
2.3 部分编译参数解释
–enable-debug=3 能用来调试,
–disable-static –enable-shared 不生成静态库,生成动态库
3. 问题
(1) 报错:asm/yasm not found or too old. Use –disable-x86asm for a crippled build
需要先安装 yasm
(2) 缺少ffplay
需要安装 sdl2
sudo apt install sdl2
(不确定,要用apt search sdl2 搜索一下) 或者
brew install sdl2
(mac下试过可行)
修改
config.h
中的
#define CONFIG_FFPLAY 0
改为
#define CONFIG_FFPLAY 1