在 Ubuntu 上安装并编译上传的 ffmpeg_7.1.1.orig.tar.xz
源码包,请按照以下详细步骤操作:
步骤 1:安装编译依赖
# 更新软件包列表
sudo apt update
# 安装编译工具和基础依赖
sudo apt install -y build-essential autoconf automake cmake libtool pkg-config yasm nasm
# 安装 FFmpeg 核心依赖
sudo apt install -y \
libass-dev libfreetype6-dev libmp3lame-dev \
libopus-dev libvorbis-dev libvpx-dev libx264-dev libx265-dev \
libssl-dev zlib1g-dev libwebp-dev libxml2-dev \
libsdl2-dev libva-dev libdrm-dev
步骤 2:解压源码包
# 假设源码包在 ~/Downloads 目录
cd ~/Downloads
# 解压源码包
tar -xf ffmpeg_7.1.1.orig.tar.xz
# 进入源码目录
cd ffmpeg-7.1.1
步骤 3:配置编译选项
# 配置编译参数(启用常用功能)
./configure \
--prefix=/usr/local \
--enable-gpl \
--enable-version3 \
--enable-nonfree \
--enable-shared \
--enable-openssl \
--enable-libass \
--enable-libfreetype \
--enable-libmp3lame \
--enable-libopus \
--enable-libvorbis \
--enable-libvpx \
--enable-libx264 \
--enable-libx265 \
--enable-libwebp \
--enable-libxml2
📌 提示:
- 如需更多功能(如 NVIDIA 硬编解码),需额外安装
libnpp-dev
并添加--enable-nvenc --enable-nvdec
- 运行
./configure --help
查看所有可用选项
步骤 4:编译并安装
# 使用多核编译(根据 CPU 核心数调整 -j 参数)
make -j$(nproc)
# 安装到系统
sudo make install
# 更新动态链接库缓存
sudo ldconfig
步骤 5:验证安装
# 检查版本
ffmpeg -version
# 测试基础功能
ffmpeg -i input.mp4 -c:v libx264 -c:a aac output.mp4
常见问题解决
1. 命令未找到 (ffmpeg: command not found
)
# 添加 /usr/local/bin 到 PATH
echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
2. 动态库加载失败
# 检查库路径
sudo nano /etc/ld.so.conf.d/ffmpeg.conf
# 添加一行:/usr/local/lib
# 保存后执行:
sudo ldconfig
3. 依赖缺失错误
- 根据
./configure
输出的错误提示安装缺失依赖包 - 示例:若提示
libx265 not found
,则运行:sudo apt install libx265-dev
卸载方法
# 进入源码目录
cd ~/Downloads/ffmpeg-7.1.1
# 执行卸载
sudo make uninstall
# 手动清理残留
sudo rm /usr/local/bin/ffmpeg /usr/local/bin/ffprobe
sudo rm -rf /usr/local/share/ffmpeg
使用 FFmpeg 示例
# 转换视频格式
ffmpeg -i input.avi output.mp4
# 提取音频
ffmpeg -i video.mp4 -vn -acodec copy audio.aac
# 调整分辨率
ffmpeg -i input.mp4 -vf scale=1280:720 output.mp4
# 截取片段
ffmpeg -ss 00:01:30 -to 00:02:00 -i input.mp4 -c copy clip.mp4
⚠️ 注意:
- 源码编译安装会覆盖系统自带 FFmpeg(如有)
- 如需保留系统版本,可将
--prefix
改为自定义路径(如$HOME/ffmpeg
)并手动添加 PATH- 每次更新后都需要重新编译安装