源码编译安装FFmpeg
下面是从源码编译安装 FFmpeg 的完整流程涵盖LinuxUbuntu/CentOS 和WindowsMSYS2 MinGW-w64。macOS 流程与 Linux 类似用 Homebrew 装依赖后相同 configuremake 即可。 Linux 从源码编译安装 FFmpeg以 Ubuntu/Debian 为例CentOS/RHEL 会注明差异。1. 安装编译工具与依赖# Ubuntu / Debian sudo apt update sudo apt install -y build-essential nasm yasm \ pkg-config autoconf automake libtool git cmake \ libx264-dev libx265-dev libvpx-dev libaom-dev \ libfdk-aac-dev libmp3lame-dev libopus-dev \ libdav1d-dev libass-dev libfreetype6-dev \ libsdl2-dev zlib1g-dev # CentOS / Rocky / AlmaLinux sudo dnf groupinstall Development Tools sudo dnf install -y epel-release sudo dnf install -y nasm yasm pkg-config autoconf automake \ libtool git cmake x264-devel x265-devel libvpx-devel \ aom-devel fdk-aac-devel lame-devel opus-devel \ dav1d-devel libass-devel freetype-devel SDL2-devel zlib-devel2. 获取 FFmpeg 源码# 推荐用官方 Git也可去 https://ffmpeg.org/download.html 下载 tar.xz git clone https://git.ffmpeg.org/ffmpeg.git ~/ffmpeg-src cd ~/ffmpeg-src # 可选切换到稳定分支如 6.1 # git checkout release/6.13. 配置./configure常用生产配置示例安装到/usr/local/ffmpeg./configure \ --prefix/usr/local/ffmpeg \ --enable-gpl \ --enable-nonfree \ --enable-libx264 \ --enable-libx265 \ --enable-libvpx \ --enable-libfdk-aac \ --enable-libmp3lame \ --enable-libopus \ --enable-libdav1d \ --enable-libass \ --enable-sdl2 \ --enable-shared \ --disable-static查看全部选项./configure --help--enable-gpl启用 GPL 代码x264/x265 必须--enable-nonfree允许 libfdk-aac生成物不可再分发--enable-shared生成动态库去掉则只编静态4. 编译并安装make -j$(nproc) sudo make install5. 配置动态库与 PATH# 让系统能找到 libavcodec.so 等 echo /usr/local/ffmpeg/lib | sudo tee /etc/ld.so.conf.d/ffmpeg.conf sudo ldconfig # 添加 ffmpeg/ffprobe 到 PATH写入 ~/.bashrc 或 ~/.zshrc export PATH/usr/local/ffmpeg/bin:$PATH验证ffmpeg -version Windows 从源码编译MSYS2 MinGW-w64推荐1. 安装 MSYS2下载安装MSYS2按引导装完重启 MSYS2。2. 安装工具链与依赖打开MSYS2 MINGW64 Shell# 更新包数据库 pacman -Syu # 安装 MinGW-w64 工具链、汇编器、SDL2 pacman -S --needed \ mingw-w64-x86_64-toolchain \ mingw-w64-x86_64-nasm \ mingw-w64-x86_64-yasm \ mingw-w64-x86_64-SDL2 \ make pkgconf diffutils git⚠️ 后续所有操作必须在 MINGW64 Shell 里执行不要用 MSYS Shell。3. 获取源码git clone https://git.ffmpeg.org/ffmpeg.git ~/ffmpeg-src cd ~/ffmpeg-src4. 配置./configure \ --prefix/mingw64/ffmpeg-build \ --target-osmingw32 \ --archx86_64 \ --enable-gpl \ --enable-libx264 \ --enable-libx265 \ --enable-libmp3lame \ --enable-libopus \ --enable-shared \ --disable-static若只需可执行文件不含外部库可简化为./configure --prefix/mingw64/ffmpeg-build --enable-gpl --enable-shared5. 编译并安装make -j$(nproc) make install编译产物在 C:\msys64\mingw64\ffmpeg-build\bin含 ffmpeg.exe、ffprobe.exe 及 .dll将该 bin 目录加入 Windows 系统PATH 即可在 CMD/PowerShell 调用。MSVC 方式进阶需 VS 命令行 MSYS2 提供 nasm./configure --toolchainmsvc --enable-shared后用nmake代替 make。 常见坑提示问题说明nasm/yasm not found未装 nasm/yasm或 PATH 未识别libx264 not found忘了--enable-gpl或没装 libx264-deverror while loading shared libraries(Linux)没执行ldconfig或 prefix/lib 不在/etc/ld.so.conf.d/Windows 缺 DLLffmpeg.exe 旁需有 avcodec-xx.dll 等或把 build/bin 加进 PATH编译很慢正常FFmpeg 模块多用make -j$(nproc)多核加速如果你有特定需求如开启NVIDIA NVENC / Intel QSV / VAAPI 硬件加速、只编静态库、或指定某版本告诉我系统和需求我可以给你精确 configure 参数。