上一篇先后编译了 aac x264 x265 组件,是为了编译FFmpeg做铺垫的,因为编译FFmpeg 需要用到这些组件,所以这篇文章重点介绍FFmpeg 的交叉编译。
首先确定/opt
目录下是否存在以下目录,这是上篇文章里编译出来的东西,分别有
- aac_bin fdk-acc 交叉编译库
- x264_bin x264 交叉编译库
- x265_bin x265 交叉编译库
(不需要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
(配置成功)
然后
make -j4
make install
(编译成功)
(安装成功)
安装成功后,会在/opt/ffmpeg_build
下生成4个文件夹,如下图所示:
查看bin
目录下文件信息,显示为32位ARM嵌入式端执行文件:
至此,关于FFmpeg 的交叉编译就全部完成了,接下来就可以将编译生成的文件放入buildroot对应目录中,即可随系统镜像一起打包编译
版权属于:编码书生
本文链接:https://codess.cc/archives/440.html
所有原创文章采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可。
除特别注明,您可以自由的转载和修改,但请务必注明文章来源且不可用于商业目的。