标准直播播放

阿里云iOS播放器SDK支持标准直播播放(RTMP/FLV/HLS等格式),本文介绍标准直播播放的实现方法。

重要

更多功能、API文档及常见问题,请参考iOS播放器

操作步骤

步骤一:集成SDK

请参考iOS播放器集成SDK进行集成。

步骤二:实现直播播放

  1. 快速开始。

    请参考iOS播放器快速开始实现基础播放功能。

  2. 设置直播播放源。

    iOS播放器SDK支持2种直播播放方式,UrlSource播放和加密播放。

    直播UrlSource播放

    使用URL播放方式播放直播视频,需要将播放器的source属性设置为直播拉流地址。播放地址可以是第三方直播地址或阿里云直播服务中的拉流地址。

    阿里云直播拉流地址可以通过直播控制台的地址生成器生成。详情请参见直播地址生成器

    AVPUrlSource *urlSource = [[AVPUrlSource alloc] urlWithString:url]; // 必选参数,播放地址,可以是第三方直播地址,或阿里云直播服务中的拉流地址。
    [self.player setUrlSource:urlSource];

    直播DRM加密播放

    直播DRM加密播放请参见如何播放加密视频

  3. 设置多清晰度。

    说明
    • 支持阿里云视频直播的播放地址或经直播转码后(现支持通用转码和自定义转码)的转码流地址,直播转码详情请参见转码管理;地址获取方式请参见生成推流地址和播放地址

    • 支持ARTC协议和FLV协议的直播流的不同清晰度切换。

    • 推流的gop size需要设置为1s2s,过大会导致切流跳变。

    • 播放域名需开启选项:FLV播放时输出RTMP时间戳、上游断流后输出RTMP时间戳;转码配置需开启选项:时间戳随源、关键帧随源,否则会导致切流卡顿或失败。如需开启请提交工单申请。

    • 切换到不符合上述要求的流地址时,会切换失败。

    切换清晰度

    通过switchStream方法切换清晰度,传递对应新清晰度的URL即可。

    [self.player switchStream:newUrl];

    清晰度切换通知

    清晰度切换成功与失败回调。

    //切换成功回调
    - (void)onStreamSwitchedSuccess:(AliPlayer*)player URL:(NSString*)URL;
    
    //切换失败回调
    - (void)onStreamSwitchedFail:(AliPlayer*)player URL:(NSString*)URL errorModel:(AVPErrorModel *)errorModel;