瑞芯微算法环境搭建(1)------编译ffmpeg

  • 操作系统:ubuntu20.04
  • IDE:Visual Studio Code
  • 编程语言:C++11
  • 架构:瑞芯微3568

环境准备

‌源码下载‌

  1. 获取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
相关推荐
Android系统攻城狮15 小时前
Linux FFmpeg深度解析之avcodec_parameters_copy调用流程与实战(二十五)
linux·运维·服务器·ffmpeg·音视频·车载音频
FlightYe1 天前
视界原理之3D视频(四):裸眼、眼镜和头显
android·linux·c++·3d·ffmpeg·音视频
Android系统攻城狮2 天前
Linux FFmpeg深度解析之avcodec_default_get_buffer2调用流程与实战(二十)
linux·运维·服务器·ffmpeg·音视频进阶·ffmpeg音视频
Android系统攻城狮2 天前
Linux FFmpeg深度解析之av_parser_init调用流程与实战(二十一)
linux·运维·服务器·ffmpeg·音视频进阶·ffmpeg音视频
Android系统攻城狮2 天前
Linux FFmpeg深度解析之avcodec_flush_buffers调用流程与实战(十九)
linux·运维·服务器·ffmpeg·车载音视频·ffmpeg音视频进阶
重生之我是萧炎3 天前
ffmpeg官方下载安装教程(提供安装包)
ffmpeg
zslefour3 天前
使用ffmpeg遍历获取音频文件相关信息
ffmpeg
Android系统攻城狮4 天前
Linux FFmpeg深度解析之avcodec_parameters_from_context调用流程与实战(十六)
linux·运维·ffmpeg·音视频进阶·ffmpeg音视频·车载音视频进阶
Android系统攻城狮4 天前
Linux FFmpeg深度解析之avcodec_alloc_context3调用流程与实战(十四)
linux·运维·ffmpeg·车载音视频·音视频进阶·ffmpeg音视频进阶
菜鸟小芯4 天前
【Quectel Pi M2 实战】Day3 USB 摄像头图像采集:拍照、录像与踩坑记录(V4L2 + FFmpeg)
ffmpeg·嵌入式