通过阅读本文,您可以了解iOS端阿里云播放器SDK集成Native RTS SDK实现超低延时直播的方法。

前提条件

环境中已安装CocoaPods。

操作步骤

  1. 使用pod方式添加阿里云播放器SDK和Native RTS SDK的依赖文件。
    1. 打开终端窗口。
    2. 进入项目所在路径,创建Podfile文件。

      pop init

    3. 编辑Podfile文件,添加最新版本的依赖。
       pod 'RtsSDK'
       pod 'AliPlayerSDK_iOS'
       pod 'AliPlayerSDK_iOS_ARTC'
       ```
      说明
      • AliPlayerSDK_iOS_ARTCRtsSDK对应的依赖文件添加后,阿里云播放器SDK会自动将RTS SDK加载为插件。
      • 如果您需要添加指定版本的依赖,请自行补充版本号(例如:pod 'RtsSDK','2.1.0')。获取最新的版本,阿里云播放器SDK请参见iOS播放器SDK超低延时直播SDK请参见SDK下载
      • 集成阿里云播放器SDK和Native RTS SDK时需要满足对应的配套关系,详情请参见发布日志
    4. 安装SDK。执行之后,会生成*.xcworkspace文件,表示SDK集成完毕。

      pod install

  2. 调用阿里云播放器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];

    更多阿里云播放器SDK功能,请参见进阶功能接口说明