- 操作系统:ubuntu20.04
- IDE:Visual Studio Code
- 编程语言:C++11
- 架构:瑞芯微3568
环境准备
源码下载
- 获取FFmpeg 4.2源码并解压:
bash
wget https://ffmpeg.org/releases/ffmpeg-4.2.tar.gz
tar -xzf ffmpeg-4.2.tar.gz && cd ffmpeg-4.2
2.依赖库配置
推荐编译x264以支持H.264编码(需提前下载源码):
首先修改权限:
bash
cd x264
chmod a+x configure config.guess config.sub
再进行编译x264源码:
bash
./configure --enable-static --enable-shared --enable-pic --host=aarch64-linux-gnu
make -j$(nproc) && sudo make install
当出现以下输出内容时,说明编译安装x264完成:
bash
install -d /usr/local/bin
install x264 /usr/local/bin
install -d /usr/local/include /usr/local/lib/pkgconfig
install -m 644 ./x264.h x264_config.h /usr/local/include
install -m 644 x264.pc /usr/local/lib/pkgconfig
install -d /usr/local/lib
ln -f -s libx264.so.157 /usr/local/lib/libx264.so
install -m 755 libx264.so.157 /usr/local/lib
install -d /usr/local/lib
install -m 644 libx264.a /usr/local/lib
gcc-ranlib /usr/local/lib/libx264.a
编译配置
启用RK3568硬件加速
通过--enable-libdrm和--enable-v4l2_m2m激活视频编解码硬件加速:
bash
./configure \
--prefix=/usr/local/ffmpeg4.2 \
--enable-shared \
--enable-libx264 \
--enable-gpl \
--enable-libdrm \
--enable-v4l2_m2m \
--extra-cflags="-I/usr/local/x264/include" \
--extra-ldflags="-L/usr/local/x264/lib"
make clean
make -j8
make install
若需OpenCL支持GPU加速,添加--enable-opencl参数3。
可能会有sh文件的permission denied提示,可以通过chmod a+x去修改sh文件的权限
然后就是漫长的等待。。。。。。。。。。。。。
最后看到下面这样的输出,差不多就编译安装完了。
bash
NSTALL libavutil/twofish.h
INSTALL libavutil/version.h
INSTALL libavutil/xtea.h
INSTALL libavutil/tea.h
INSTALL libavutil/tx.h
INSTALL libavutil/lzo.h
INSTALL libavutil/avconfig.h
INSTALL libavutil/ffversion.h
INSTALL libavutil/libavutil.pc