通过阅读本文,您可以了解iOS端阿里云播放器SDK集成Native RTS SDK实现超低延时直播的方法。
前提条件
环境中已安装CocoaPods。
操作步骤
- 使用pod方式添加阿里云播放器SDK和Native RTS SDK的依赖文件。
- 打开终端窗口。
- 进入项目所在路径,创建Podfile文件。
pop init
- 编辑Podfile文件,添加最新版本的依赖。
- 安装SDK。执行之后,会生成*.xcworkspace文件,表示SDK集成完毕。
pod install
- 调用阿里云播放器SDK接口实现超低延时直播功能。
- 初始化Aliplayer
- (AliPlayer *)aliPlayer{ if (!_aliPlayer) { _aliPlayer = [[AliPlayer alloc] init]; _aliPlayer.scalingMode = AVP_SCALINGMODE_SCALEASPECTFIT; _aliPlayer.rate = 1; //如需实现AVPDelegate代理,添加此行 _aliPlayer.delegate = self; //设置播放的视图,将您的播放视图赋值给aliplayer _aliPlayer.playerView = self.basePlayerView.playerView; _aliPlayer.autoPlay = YES; } return _aliPlayer; }
- 设置播放URL
AVPUrlSource *source = [[AVPUrlSource alloc] urlWithString:_url]; [self.aliPlayer setUrlSource:source];
- 播放参数配置
配置播放参数,提升超低延时直播效果。播放器参数配置需要在调用
prepare
之前才能生效。AVPConfig *config = self.aliPlayer.getConfig; //直播最大延时 [config setMaxDelayTime:1000]; //卡顿恢复时长 [config setHighBufferDuration:10]; //起播最大延时 [config setStartBufferDuration:10]; //重连次数 [config setNetworkRetryCount:2]; //重连时长 [config setNetworkTimeout:15000]; [_aliPlayer setConfig:config]; //默认为硬解,如播放器在准备过程中发现硬解失败,会自动切换到软解 _aliPlayer.enableHardwareDecoder = YES;
- 打开日志
[AliPlayer setEnableLog:YES]; [AliPlayer setLogCallbackInfo:LOG_LEVEL_DEBUG callbackBlock:nil];
- 播放控制
[self.aliPlayer prepare]; [self.aliPlayer stop]; [self.aliPlayer destroy]; [self.aliPlayer reload];
- 初始化Aliplayer