阿里雲ApsaraVideo for Live支援直播封裝服務,支援封裝HLS、DASH、LL-HLS(低延遲HLS)等播放協議,支援TS,CMAF切片格式。通過閱讀本文,您可以瞭解直播封裝服務的詳細資料。
簡介
阿里雲基礎直播服務提供RTMP、HTTP-FLV、HLS等播放協議。為支援更豐富、更低延遲的播放協議和體驗,ApsaraVideo for Live新增了直播封裝服務,根據不同的切片類型支援低延遲HLS-TS、低延遲HLS-CMAF、HLS-CMAF、DASH-CMAF、HLS&DASH-CMAF封裝協議,如下所示:
切片類型 | 支援的封裝協議 | 支援的編碼格式 |
TS | 低延遲HLS-TS |
|
CMAF |
|
|
低延遲HLS-TS會以TS格式封裝低延遲HLS協議,低延遲HLS-CMAF會以CMAF格式封裝低延遲HLS協議,其他情況以此類推。
功能及優勢
使用情境
低延遲直播:直播服務提供HLS播放地址,在您的業務情境中如果需要在支援HLS協議的情況下降低延遲,可以對HLS協議進行封裝,使用LL-HLS(低延遲HLS)協議。
多裝置瀏覽器支援:直播服務提供的HLS播放地址預設採用TS切片格式進行封裝,如果TS切片格式不能滿足您的業務需求,您可以通過封裝功能使用CMAF封裝格式進行封裝,適配更多的裝置和瀏覽器。
注意事項
為了CMAF和低延遲HLS播放流暢,推流需確保GOP大小穩定,且直播封裝切片時間長度為GOP時間長度的整數倍。如封裝配置包含轉碼流,也需確保轉碼流的GOP穩定。對於低延遲HLS:
在網路情況不佳時卡頓率會增高,建議與多碼率轉碼組合使用,網路不佳時自動降低碼率。
需要確保直播流GOP固定為1秒或2秒,否則會導致卡頓或播放失敗。
需使用支援LL-HLS的播放器,如AliPlayer、hls.js、ExoPlayer等,建議使用AliPlayer。
同一主播流網域名稱最大支援直播觀看人數為10萬人,如需支援更多人觀看,請提交工單申請。
網域名稱第一次添加封裝配置時,會同步下發播放網域名稱加速相關配置,3~5分鐘後可生效。
功能使用
配置直播封裝
ApsaraVideo for Live目前支援兩種方式進行直播封裝功能配置。
使用直播封裝
推流
在使用直播封裝功能時,為了CMAF和低延遲HLS播放流暢,推流需確保GOP大小穩定。
OBS推流可參考如下設定(關於OBS更多使用資訊,請參見OBS推流工具):
播放
對於不同的封裝協議,需使用不同的播放地址。各封裝協議播放地址樣本如下:
封裝協議 | 地址樣本 |
HLS |
|
DASH |
|
低延遲HLS |
|
在播放封裝流時,
aliyunols=on
為必填固定參數。各封裝格式提供的協議地址如下:
低延遲HLS-TS:低延遲HLS地址和HLS地址。
低延遲HLS-CMAF:低延遲HLS地址和HLS地址。
HLS-CMAF:HLS地址。
DASH-CMAF:DASH地址。
HLS&DASH-CMAF:HLS地址和DASH地址。
推薦您使用阿里雲播放器,關於阿里雲播放器說明請參見播放器SDK。
您可以參考以下樣本使用Web端阿里雲播放器播放:
選擇播放類型為直播。
輸入播放地址。
點擊播放預覽進行播放。
為支援瀏覽器跨域播放,需要配置HTTP頭
Access-Control-Allow-Origin
,詳情請參見配置HTTP訊息頭。
進階使用
封裝轉碼流
直播封裝功能可以結合轉碼功能使用,對轉碼流進行協議封裝。
封裝轉碼流,需要先完成直播轉碼功能配置,具體操作請參見直播轉碼。
此處假設您已完成轉碼功能配置。
在進行封裝配置時,將轉碼流也進行封裝。
//是否忽略轉碼流,true/false,預設值true
addLivePackageConfigRequest.setIgnoreTranscode(<false>);
播放封裝轉碼流只需要將封裝協議地址StreamName替換成StreamName
加_轉碼模板ID
的形式。
例如現在要播放一個低延遲HLS的轉碼流,樣本地址如下:
http://<DomainName>/<AppName>/<StreamName_轉碼模板ID>-llhls.m3u8?aliyunols=on&auth_key=1725503******
建議您可以將封裝功能與多碼率轉碼功能結合使用,在網路不佳時自動調整碼率播放。
播放封裝多碼率轉碼流只需將StreamName替換成
StreamName
加_轉碼模板組ID
的形式。
封裝多碼率轉碼流,轉碼流地址會按照直播封裝指定的協議和切片格式改變(例如指定封裝格式為DASH-CMAF,多碼率轉碼將只會提供DASH轉碼流地址,不會提供HLS轉碼流地址)。
封裝通用轉碼或自訂轉碼流,轉碼流地址不受影響,會另外增加轉碼流的封裝地址。
封裝地址請參見本文檔播放封裝流相關內容。
時移播放封裝流
直播時移功能可以讓直播觀眾在直播過程中回看直播內容,直播封裝功能可與直播時移功能組合使用,詳情可參見直播時移。
如果開啟了直播時移,時移的封裝格式將採用直播封裝指定的切片長度和格式。對於HLS或低延遲HLS-CMAF格式,直播時移切片也將變成CMAF格式;對於低延遲HLS-TS格式,直播時移切片仍為TS格式。
相關文檔
更多直播封裝相關API,請參見直播封裝相關介面。