阿里雲iOS播放器SDK支援標準直播播放(RTMP/FLV/HLS等格式),本文介紹標準直播播放的實現方法。
重要
更多功能、API文檔及常見問題,請參考iOS播放器。
操作步驟
步驟一:整合SDK
請參考iOS播放器整合SDK進行整合。
步驟二:實現直播播放
快速開始。
請參考iOS播放器快速開始實現基礎播放功能。
設定直播播放源。
iOS播放器SDK支援2種直播播放方式,UrlSource播放和加密播放。
直播UrlSource播放
使用URL播放方式播放直播視頻,需要將播放器的source屬性設定為直播拉流地址。播放地址可以是第三方直播地址或阿里雲直播服務中的拉流地址。
阿里雲直播拉流地址可以通過直播控制台的地址產生器產生。詳情請參見直播地址產生器。
AVPUrlSource *urlSource = [[AVPUrlSource alloc] urlWithString:url]; // 必選參數,播放地址,可以是第三方直播地址,或阿里雲直播服務中的拉流地址。 [self.player setUrlSource:urlSource];直播DRM加密播放
直播DRM加密播放請參見如何播放加密視頻。
設定多清晰度。
說明支援阿里雲ApsaraVideo for Live的播放地址或經直播轉碼後(現支援通用轉碼和自訂轉碼)的轉碼流地址,直播轉碼詳情請參見轉碼管理;地址擷取方式請參見產生推流地址和播放地址。
支援ARTC協議和FLV協議的直播流的不同清晰度切換。
推流的gop size需要設定為1s或2s,過大會導致切流跳變。
播放網域名稱需開啟選項: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;