大致步骤按照官方文档操作就行。但是使用xcode9以后的版本编译会出现以下几个问题。
1.如果显示错误是关于armv7的错误(如:./libavutil/arm/asm.S:50:9: error: unknown directive .arch armv7-a),是因为xcode9以后对于32位不再支持。
解决方法可以有以下几种:
(1)下载使用xcode9版本编译,编译前需要选择Xcode版本 sudo xcode-select -s /Applications/Xcode9.1.app/Contents/Developer,根据自己版本修改位置和版本号。
(2)如果是xcode13之前版本,可以修改ios文件夹下的compile-ffmpeg.sh里边第24行为FF_ALL_ARCHS_IOS8_SDK="arm64 i386 x86_64”,其实就是删除掉了armv7。但是到了xcode13以后必须按照下面这位大神的操作才可以 传送门
(3)如果不想修改任何编译脚本,也不想下载xcode9。这个时候可以在编译的时候不选择 ./compile-ffmpeg.sh all 而是使用 ./compile-ffmpeg.sh arm64 这样只编译64位的系统, 这样编译起来也快。
兼容SSL
如果需要兼容ssl的话,需要先执行compile-openssl.sh脚本, ./compile-openssl.sh all。
然后在执行./compile-ffmpeg.sh这个脚本
网上有人说兼容SSL需要在config文件夹下的module.sh指向的脚本添加一行如下:
export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-openssl”。但是我自己编译的库是不需要添加这一行也能够正常播放https地址的链接。
网友评论