TestsTested | ✗ |
LangLanguage | Obj-CObjective C |
License | Custom |
ReleasedLast Release | Jul 2018 |
Maintained by pengbins, shixuemei, Franken Zeng, mayudong.
本文档面向所有使用金山云直播SDK的开发、测试人员等, 要求读者具有一定的iOS编程开发经验,并且要求读者具备阅读wiki的习惯。
金山云直播SDK是金山云提供的直播解决方案的一部分,完成了iOS端音视频数据采集、处理、推流和播放的工作。
金山云直播SDK不限制用户的推流、拉流地址。用户可以只使用金山云直播SDK而不使用金山云的云服务。
金山云直播SDK不收取任何授权使用费用,不含任何失效时间或者远程下发关闭的后门。同时金山云直播SDK也不要求ak/sk等鉴权,没有任何用户标识信息。
金山云直播SDK提供了业内一流的H.265编码、解码能力,H.265能力也是免费使用,欢迎集成试用。
金山云直播SDK当前未提供开源代码,如果需要其他定制化开发功能,请通过金山云商务渠道联系。
金山云SDK保证,提供的金山云直播SDK未使用任何热更新技术,例如:RN(ReactNative)、weex、JSPatch等,请放心使用。
金山云SDK保证,提供的KSYLive iOS直播SDK未使用热更新技术,例如:RN(ReactNative)、weex、JSPatch等,请放心使用。
金山云SDK保证,提供的KSYLive iOS直播SDK可以用于商业应用,不会收取任何SDK使用费用。但是基于KSYLive iOS直播SDK的其他商业服务,会由特定供应商收取授权费用,大致包括:
本SDK 提供如下列出获取方式:
目录结构如下所示:
$ git clone https://github.com/ksvc/KSYLive_iOS.git KSYLive_iOS --depth 1
对于部分地方访问github比较慢的情况,可以从bitbucket clone,获取的库内容和github一致。
$ git clone https://bitbucket.org/ksvc/ksylive_ios.git --depth 1
通过Cocoapods 能将本SDK的静态库和代码下载到本地,只需要将类似如下语句中的一句加入你的Podfile:
pod 'libksygpulive/KSYGPUResource'
pod 'libksygpulive/libksygpulive'
执行 pod install即可.
其中, 第一段libksygpulive为SDK名,第二段KSYGPUResource和libksygpulive为子模块名
本SDK提供了多个不同的子模块以满足不同用户的需求:
pod 'libksygpulive/libksygpulive', :path => '../'
pod 'libksygpulive/libksygpulive', :git => 'https://github.com/ksvc/KSYLive_iOS.git', :tag => 'v1.8.0'
pod 'libksygpulive/libksygpulive'
pod 'libksygpulive_ks3/libksygpulive'
pod repo update
请参考官方cocoapods提供的GPUImage,当前我们测试通过的版本是0.1.7
!!!!!注意: 这里提供以下两种方法运行demo, 但是只能二选一; 如果要换另一种方法请重新下载解压, 或恢复git仓库的原状后再尝试.!!!!!
demo 目录中已经有一个Podfile, 指定了本地开发版的pod
在demo目录下执行如下命令, 即可开始编译运行demo
$ cd demo
$ pod install
$ open KSYLiveDemo.xcworkspace
注意:
将压缩包解压(或者clone成功)后, 进入 releaseFramework 目录, 通过 release-libKSYLive.sh 下载依赖项并打包出framework,生成到KSYLive_iOS/framework/static目录下。
$ cd releaseFramework
$ ./release-libKSYLive.sh libksygpulive lite
$ ls ../framework/static
Bugly.framework GPUImage.framework libksygpulive.framework
参数的详细说明请参考脚本release-libKSYLive.sh的帮助(./release-libKSYLive.sh -h)或动态库第4点说明.
Bugly.framework 是为了收集demo的崩溃信息用的(仅仅demo里用到). 集成SDK到用户项目中时,不依赖Bugly.
打开demo目录下的KSYLiveDemo.xcodeproj, 修改KSYLiveDemo项目的配置文件:
选中KSYLiveDemo工程->选中Project KSYLiveDemo->选中 Info 标签->选择Configurations->Debug或Release->给KSYLiveDemo分别选择对应的KSYLiveDemo-framework.xcconfig文件。注意,如果使用动态库则选择KSYLiveDemo-dy-framework.xcconfig。
或者手动在项目配置中添加如下参数: (具体请参见 demo目录下的 KSYLiveDemo-framework.xcconfig)
OTHER_LDFLAGS = $(inherited) -ObjC -all_load -framework libksygpulive -framework GPUImage -framework Bugly -lstdc++.6 -lz
FRAMEWORK_SEARCH_PATHS = $(inherited) ../framework/ ../framework/static
以上为静态库的集成方法,动态库的配置使用方法请参考Wiki中动态库相关内容。
#import <GPUImage/GPUImage.h>
#import <libksygpulive/KSYGPUStreamerKit.h>
以上两个头文件都是需要引入的:
GPUImage.h是因为依赖第三方framework需要引入的
KSYGPUStreamerKit.h 为开放的顶层kit类, kit类可以直接使用, 也可以自行修改
当需要自定义修改GPUImage时,GPUImage的版本要求是0.1.7
本SDK的版本号 主要通过核心类查询
NSLog(@"version: %@", [streamerBase getKSYVersion]);
NSLog(@"version: %@", [kit getKSYVersion]);
pod repo update
请见github库:https://github.com/ksvc/KSYMediaPlayer_iOS.git
类型 | 描述 |
---|---|
SDK名称 | KSYLive_iOS |
SDK版本 | v2.5.0 |
设备型号 | iphone7 |
OS版本 | iOS 10 |
问题描述 | 描述问题出现的现象 |
操作描述 | 描述经过如何操作出现上述问题 |
额外附件 | 文本形式控制台log、crash报告、其他辅助信息(界面截屏或录像等) |
主页:金山云
QQ讨论群: