ijkplayer - 拓展:编解码器格式、https 支持、打包 framwork

1、配置编解码器格式支持

默认为最少支持, 如果足够你使用, 可以跳过这一步. 否则可以改为以下配置:

module-default.sh 更多的编解码器/格式
module-lite-hevc.sh 较少的编解码器/格式(包括hevc)
module-lite.sh 较少的编解码器/格式(默认情况)

# 进入 config 目录
cd config

# 删除当前的 module.sh 文件
rm module.sh

# 可根据需要替换为`module-default.sh`, `module-lite-hevc.sh`, `module-lite.sh`
# 创建软链接 module.sh 指向 module-lite-hevc.sh
ln -s module-lite-hevc.sh module.sh

cd ..
cd ios
sh compile-ffmpeg.sh clean

2、添加 https 支持

最后会生成支持 https 的静态文件 libcrypto.a 和 libssl.a
# 获取 openssl 并初始化
./init-ios-openssl.sh

cd ios

# 在模块文件中添加一行配置 以启用 openssl 组件
echo 'export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-openssl"' >> ../config/module.sh

./compile-ffmpeg.sh clean
添加 openssl相关包以支持https

手动给IJKMediaFramework添加 libcrypto.a 和 libssl.a 文件, 默认不会添加

这两个依赖库的目录为:ijkplayer-ios/ios/build/universal/lib, 只有进行了上面跟 openssl 相关的操作, 才会在这个目录下有生成libcrypto.a 和libssl.a

3、打包 framwork

除了 IJKMediaFramework这个target, 还有一个叫 IJKMediaFrameworkWithSSL, 但是不推荐使用这个, 因为大部分基于 ijkplayer 的第三方框架都是使用的前者, 你把后者导入项目还是会报找不到包的错误, 就算你要支持 https 也推荐使用前者, 然后按照上一步添加 openssl即可支持

首先将debug改为release

 

 

  根据需要 编译真机 和 模拟器架构

  合并架构

  执行: lipo -create 真机framework路径 模拟器framework路径 -output 合并的文件路径

    cd 到 Products 路径下执行:

lipo -create Release-iphoneos/IJKMediaFramework.framework/IJKMediaFramework Release-iphonesimulator/IJKMediaFramework.framework/IJKMediaFramework -output IJKMediaFramework

 

  如果合并,后需要把合并后的framework替换掉Release-iphoneos中的IJKMediaFramework

  如果之前的步骤删除了compile-ffmpeg.sh中armv7,这里会报错,我们直接注释掉就好
  

  用Xcode9可以找到这个 ,但是用Xcode10\11找不到这个 ,本人用Xcode9注释完,在用Xcode10/11编译就没问题了.

  实在有需要的同学点赞留言区留邮箱。就不弄云存储了。还得维护😭。

添加系统支持库

 

 

拖进项目即可 

 

 

觉得有用的同学点个关注,或者留言评论区,看到邮件提示消息尽快回复。

 

 

 

posted @ 2020-04-23 16:02  M·emor·Y  阅读(1858)  评论(1编辑  收藏  举报