Ubuntu 编译 FFmpeg
安装依赖
1 | sudo apt-get update -qq && sudo apt-get -y install \ |
在 Ubuntu 20.04 上,额外安装:
1 | sudo apt install libunistring-dev libaom-dev libdav1d-dev |
部署
首先拉取源码:
1 | git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg_src |
配置:
1 | ./configure \ |
关于 --extra-cflags
和 --extra-ldflags
参数,适用于你的依赖不在默认路径的情况。所以网上很多教程加了这个参数,但通常其实是不需要的。
编译安装:
1 | make -j 32 |
检查是否部署成功:
记得给生成的 binaries 配置环境变量
1 | ffmpeg -hwaccels |
排障
编译过程中可能遇到一些缺失依赖问题。可以通过按照 官方文档 的步骤提前安装以规避,也可以在中途按需处理,这里我选择后者。
nasm
报错:nasm not found or too old. Please install/update nasm or use --disable-x86asm for a build without hand-optimized assembly.
参考官方文档 NASM 章节。
nvenc
报错:ERROR: nvenc requested, but not all dependencies are satisfied: ffnvcodec
参考官方文档 Hardware acceleration introduction with FFmpeg 的 NVENC 章节。
这个库本质上只是修改一些文件,速度非常快,无需
make -j
请注意,安装时切记查看 nv-codec-headers 项目主页的 README。不同驱动版本需要切换到不同的 git 分支。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 日勿の部落格!