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
中;
最终结果: