Skip to content
sunjian283019 edited this page Sep 20, 2016 · 32 revisions

release-libKSYLive.sh编译脚本使用方法如下:

1.pod install之后,KSYLive_iOS的目录结构如下图所示: SEQ

2.cd 进入releaseFramework SEQ

3.编译frameWork ./release-libKSYLive.sh

例:./release-libKSYLive.sh libksygpulive 265 编译一个名为libksygpulive.framework的静态推流库,其支持H265编码

SEQ 4.在build的过程中出现下面的情况 SEQ 是因为wget没有安装,请在终端内执行

brew install wget 或者 sudo brew intall wget

如何使用动态库?

framework

直播SDK位于framework目录下,ipa size是支持bitcode时的demo size,包含GPUImage和Bugly等第三方库。

名称 库名称 库size ipa size iOS要求
直播SDK静态库 libksygpulive.framework 105M 5.7M 7.0及以上
直播SDK动态库 libksygpulivedylib.framework 74M 6.9M 8.0及以上

为什么framework这么大?

因为framework包括了armv7/arm64/i386/x86_64 四个体系结构。

同时libksygpulivedylib还将GPUImage包含进去了。

优缺点

  • 静态库体积更小,直播SDK对ipa的影响只有5.7M(含GPUImage和Bugly)
  • 静态库iOS版本要求更低,只需要iOS 7.0。
  • 动态库能解决ffmpeg冲突问题。
  • 静态库对第三方库有更多的依赖库。静态库依赖以下第三方库:
    • GPUImage.framework
    • libstdc++.6.tbd

动态库提交app store

为了能够顺利提交app至app store, 需要移除动态库中的x86_64和i386平台,具体操作如下:

进入libksygpulivedylib.framework目录,执行命令:

  • lipo libksygpulivedylib -remove x86_64 -output libksygpulivedylib
  • lipo libksygpulivedylib -remove i386 -output libksygpulivedylib

执行完成后可使用lipo -info libksygpulivedylib 命令确认当前的动态库已经移除上面两个平台。

如果不执行上述操作,那么在提交app store的时候,可能会出现ITMS-90087, ITMS-90209, ITMS-90125错误。

1. 推流环节说明

2. 特色功能说明

2.1 采集

2.2 音频处理

2.3 视频处理

2.4 编码

2.5 推流

2.6 输入多样化

2.7 集成

3. 第三方功能

4. 技术专栏

5. 已知问题

8. FAQ

金山云计算

Clone this wiki locally