本文介紹直播封裝功能。
功能介紹
直播封裝功能可以對直播流播放協議進行封裝,同時支援時移功能(時移功能可以讓直播觀眾在直播過程中回看直播內容。比如在進行賽事直播時,通過時移功能可以讓觀眾像觀看點播內容一樣,回看賽事內容。),也支援對直播內容進行儲存,將直播內容儲存至OSS。
使用直播封裝功能會產生費用,計費說明請參見直播封裝計費。
功能配置
使用直播封裝功能需要建立封裝配置。
登入智能媒體服務控制台。
在左側導覽列選擇,建立頻道組。

參數說明:
參數名
說明
頻道組名稱
自訂輸入。
描述資訊
自訂輸入。
說明功能內涉及頻道的資訊和頻道組裝功能無關。
配置完成後,會自動分配一個來源站點網域名稱。
點擊頻道組名稱,進入頻道列表頁,建立頻道。

參數說明:
參數名
說明
頻道名稱
自訂輸入。
輸入協議
源流協議,支援HLS或HLS_CMAF協議的源流。
切片時間長度
封裝流中單個切片檔案的時間長度。
建議設定該值為6,不建議設定過大或過小。設定越大,單個切片的內容越多,延遲越高。設定越小,單個切片內容越少,會間接增加請求次數導致資源開銷增加。
切片個數
封裝流播放時返回的m3u8檔案中包含的切片檔案個數。
建議設定該值為3。個數越多,播放器直播的時間軸越大,請求m3u8的流量和延遲也會增加。
點擊頻道名稱,進入頻道詳情頁,點擊Endpoints頁簽,建立Endpoints。

參數說明:
參數名
說明
端點名稱
自訂端點名稱。
協議
封裝後的播放協議,支援HLS、HLS_CMAF或DASH。
播放清單名稱
播放資訊清單檔名。比如填寫index,則播放地址為:https://example.aliyundoc.com/index.m3u8。
授權碼
設定之後,在播放封裝流或使用CDN加速回源時需要增加要求標頭參數。參數名:Authorization,參數值:授權碼。阿里雲CDN設定回源要求標頭參數請參見修改出站要求標頭。
IP白名單
支援IPv4和IPv6地址,以及子網路遮罩。
IP黑名單
支援IPv4和IPv6地址,以及子網路遮罩。
時移天數
當設定>0時表示開啟了時移功能,時移功能可以讓直播觀眾在直播過程中回看直播內容。比如在進行賽事直播時,通過時移功能可以讓觀眾像觀看點播內容一樣,回看賽事內容。使用方法請參見時移播放。
只有開啟時移功能,才能對該節點使用直轉點(搜集任務)功能,將時移內容儲存至OSS中。若未開啟時移功能,則無法對該節點使用直轉點(搜集任務)功能。
切片時間長度
封裝流中單個切片檔案的時間長度。
音頻分離
視頻流和音頻流是否分離。
切片個數
封裝流中切片檔案個數。
插入時間標籤間隔
在m3u8中加入時間戳記(標籤為EXT-X-PROGRAM-DATE-TIME)的時間間隔。
流排序
可選:
原始排序:用於按傳入源使用的相同順序對輸出資料流進行排序。
視頻碼率升序:對輸出資料流進行排序,從最低位元速率開始,到最高位元速率結束。
視頻碼率降序:對輸出資料流進行排序,從最高位元速率開始,到最低位元速率結束。
最小視頻碼率
輸入最小位元速率閾值(單位:位元/秒),視頻軌道必須大於或者等於此閾值才能從此端點播放。這樣可以確保軌道至少達到一定的位元速率。
最大視頻碼率
輸入最大位元速率閾值(單位:位元/秒),視頻軌道必須小於等於此閾值才能從此端點播放。這樣可以確保軌道不會超過一定的位元速率。
建立完成後,會產生封裝流播放地址(列表中URL地址)。到此即完成直播封裝功能配置。
功能使用
推流
在建立頻道後,已為您產生輸入地址和密鑰。您可以進入頻道詳情頁Input頁簽查看。

ingest1:主輸入地址。
ingest2:備用輸入地址。
點擊Authentication可擷取帳號名稱/密碼。
即時打包頻道提供主備攝取端點(Ingest URL),用於接收上遊轉碼服務的HLS輸出資料流。當一個攝取端點異常時,打包服務將使用另一個端點作為輸入,以提升打包頻道可用性。地址樣本:
http://xxxxxx-1.packagepush-9eji12.ap-southeast-1.ice.aliyundoc.com/v1/dfjtest/1/test01/manifest上遊轉碼工具可配置輸出到該地址,請使用Basic Auth鑒權並使用PUT方法上傳m3u8和ts檔案,檔案的請求URL必須以輸入地址為首碼,如:
http://xxxxx-1.packagepush-9eji12.ap-southeast-1.ice.aliyundoc.com/v1/dfjtest/1/test01/manifest.m3u8
http://xthcfa-1.packagepush-9ejigb.ap-southeast-1.ice.aliyundoc.com/v1/dfjtest/1/test01/manifest-hd-1001.ts說明:
Basic Auth鑒權即請求Header增加Authorization:Basic BASE64_ENCODE(username:password)。
您必須按直播要求上傳合乎規範的主m3u8,子m3u8和ts切片檔案。輸入HLS內容不支援加密。
如推送HLS流到主備推流地址,請確保主備流內容相同,且切片的時間戳記對齊,否則主備切換時可能無法保證播放流暢。
您也可以使用媒體直播簡介功能進行推流。
播放
使用建立Endpoint時產生的封裝流播放地址進行播放。
如果是用於調試,您可將內部IP加入端點的IP白名單進行測試,或者為播放器佈建要求頭參數:參數名:Authorization,參數值:Endpoint配置的授權碼。
如需提供給外部使用者播放,建議使用CDN配置回源加速(需要佈建要求頭參數,參數名:Authorization,參數值:Endpoint配置的授權碼)。使用方法請聯絡您的CDN廠商。

時移播放
開啟時移功能後,封裝服務將對直播切片檔案進行儲存,觀眾端可發起時移播放請求進行直播內容回看。
時移播放請求樣本:
https://xxxxx-1.packagepush-9eji12.ap-southeast-1.ice.aliyundoc.com/v1/group01/ch01/endpoint01/index.m3u8?start=2024-11-06T00:00:00Z&vodend=2024-11-06T02:00:00Z在該樣本中,我們實現了回看2024-11-06T00:00:00Z至2024-11-06T02:00:00Z的直播內容。可以發現,時移請求相較於m3u8的播放地址多了兩個參數。start為時移播放開始時間,vodend為時移播放結束時間,請求URL為Endpoint的播放URL。
時移播放支援的參數如下:
參數名 | 說明 |
start | 時移播放開始時間,UTC時間格式,時區為GMT。樣本值:2024-11-06T00:00:00Z |
end | 時移播放結束時間,UTC時間格式,時區為GMT。樣本值:2024-11-06T02:00:00Z |
vodend | 以點播形式指定時移播放結束時間,UTC時間格式,時區為GMT。樣本值:2024-11-06T02:00:00Z 說明 設定vodend表示使用點播模式回看,點播模式會一次性返回所有切片,可以使用播放器進度條控制播放前進回退。 |
offset | 按位移時間播放時移內容,單位秒。以位移量請求會根據目前時間向過去時間位移作為時移播放點。 播放樣本: |
使用說明:
start和offset必須指定其中一個。如果指定了
end,時移播放會以直播模式播放直到指定的end時間點。如果指定了
vodend,時移播放會以點播模式播放直到指定的vodend時間點(點播模式會一次性返回所有切片,可以使用播放器進度條控制播放前進回退)。如果同時指定
end與vodend,時移播放將以vodend為準。
建立搜集任務
直播封裝功能建立搜集任務可以將直播內容儲存至OSS。在直播結束後,可以通過OSS中的內容對直播內容進行回放。
前提條件:
您需要開通OSS服務並且擁有至少一個Bucket用於儲存這些檔案。開通OSS服務以及建立Bucket可參見開通OSS服務和建立儲存空間,Bucket必須與頻道組同地區。
重要檔案儲存體在OSS中,會產生儲存費用,在OSS中計費請參見OSS儲存費用。
頻道Endpoint需要開啟時移功能(設定的時移天數>0)。
進入頻道詳情頁,點擊搜集任務頁簽,建立搜集任務。

參數說明:
參數名 | 說明 |
Endpoint | 選擇頻道內的Endpoint,Endpoint需要開啟時移功能(設定的時移天數>0)。 |
搜集時間 | 時間段內如果開啟了時移功能,直播內容將會儲存至OSS。 |
儲存路徑 | 選擇OSSBucket,搜集結果(m3u8格式檔案)將會儲存至對應位置。 |
搜集任務建立完成後,會自動開始搜集任務。若要查看搜集檔案,請進入OSS中查看。
如果您為一個Endpoint建立了多個搜集任務,每個搜集任務將會產生單獨的檔案。
常見問題
直播封裝應該怎樣去推流
您可以使用支援HLS輸出的第三方直播轉碼工具進行推流,直播封裝服務接收上遊轉碼服務的HLS輸出。您也可以使用媒體直播簡介功能推流。
如何播放封裝流
您可以使用Endpoints產生的播流地址進行播放。
如果是用於調試,您可將內部IP加入端點的IP白名單進行測試,或者為播放器佈建要求頭參數:參數名:Authorization,參數值:Endpoint配置的授權碼。
如需提供給外部使用者播放,建議使用CDN配置回源加速(需要佈建要求頭參數:參數名:Authorization,參數值:Endpoint配置的授權碼)。使用方法請聯絡您的CDN廠商。
搜集任務建立完成,但沒有搜集到檔案
請檢查頻道Endpoint是否開啟了時移功能(配置的時移天數是否>0)。
直轉點建立搜集任務和直播封裝建立搜集任務有什麼區別
兩者都可以實現直轉點功能。直轉點功能展示的是所有的搜集任務,直播封裝搜集任務展示的是當前封裝配置內的搜集任務。