1.编译FFmpeg (不含libx264\libx265\libmp3lame\fdk_aac )
Ffmpeg官网 http://ffmpeg.org/
下载地址 https://ffmpeg.org/releases/ffmpeg-4.2.3.tar.bz2
Step1 下载编译脚本
FFmpeg-iOS-build-script
这里我们采用网上一个大牛写的脚本,直接下载后,执行 命令即可获得相应的lib库;
Step2 执行脚本得到lib
sh build-ffmpeg-iOS-framework.sh
可以修改 build-ffmpeg-iOS-framework.sh脚本中的 架构参数 ARCHS="arm64 armv7 i386 x86_64" 来获取想要的ARM支持;
编译结果:

2.编译libx264
Step1 下载libx264源码 和 编译脚本
x264源码: https://code.videolan.org/videolan/x264/-/archive/stable/x264-stable.tar.gz
x264编译脚本 FFmpeg-libx264-build-shell
Step3 执行编译脚本
sh build-x264.sh
同样可以修改 ARCHS="arm64 armv7 i386 x86_64" 来获取自己想要的ARM 架构;
编译后的结果:

3.编译libmp3lame
Step1 下载libmp3lame源码 和 编译脚本
libmp3lame源码:https://jaist.dl.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz
libmp3lame编译脚本:https://github.com/kewlbear/lame-ios-build
Step2 执行编译脚本
sh build-lame.sh
编译结果

4.编译fdk_aac
Step1 下载fdk_aac源码 和编译脚本
fdk_aac源码:https://codeload.github.com/kewlbear/fdk-aac-build-script-for-iOS/zip/refs/heads/master
fdk_aac编译脚本:https://github.com/kewlbear/fdk-aac-build-script-for-iOS
Step2 执行编译脚本
sh build-fdk-aac.sh
编译结果:

5.交叉编译FFmpeg (含libx264\libx265\libmp3lame\fdk_aac )
Step1 lib库收集
将libx264编译后的静态库放到 build-ffmpeg-iOS-framework.h 同级目录
将libmp3lame编译后的静态库放到 build-ffmpeg-iOS-framework.h 同级目录
将fdk_aac编译后的静态库放到 build-ffmpeg-iOS-framework.h 同级目录
Step2 脚本修改
修改ffmpeg-build.sh脚本 ,打开X264 和FDK_AAC的注释表示交叉编译 X264 和 FDK_AAC;
增加MP3_LAME参数并修改脚本,脚本修改后的放在文章尾部以供参考
MP3_LAME=`pwd`/fat-lame
Setp3 执行编译脚本
执行脚本,且没有报错的情况下,进行第四步;
sh build-ffmpeg-iOS-framework.sh

Setp4 汇总贬编译静态库
执行成功后,此时 文件夹内没有libx264、mp3lame、fdk_aac,需要将他们汇总到FFmpeg-iOS 中(第四步)
将fat-lame文件夹的include 和 lib 分别放置到FFmpeg-iOS的 include 和 lib 中;
将fat-x264 文件夹的 include 和 lib分别放置到FFmpeg-iOS的 include 和 lib中;
将 fdk-aac-ios 文件夹的include 和 lib 分别放置到FFmpeg-iOS 的 include 和 lib中;
最终结果:
