以下是树莓派4B编译安装FFmpeg并启用硬件加速的完整步骤:
一、安装依赖库
# 基础编译工具
sudo apt update && sudo apt install build-essential cmake git -y
# 硬件加速依赖
sudo apt install libomxil-bellagio-dev libx264-dev libmp3lame-dev libfdk-aac-dev -y
说明:
libomxil-bellagio-dev
是硬件加速核心依赖库,缺少会导致OMX编解码器无法启用
二、安装x264编码器
git clone https://code.videolan.org/videolan/x264.git
cd x264
./configure --enable-shared --enable-static --disable-cli
make -j4
sudo make install
cd ..
关键参数:
--enable-shared
生成动态链接库,避免FFmpeg编译时找不到x264
三、编译FFmpeg(启用硬件加速)
git clone https://git.ffmpeg.org/ffmpeg.git
cd ffmpeg
# 配置参数
./configure \
--arch=armel \
--target-os=linux \
--enable-gpl \
--enable-version3 \
--enable-nonfree \
--enable-libx264 \
--enable-libfdk-aac \
--enable-omx \
--enable-omx-rpi \
--enable-encoder=h264_omx \
--enable-mmal \
--enable-hwaccel=h264_mmal \
--enable-decoder=h264_mmal \
--enable-shared
# 编译安装
make -j4
sudo make install
硬件加速核心参数说明:
--enable-omx
和--enable-omx-rpi
:启用树莓派专用OpenMAX硬件加速接口--enable-mmal
:启用多媒体抽象层硬件加速--enable-encoder=h264_omx
:启用H.264硬件编码器
四、验证安装
# 查看支持的编码器
ffmpeg -encoders | grep h264_omx
# 测试硬件加速转码(示例)
ffmpeg -i input.mp4 -c:v h264_omx -b:v 2000k output.mp4
若输出中包含
h264_omx
,则硬件加速已启用
常见问题解决
- OMX_Core.h缺失:
sudo apt install libomxil-bellagio-dev
- 段错误(内存不足):
编译时改用make -j2
代替-j4
- 动态库路径问题:
echo "/usr/local/lib" | sudo tee -a /etc/ld.so.conf.d/ffmpeg.conf sudo ldconfig
性能对比
- 树莓派4B硬件加速转码速度可达纯CPU转码的3-4倍,且功耗仅约5W
- 推荐使用
-preset faster
参数平衡速度与质量
完整硬件加速参数参考:
ffmpeg -c:v h264_mmal -i input.mp4 -c:v h264_omx -b:v 3000k -preset faster output.mp4