阿里云直播转点播最佳实践
摘要:?在前不久剛剛落幕的深圳云棲大會現場,有一個直播間體驗項目引起了現場參會嘉賓的關注。云棲直播間是以視頻云技術為基礎,為云計算從業者量身打造了一個科技直播間,讓每位嘉賓都可以過一把當“網紅主播”的癮。
前言
在前不久剛剛落幕的深圳云棲大會現場,有一個直播間體驗項目引起了現場參會嘉賓的關注。云棲直播間是以視頻云技術為基礎,為云計算從業者量身打造了一個科技直播間,讓每位嘉賓都可以過一把當“網紅主播”的癮。
值得一提的是,主播現場體驗播報結束后,直播視頻很快就轉換成了點播回放,這就使直播當下沒來得及觀看的朋友,也沒有錯過主播精彩的播報。這里就是視頻云直轉點能力的直觀體驗。
簡介
所謂直轉點,是將直播中的視頻同步錄制到點播系統,并且后續可進行如轉碼、AI處理、CDN加速等一系列視頻操作的流程。
系統接入
1.開通視頻點播服務,開通指引
2.開通視頻直播服務,開通指引
3.添加直轉點錄制配置,幫助文檔
4.上述準備工作完成后,即可開始進行接入(注:下述文檔中的僅存儲、僅合成模板組需聯系點播進行激活)
最佳實踐
直轉點系統,結合點播系統的轉碼、云剪輯、AI處理、事件通知等功能,可適應多場景變化,下面針對幾種直轉點方案進行介紹。
名詞解釋:
- 錄制轉碼模板組:直播錄制到點播同時,點播會使用該模板組對視頻進行轉碼操作
- 合成轉碼模板組:多個錄制視頻進行自動合成時,點播會使用該模板組對視頻進行合成+轉碼操作
- 僅存儲:對直播內容進行錄制后,不進行任何后續操作
- 僅合成:對直播內容進行合成后,不進行任何后續操作
- 直播錄制周期:直播錄制到點播的周期,如一場直播3個小時,如果需要在直播過程中就可提供已錄制內容 的點播服務,則可設置錄制周期為1小時,即直播1小時過后,點播可提供前一小時內容的點播觀看服務
一. 直播錄制 + 自動轉碼 + CDN加速
直播錄制后快速將錄制文件進行轉碼和CDN加速,供用戶進行點播播放,適用于大部分直播場景(不需要對內容進行二次加工)
實現流程:
1.客戶進行直播推流
2.推流達到一個錄制周期,則會自動將錄制文件添加到點播系統
3.點播記錄完成后,會生成點播系統的唯一視頻ID,并將該視頻信息回調給用戶,即AddLiveRecordVideoComplete通知,并附帶直播相關的DomainName、AppName、StreamName信息。客戶收到回調后,需記錄該視頻信息,并以該VideoId作為索引進行后續視頻狀態更新
4.點播系統檢測用戶錄制配置中的錄制轉碼組ID(該轉碼組中含有具體碼流轉碼任務),進行對應的轉碼操作
5.截圖完成、單個碼流轉碼完成、全部碼流轉碼完成時,會給用戶進行回調(回調順序無時序),用戶需根據回調信息中的VideoId進行視頻狀態更新。轉碼完成后,即可進行后續的播放操作(轉碼回調信息中含播放地址 或后續通過GetPlayInfo接又根據VideoId進行播放地址獲取,該播放地址已經經過CDN加速)
二、直播錄制 + 僅存儲到點播 + 手動發起轉碼 + CDN加速
部分用戶希望將直播錄制的視頻僅先存儲到點播,且先不進行后續的轉碼操作,則可在新建錄制配置時,將錄制轉碼組選擇為僅存儲模板組(注:僅存儲模板組需聯系點播進行激活) 如果后續希望對視頻進行轉碼,則可進行手動觸發轉碼操作。同時,可配合點播云剪輯功能進行使用,效果更佳。
適用場景:
直播完成后,需要對內容進行二次加工,如體育賽事、游戲直播剪輯等,后續由用戶主動發起轉碼和CDN加速全 流程(轉碼完成后點播會自動對輸出文件進行CDN加速)
流程如下:
1.客戶進行直播推流
2.推流達到一個錄制周期,則會自動將錄制文件添加到點播系統
3.點播記錄完成后,會生成點播系統的唯一視頻ID,并將該視頻信息回調給用戶,即AddLiveRecordVideoComplete通知,并附帶直播相關的DomainName、AppName、StreamName信息。客戶收到回調后,需記錄該視頻信息,并以該VideoId作為索引進行后續視頻狀態更新
4.點播系統檢測用戶錄制配置中的錄制轉碼組ID(此時為僅存儲模板組),則點播系統不進行后續轉碼操作
5.用戶對該視頻手動觸發轉碼操作(調用轉碼任務API),在此之前可進行云剪輯等操作
6.截圖完成、單個碼流轉碼完成、全部碼流轉碼完成時,會給用戶進行回調(回調順序無時序),用戶需根據回調信息中的VideoId進行視頻狀態更新。轉碼完成后,即可進行后續的播放操作(轉碼回調信息中含播放地址 或后續通過GetPlayInfo接又根據VideoId進行播放地址獲取,該播放地址已經經過CDN加速)
三、直播錄制 + 多周期視頻自動合并
部分用戶希望將自己錄制周期生成的多個文件(如錄制周期為20分鐘,一次直播1個小時,則會生成三個視頻)進行 視頻合成,再將合成后的視頻進行處理,點播提供了自動合成的功能 可在新建直播錄制配置時,將自動合成開關打開,并且配置進行合成時所使用的合成轉碼模板組(也可配置為僅合 成,后續由用戶觸發轉碼,與前兩節所述區別相同) 點播會在用戶斷流超過指定時間(可由直播進行配置斷流超時時間)后,進行本次直播的視頻自動合成并根據轉碼配 置進行后續操作。
3. 1 合成 + 自動轉碼
適用場景:
一場直播完成后,需要對所有錄制周期內的分段進行自動合并,同時發起轉碼等全流程。如體育賽事、教育多節授課合并等
流程如下:
1.客戶進行直播推流
2.推流達到一個錄制周期,則會自動將錄制文件添加到點播系統
3.點播記錄完成后,會生成點播系統的唯一視頻ID,并將該視頻信息回調給用戶,即AddLiveRecordVideoComplete通知,并附帶直播相關的DomainName、AppName、StreamName信息。客戶收到回調后,需記錄該視頻信息,并以該VideoId作為索引進行后續視頻狀態更新。
4.客戶斷流超時或主動觸發斷流
5.點播收到直播發送的本次直播結束消息
6.點播系統檢測用戶錄制配置中的合成配置,判斷是否需要發起自動合成。如果需要,則按照錄制配置中的合成轉碼組進行合成和轉碼
7.視頻開始合成,點播會生成一個合成后視頻的唯一視頻ID,并將該視頻信息回調給用戶,即LiveRecordVideoComposeStart通知,并附帶直播相關的DomainName、AppName、StreamName信息。客戶收到回調后,需記錄該視頻信息,并以該VideoId作為索引進行后續視頻狀態更新。
8.視頻源文件合成完成后,點播會將該狀態回調給用戶,即FileUploadComplete通知
9.截圖完成、單個碼流轉碼完成、全部碼流轉碼完成時,會給用戶進行回調(回調順序無時序),用戶需根據回調信息中的VideoId進行視頻狀態更新。轉碼完成后,即可進行后續的播放操作(轉碼回調信息中含播放地址或后續通過GetPlayInfo接又根據VideoId進行播放地址獲取,該播放地址已經經過CDN加速)
3.3.2 合成 + 手動發起轉碼
可在新建直播錄制配置時,將自動合成開關打開,并且配置進行合成時所使用的合成轉碼模板組(本情況配置成僅 合成,后續由用戶觸發轉碼)
適用場景:
一場直播完成后,需要對所有錄制周期內的分段進行自動合并,合并后文件不做任何處理,由用戶進行二次加工,如云剪輯等,后續再進行手動轉碼,如視頻內嵌廣告、體育賽事空擋部分內容剪切等
流程如下:
1.客戶進行直播推流
2.推流達到一個錄制周期,則會自動將錄制文件添加到點播系統
3.點播記錄完成后,會生成點播系統的唯一視頻ID,并將該視頻信息回調給用戶,即 AddLiveRecordVideoComplete通知,并附帶直播相關的DomainName、AppName、StreamName信息。客戶收到回調后,需記錄該視頻信息,并以該VideoId作為索引進行后續視頻狀態更新
4.客戶斷流超時或主動觸發斷流
5.點播收到直播發送的本次直播結束消息
6.點播系統檢測用戶錄制配置中的合成配置,判斷是否需要發起自動合成。如果需要,則按照錄制配置中的合成轉碼組進行合成和轉碼,由于本場景配置的僅合成,則點播系統不會自動發起轉碼
7.視頻開始合成,點播會生成一個合成后視頻的唯一視頻ID,并將該視頻信息回調給用戶,即LiveRecordVideoComposeStart通知,并附帶直播相關的DomainName、AppName、StreamName信息。客戶收到回調后,需記錄該視頻信息,并以該VideoId作為索引進行后續視頻狀態更新
8.視頻源文件合成完成后,點播會將該狀態回調給用戶,即FileUploadComplete通知。此時,代表本次錄制合成的源文件已經處于正常就緒狀態,用戶可對該視頻進行后續的轉碼觸發等操作
9.用戶對該視頻手動觸發轉碼操作(調用轉碼任務API),在此之前可進行云剪輯等操作
10.截圖完成、單個碼流轉碼完成、全部碼流轉碼完成時,會給用戶進行回調(回調順序無時序),用戶需根據回 調信息中的VideoId進行視頻狀態更新。轉碼完成后,即可進行后續的播放操作(轉碼回調信息中含播放地址 或后續通過GetPlayInfo接又根據VideoId進行播放地址獲取,該播放地址已經經過CDN加速)
原文鏈接
干貨好文,請關注掃描以下二維碼:
總結
以上是生活随笔為你收集整理的阿里云直播转点播最佳实践的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 理解卷积神经网络的利器:9篇重要的深度学
- 下一篇: Sentinel如何通过限流实现服务的高