ubuntu/debian用户可直接通过ppa安装ffmpeg 7.0.2:执行sudo add-apt-repository ppa:jonathonf/ffmpeg-7、sudo apt update、sudo apt install ffmpeg,自动包含ffprobe、ffplay及完整libav*库,验证命令为ffmpeg -version和ffmpeg -encoders | grep aom。

Ubuntu/Debian 用户直接用 apt 装官方 PPA 提供的 ffmpeg 7.0.2 即可,不用编译;CentOS/RHEL 或需要特定编码器(如 libx265、libaom)的场景,才必须源码编译。
Ubuntu/Debian 上用 PPA 安装 FFmpeg 7.0.2
系统自带仓库的 ffmpeg 版本普遍是 4.x 或 5.x,不支持 AV1 编码、新 VP9 参数或 -c:v libsvtav1 等特性。PPA 是最省事的选择:
- 运行
sudo add-apt-repository ppa:jonathonf/ffmpeg-7,然后sudo apt update - 执行
sudo apt install ffmpeg—— 它会自动装上ffprobe、ffplay和完整libav*库 - 验证:
ffmpeg -version应输出ffmpeg version 7.0.2,且ffmpeg -encoders | grep aom能看到libaom-av1
注意:该 PPA 不适用于 Ubuntu 24.04 LTS 之后的版本(因 ABI 兼容性问题),若提示 “no installation candidate”,说明已停更,应改用静态二进制包。
用静态二进制包安装(跨发行版通用)
johnvansickle.com 提供的静态构建包自带所有依赖,解压即用,适合 CentOS、AlmaLinux、无 root 权限或容器环境:
- 下载:
wget https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz - 解压到
/opt/ffmpeg:tar -xJf ffmpeg-release-amd64-static.tar.xz -C /opt/ffmpeg --strip-components=1 - 加软链或设 PATH:
sudo ln -sf /opt/ffmpeg/ffmpeg /usr/local/bin/ffmpeg
这个包的 ffmpeg 是完全静态链接的,不依赖系统 glibc 版本,但也不支持动态加载第三方编码器(比如你自己编译的 librav1e)。运行 ldd /opt/ffmpeg/ffmpeg 应返回 “not a dynamic executable”。
PyCharm 2026.2.0.1 Linux版提供 JetBrains 官方 2026.2.0.1 版本安装包,适合需要指定 PyCharm 版本进行 Python 项目开发、运行和调试的用户。
源码编译时最容易卡住的三个点
不是 configure 失败才叫问题——很多编译成功但运行时报错(如 Unknown encoder 'libx265')才是真正坑人的地方:
-
./configure必须显式启用编码器:--enable-libx265 --enable-libaom --enable-libvpx,否则即使系统已装库,FFmpeg 也不会链接进去 -
libx265需要先用cmake编译,且必须加-DENABLE_SHARED=ON,否则 FFmpeg configure 会跳过它 - 编译完别忘了
sudo ldconfig(如果库装在/usr/local/lib)或手动加/etc/ld.so.conf.d/ffmpeg.conf,否则ffmpeg -encoders看不到新编码器
一个典型错误是:make install 后 ffmpeg -h encoder=libx265 报 “Invalid encoder”——八成是 libx265 没开 shared,或者 ldconfig 没刷新。
怎么确认你装的 FFmpeg 支持想要的功能
别只信 -version,得实测编码器和解码器是否可用:
- 查编码器:
ffmpeg -encoders | grep -E "(x265|aom|svtav1)" - 查解码器:
ffmpeg -decoders | grep av1 - 快速验证 AV1 编码:
ffmpeg -f lavfi -i testsrc=size=640x360:rate=30 -c:v libaom-av1 -frames:v 10 -y /tmp/test.av1.mp4 2>/dev/null && echo "OK"
如果某编码器列出来了却报 “Error initializing output stream”,大概率是缺少对应硬件加速驱动(如 VA-API)、权限不足(如 /dev/dri/renderD128),或用了不兼容的 preset 参数——这些不会在安装阶段暴露,只在实际转码时爆发。










