SCDN旗舰版直播iOS端SDK
最近更新时间:2018-05-10 18:00:00
SDK概述
海量的赚钱宝和玩客云构成了星域CDN的“无限节点”,使得直播数据流可以分发到离用户更近、网络质量更好的节点。星域直播SDK可以智能选取多个优质节点进行并行传输,并采用冗余编码技术,让用户获得实时流畅的观看体验。
星域直播SDK支持HTTP-FLV,HLS协议,SDK内部包含精简的HTTP Server,初始化时会在本地开启HTTP服务,在播放前,开发者需要调用SDK提供的接口重写播放地址,将播放器的请求转向到本地HTTP Server,SDK内部会进行回源策略的调整,在保证播放流畅度的同时尽可能降低开发者的带宽成本。
SDK包构成
开发包中包含了SDK库,说明文档。
lib目录中包含的静态库libxylivesdk.a
支持真机模拟器调试,include目录中xylive_mobile_sdk.h
声明了SDK提供的接口。
工程配置
打开工程 -> Build Phases -> Link Binary With Library
将SDK库libxylivesdk.a
,以及依赖的第三方库libcrypto.a
,libssl.a
,libev4.24.a
,protobuf-2.6.1.a
静态库引入链接列表
点击列表左下方的add item按钮,将libc++.tbd
库加入链接列表
在应用启动时,首先调用init接口初始化SDK,在应用退出或进入后台之前,只调用一次init即可。 调用方式如下:
[xylive_mobile_sdk init];
应用程序切换到后台后,监听的本地端口可能会被系统回收,因此需要在app进入后台的通知函数中调用release释放掉占用的资源。
- (void)applicationDidEnterBackground:(UIApplication *)application{
[xylive_mobile_sdk release];
}
app重新激活到前台时再调用一次init,以保证SDK能正常响应播放器请求。
- (void)applicationWilEnterBackground:(UIApplication *)application{
[xylive_mobile_sdk init];
}
初始化完毕后,调用getRequestUrl接口重写播放地址,下面的示例中playUrl为原始流地址:
NSString *playUrl = @"http://pullsdk.test.live.00cdn.com/live/steam1.flv";
NSString *rewriteUrl = [xylive_mobile_sdk getReguestUrl:playUrl];
获得重写的播放地址rewriteUrl后,令播放器请求rewriteUrl即可播放。
接口文档
接口函数名 | 参数 | 返回值 | 功能描述 |
---|---|---|---|
init | 无 | int(0成功,其他失败) | 初始化SDK,启动本地HTTP服务,应在应用启动时调用 |
release | 无 | int(0成功,其他失败) | 停止HTTP服务,释放SDK占用的资源 |
getRequestUrl | NSString(原始播放地址) | NSString(重定向的播放地址) | 重写flv请求地址 |
getSDKVersion | 无 | NSString(SDK版本号字符串) | 获取当前SDK版本号 |
setLogEnable | int | int(0成功,其他失败) | 设置SDK日志是否开启(0关闭,1开启) |
playStreamStop | NSString(原始播放地址) | int(0成功,其他失败) | 播放hls流结束后通知SDK停止缓存任务 |
SDK依赖的第三方库列表
- libev-4.24,网络事件库,SDK基于此库以事件驱动模型开发
- openssl 1.0.2h,加解密算法库,SDK基于此库实现HTTPS以及数据校验
- cJSON,json格式解析库,SDK以此解析json数据
- protobuf-2.6.1,数据序列化库,SDK以此序列化数据与服务器交互