本文介绍在iOS端通过标准集成(无UI)方式实现主播端推流和观众端观看直播的功能。

背景信息

主播端推流和观众端观看是互动直播的基础场景。从集成的角度看,两个场景是独立于彼此的。用户可根据业务需要选择集成两个场景或其中一个场景。例如,只需要集成主播端推流的用户可以只集成主播端,避免接入不需要的模块而增加包大小。

前提条件

  • 客户端集成前,请确保已经通过控制台创建应用并获取客户端集成需要的信息(应用ID,APP Key)。创建指引请参见创建应用
  • 客户端集成前,请确保已经完成服务端集成。集成指引请参见集成服务端SDK

环境要求

  • 设备类型:支持iPhone和iPad所有型号。
  • CPU架构:支持armv7、arm64、x86_64架构,不支持i386架构。
  • 系统版本:支持iOS 10.0及以上版本。
  • 其他:不支持bitcode,不支持屏幕旋转。

主播端推流

  1. 基于CocoaPods添加SDK依赖。
    将下列依赖库添加到已有的Podfile中。其中AliInteractiveRoomBundle互动直播的入口库,其他都是AliInteractiveRoomBundle需依赖的库。
    pod 'Masonry'
    pod 'AliInteractiveRoomBundle', '1.8.0'
    pod 'AliInteractiveLiveCore', '1.8.0'
    pod 'AliInteractiveFaceBeautyCore', '1.8.0' #美颜相关库,非必须
    pod 'AlivcLivePusher', '4.4.1' 
    pod 'Queen', '1.9.1-official-pro' #美颜相关库,非必须
    说明 美颜库Queen的'1.9.1-official-pro'版本是免授权的高级美颜版本,详情请参见美颜特效SDK
  2. 配置应用权限。
    主播推流直播需要获取设备本身的摄像头使用权限、麦克风的使用权限、WIFI网络的使用权限。请在Xcode工程本身的plist文件中主动配置以下三项:
    Key Value
    Privacy - Camera Usage Description Use camera
    Privacy - Microphone Usage Description Use microphone
    Application uses Wi-Fi YES

    配置后效果如下所示:

    权限开通
  3. 接入代码。完整的代码实现逻辑请参见iOS主播端互动直播标准集成源码

观众观看直播

  1. 基于CocoaPods添加SDK依赖。
    将下列依赖库添加到已有的Podfile中。其中AliInteractiveRoomBundle标准集成(无UI)方式接入互动直播的入口库,其他都是AliInteractiveRoomBundle需依赖的库。
    pod 'Masonry'
    pod 'AliInteractiveRoomBundle', '1.8.0'
    pod 'AliInteractiveVideoPlayerCore', '1.8.0'
    pod 'AliPlayerSDK_iOS', '5.4.4.0'
    pod 'AliPlayerSDK_iOS_ARTC', '5.4.4.0'
    pod 'RtsSDK', '1.9.0'
    说明 如需同时集成播放器SDK和短视频SDK,将下面代码中的AliPlayerSDK_iOS替换成AliPlayerPartSDK_iOS。AliPlayerPartSDK_iOS不包含ffmpeg,避免了与短视频SDK中的ffmpeg的冲突。
  2. 接入代码。完整的代码实现逻辑请参见iOS观众端互动直播标准集成源码