安装 SDL2
ffplay 依赖 SDL,如果没有 SDL,将不会编译 ffplay。SDL2 可以源码编译安装,也可以 apt 安装(推荐)。
sudo apt install libsdl2-dev
查看安装后头文件位置
whereis SDL2
# 输出
SDL2: /usr/include/SDL2
安装 yasm
yasm 用于对汇编优化的支持,若不需要汇编优化的支持,可在编译选项中关闭 yasm 即可(–disable-yasm)
sudo apt install yasm
安装 libx264
git clone https://code.videolan.org/videolan/x264.git
如果是在 docker 中下载肯能会遇到证书问题
server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none
只需要在命令前加上 GIT_SSL_NO_VERIFY=1
安装
cd x264
mkdir build && cd build
./../configure --prefix=/usr/local/x264 --enable-shared --disable-asm
make
make install
在 ~/.bashrc 中添加
export PATH=/usr/local/x264/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/x264/lib:$LD_LIBRARY_PATH
安装 FFmpeg
wget https://www.ffmpeg.org/releases/ffmpeg-4.3.1.tar.gz
下载后解压
tar zxf ffmpeg-4.3.1.tar.gz
cd ffmpeg-4.3.1
为了不污染源码,新建 build 文件夹,在里面执行 configure 和 make 操作。--enable-shared
是为了生成 so 动态库。
mkdir build && cd build
./../configure --prefix=/usr/local/ffmpeg --enable-shared --enable-libx264 --enable-gpl
make
sudo make install
如果报错找不到 x264,在 ./../configure
前面加 PKG_CONFIG_PATH=/usr/local/x264/lib/pkgconfig
在 ~/.bashrc 中添加
export PATH=/usr/local/ffmpeg/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/ffmpeg/lib:$LD_LIBRARY_PATH
使 ~/.bashrc 重新生效
source ~/.bashrc
测试
ffmpeg -version
ffplay -version
查看依赖库
cd /usr/local/bin
ldd ffmpeg
卸载
进入 build 文件夹,执行
sudo make uninstall