ffmpeg.jpg

   上一篇先后编译了 aac x264 x265 组件,是为了编译FFmpeg做铺垫的,因为编译FFmpeg 需要用到这些组件,所以这篇文章重点介绍FFmpeg 的交叉编译。

首先确定/opt 目录下是否存在以下目录,这是上篇文章里编译出来的东西,分别有

  • aac_bin fdk-acc 交叉编译库
  • x264_bin x264 交叉编译库
  • x265_bin x265 交叉编译库

ls_output.png

(不需要x265 的话可以不编译)

下载FFmpeg 源码,放到 /opt/FFmpeg_source 目录中,我这里是从github 仓库拉下来的最新源码,大概300M,开了富强也需要很长时间,需要的朋友可以在下面留言。

解压、进入目录

cd /opt/ffmpeg_source
git clone https://github.com/FFmpeg/FFmpeg.git
cd FFmpeg

进到主目录,即可执行./configure命令,配置编译常数,生成Makefile

./configure --prefix=/opt/ffmpeg_build \
  --enable-cross-compile \
  --cross-prefix=arm-linux-gnueabihf- \
  --arch=armel \
  --target-os=linux \
  --enable-gpl \
  --enable-nonfree \
  --enable-libx264 \
  --enable-libx265 \
  --enable-libfdk-aac \
  --pkg-config-flags=--static \
  --enable-shared \
  --extra-cflags="-I/opt/aac_bin/include -I/opt/x264/include -I/opt/x265/include" \
  --extra-ldflags="-L/opt/aac_bin/lib -I/opt/x264/lib -I/opt/x265/lib"  \
  --extra-libs=-ldl

ffmpeg_config_succ.png
(配置成功)

然后

make -j4
make install

ffmpeg_make.png
(编译成功)


ffmpeg_make_install.png
(安装成功)

安装成功后,会在/opt/ffmpeg_build下生成4个文件夹,如下图所示:

ffmpeg_succ.png

查看bin目录下文件信息,显示为32位ARM嵌入式端执行文件:

file_ffmpeg.png

至此,关于FFmpeg 的交叉编译就全部完成了,接下来就可以将编译生成的文件放入buildroot对应目录中,即可随系统镜像一起打包编译

最后修改:2020 年 08 月 22 日
您的支持就是我持续更新的动力!