0. 本文部分參考自?https://blog.csdn.net/github_35041937/article/details/80727772 及?http://www.reibang.com/p/f98db1d84d93 砖织。
1. 首先把?https://github.com/kewlbear/FFmpeg-iOS-build-script clone到本地嗤谚。
2. 修改?build-ffmpeg.sh 中?FF_VERSION="4.1.1"晚缩。
3.?添加?OPENSSL=`pwd`/openssl 帆精,此時(shí)需要在工程目錄中新建名為 openssl 的文件夾歹袁,把編譯好的 openssl 的 include 和 lib 文件夾放入其中。具體編譯方法見?http://www.reibang.com/p/6066075d3aef? 上真。
3. 添加對 https 和 openssl 的支持悦穿,在?CONFIGURE_FLAGS 后追加 --enable-protocol=https --enable-openssl?--enable-protocol=crypto --enable-protocol=tls_openssl?,如果在第二步中已經(jīng)定義?OPENSSL 的話胖齐,可以寫成如圖形式:
4. 精簡體積:如果不需要許多復(fù)雜的功能玻淑,可以在?CONFIGURE_FLAGS 中如下代碼:
CONFIGURE_FLAGS="$CONFIGURE_FLAGS --disable-decoders --enable-decoder=h264 --enable-decoder=aac"?
CONFIGURE_FLAGS="$CONFIGURE_FLAGS --disable-encoders --enable-encoder=aac --enable-encoder=mjpeg"?
CONFIGURE_FLAGS="$CONFIGURE_FLAGS --disable-filters"
CONFIGURE_FLAGS="$CONFIGURE_FLAGS --disable-muxers"
具體其他的 flag 還待研究,可以參考 ijkplayer 中的 module-lite.sh 自主選擇呀伙。
5. 添加對 openssl 的引用路徑补履,如圖:
6. 注:如果想修改最低 iOS 版本的支持,修改 DEPLOYMENT_TARGET="8.0" 即可区匠。
7. 保存后 cd 到該文件夾干像,執(zhí)行?./build-ffmpeg.sh (不要直接拖文件進(jìn)來執(zhí)行帅腌,不然導(dǎo)出的時(shí)候因?yàn)槁窂讲粚?bào)錯(cuò))驰弄。如果終端顯示 Done ,說明編譯成功速客。
8.?編譯成功后在 FFmpeg-iOS 文件夾下可得 include 和 lib 戚篙。
9. 注: 該文章里使用的 OpenSSL 版本是 1.0.2r,使用 1.1.0 及以上版本編譯時(shí)會報(bào)錯(cuò)?"ERROR: openssl not found"溺职,需要修改 FFmpeg 配置文件岔擂,具體解決方法見第二個(gè)參考文。