直播轉點播實踐
場景簡介
直播轉點播(直轉點)是將直播流同步錄製為點播視訊,並支援媒資管理、媒體處理(轉碼及內容稽核/智慧首圖等AI處理)、內容製作(雲剪輯)、CDN分發加速等一系列操作,可配置工作流自動處理,也可通過API/SDK靈活觸發。
準備工作
名詞解釋
直轉點,結合視訊點播的轉碼、雲剪輯、AI處理、事件通知等功能,可適應多種業務場景。
名詞解釋:
- 錄製轉碼模板組:直播錄製到點播同時,點播會使用該模板組對視訊進行轉碼操作
- 合成轉碼模板組:多個錄製視訊進行自動合成時,點播會使用該模板組對視訊進行合成+轉碼操作
- 僅儲存:對直播內容進行錄製後,不進行任何後續操作
- 僅合成:對直播內容進行合成後,不進行任何後續操作
- 直播錄製週期:直播錄製到點播的週期,如一場直播3個小時,如果需要在直播過程中就可提供已錄製內容的點播服務,則可設定錄製週期為1小時,即直播1小時過後,點播可提供前一小時內容的點播觀看服務
實踐1:直播錄製 + 自動轉碼 + CDN加速
直播錄製後快速將錄製檔案進行轉碼和CDN加速,供使用者進行點播播放,適用於大部分直播場景(不需要對內容進行二次加工)
流程如下:
- 客戶進行直播推流
- 推流達到一個錄製週期,則會自動將錄製檔案新增到點播系統
- 點播記錄完成後,會生成點播系統的唯一視訊ID,並將該視訊資訊回撥給使用者,即AddLiveRecordVideoComplete通知,並附帶直播相關的DomainName、AppName、StreamName資訊。客戶收到回撥後,需記錄該視訊資訊,並以該VideoId作為索引進行後續視訊狀態更新
- 點播系統檢測使用者錄製配置中的錄製轉碼組ID(該轉碼組中含有具體碼流轉碼任務),進行對應的轉碼操作
- 截圖完成、單個碼流轉碼完成、全部碼流轉碼完成時,會給使用者進行回撥(回撥順序無時序),使用者需根據回撥資訊中的VideoId進行視訊狀態更新。轉碼完成後,即可進行後續的播放操作(轉碼回撥資訊中含播放地址或後續通過GetPlayInfo介面根據VideoId進行播放地址獲取,該播放地址已經經過CDN加速)
實踐2:直播錄製 + 僅儲存到點播 + 手動發起轉碼 + CDN加速
部分使用者希望將直播錄製的視訊僅先儲存到點播,且先不進行後續的轉碼操作,則可在新建錄製配置時,將錄製轉碼組選擇為僅儲存模板組(注:僅儲存模板組需聯絡點播進行啟用)
如果後續希望對視訊進行轉碼,則可進行手動觸發轉碼操作
同時,可配合點播雲剪輯功能進行使用,效果更佳
適用場景:
直播完成後,需要對內容進行二次加工,如體育賽事、遊戲直播剪輯等,後續由使用者主動發起轉碼和CDN加速全流程(轉碼完成後點播會自動對輸出檔案進行CDN加速)
流程如下:
- 客戶進行直播推流
- 推流達到一個錄製週期,則會自動將錄製檔案新增到點播系統
- 點播記錄完成後,會生成點播系統的唯一視訊ID,並將該視訊資訊回撥給使用者,即AddLiveRecordVideoComplete通知,並附帶直播相關的DomainName、AppName、StreamName資訊。客戶收到回撥後,需記錄該視訊資訊,並以該VideoId作為索引進行後續視訊狀態更新
- 點播系統檢測使用者錄製配置中的錄製轉碼組ID(此時為僅儲存模板組),則點播系統不進行後續轉碼操作
- 使用者對該視訊手動觸發轉碼操作(呼叫轉碼任務API),在此之前可進行雲剪輯等操作
- 截圖完成、單個碼流轉碼完成、全部碼流轉碼完成時,會給使用者進行回撥(回撥順序無時序),使用者需根據回撥資訊中的VideoId進行視訊狀態更新。轉碼完成後,即可進行後續的播放操作(轉碼回撥資訊中含播放地址或後續通過GetPlayInfo介面根據VideoId進行播放地址獲取,該播放地址已經經過CDN加速)
實踐3:直播錄製 + 多週期視訊自動合併
部分使用者希望將自己錄製週期生成的多個檔案(如錄製週期為20分鐘,一次直播1個小時,則會生成三個視訊)進行視訊合成,再將合成後的視訊進行處理,點播提供了自動合成的功能
可在新建直播錄製配置時,將自動合成開關開啟,並且配置進行合成時所使用的合成轉碼模板組(也可配置為僅合成,後續由使用者觸發轉碼,與前兩節所述區別相同)
點播會在使用者斷流超過指定時間(可由直播進行配置斷流超時時間)後,進行本次直播的視訊自動合成並根據轉碼配置進行後續操作
合成 + 自動轉碼
適用場景:
一場直播完成後,需要對所有錄製週期內的分段進行自動合併,同時發起轉碼等全流程。如體育賽事、教育多節授課合併等
流程如下:
- 客戶進行直播推流
- 推流達到一個錄製週期,則會自動將錄製檔案新增到點播系統
- 點播記錄完成後,會生成點播系統的唯一視訊ID,並將該視訊資訊回撥給使用者,即AddLiveRecordVideoComplete通知,並附帶直播相關的DomainName、AppName、StreamName資訊。客戶收到回撥後,需記錄該視訊資訊,並以該VideoId作為索引進行後續視訊狀態更新
- 客戶斷流超時或主動觸發斷流
- 點播收到直播傳送的本次直播結束訊息
- 點播系統檢測使用者錄製配置中的合成配置,判斷是否需要發起自動合成。如果需要,則按照錄制配置中的合成轉碼組進行合成和轉碼
- 視訊開始合成,點播會生成一個合成後視訊的唯一視訊ID,並將該視訊資訊回撥給使用者,即LiveRecordVideoComposeStart通知,並附帶直播相關的DomainName、AppName、StreamName資訊。客戶收到回撥後,需記錄該視訊資訊,並以該VideoId作為索引進行後續視訊狀態更新
- 視訊原始檔合成完成後,點播會將該狀態回撥給使用者,即FileUploadComplete通知
- 截圖完成、單個碼流轉碼完成、全部碼流轉碼完成時,會給使用者進行回撥(回撥順序無時序),使用者需根據回撥資訊中的VideoId進行視訊狀態更新。轉碼完成後,即可進行後續的播放操作(轉碼回撥資訊中含播放地址或後續通過GetPlayInfo介面根據VideoId進行播放地址獲取,該播放地址已經經過CDN加速)
合成 + 手動發起轉碼
可在新建直播錄製配置時,將自動合成開關開啟,並且配置進行合成時所使用的合成轉碼模板組(本情況配置成僅合成,後續由使用者觸發轉碼)
適用場景:
一場直播完成後,需要對所有錄製週期內的分段進行自動合併,合併後檔案不做任何處理,由使用者進行二次加工,如雲剪輯等,後續再進行手動轉碼,如視訊內嵌廣告、體育賽事空擋部分內容剪下等
流程如下:
- 客戶進行直播推流
- 推流達到一個錄製週期,則會自動將錄製檔案新增到點播系統
- 點播記錄完成後,會生成點播系統的唯一視訊ID,並將該視訊資訊回撥給使用者,即AddLiveRecordVideoComplete通知,並附帶直播相關的DomainName、AppName、StreamName資訊。客戶收到回撥後,需記錄該視訊資訊,並以該VideoId作為索引進行後續視訊狀態更新
- 客戶斷流超時或主動觸發斷流
- 點播收到直播傳送的本次直播結束訊息
- 點播系統檢測使用者錄製配置中的合成配置,判斷是否需要發起自動合成。如果需要,則按照錄制配置中的合成轉碼組進行合成和轉碼,由於本場景配置的僅合成,則點播系統不會自動發起轉碼
- 視訊開始合成,點播會生成一個合成後視訊的唯一視訊ID,並將該視訊資訊回撥給使用者,即LiveRecordVideoComposeStart通知,並附帶直播相關的DomainName、AppName、StreamName資訊。客戶收到回撥後,需記錄該視訊資訊,並以該VideoId作為索引進行後續視訊狀態更新
- 視訊原始檔合成完成後,點播會將該狀態回撥給使用者,即FileUploadComplete通知。此時,代表本次錄製合成的原始檔已經處於正常就緒狀態,使用者可對該視訊進行後續的轉碼觸發等操作
- 使用者對該視訊手動觸發轉碼操作(呼叫轉碼任務API),在此之前可進行雲剪輯等操作
- 截圖完成、單個碼流轉碼完成、全部碼流轉碼完成時,會給使用者進行回撥(回撥順序無時序),使用者需根據回撥資訊中的VideoId進行視訊狀態更新。轉碼完成後,即可進行後續的播放操作(轉碼回撥資訊中含播放地址或後續通過GetPlayInfo介面根據VideoId進行播放地址獲取,該播放地址已經經過CDN加速)
相關文章
- 【騰訊課堂】視訊點播上雲實踐
- 直播與點播之三_測試、理解
- 大檔案下載及影片點播的CDN加速實踐
- Android視訊直播、點播播放器哪家強?Android播放器
- 線上教育直播點播平臺搭建網路教育直播APP帶一對一APP
- 除了直播點播IPTV系統還有這麼多功能?
- 利用nginx搭建RTMP視訊點播、直播、HLS伺服器Nginx伺服器
- 基於Linux的影片點播系統的實現(轉)Linux
- 直播app原始碼,HTML + jQuery 實現輪播圖APP原始碼HTMLjQuery
- 一點點最佳實踐
- 阿里雲視訊點播轉碼阿里
- 搭建一個點播跟直播流媒體伺服器玩玩伺服器
- 直播系統原始碼,點選滾動的輪播圖自動跳轉到相應頁原始碼
- Now直播iOS Flutter混合工程實踐iOSFlutter
- 直播平臺開發,使用swiper實現輪播效果
- 直播app開發,首頁輪播圖效果實現APP
- 直播系統聊天技術(七):直播間海量聊天訊息的架構設計難點實踐架構
- 阿里雲影片點播轉碼 舊版阿里
- 基於Linux系統的影片點播系統的實現(轉)Linux
- Oracle效能調優實踐中的幾點心得 (轉)Oracle
- 帶你玩轉小程式開發實踐|含直播回顧視訊
- (轉)jquery實現圖片輪播jQuery
- 直播電商原始碼,android設定輪播圖轉場動畫特效原始碼Android動畫特效
- 直播平臺搭建原始碼,bootstrap實現圖片輪播效果原始碼boot
- obs+node-media-server+flv.js實現錄播和直播ServerJS
- 手遊錄屏直播技術詳解 | 直播 SDK 效能優化實踐優化
- HLS直播協議在B站的實踐協議
- vivo直播應用技術實踐與探索
- 鬥魚直播雲原生實踐——註冊中心篇
- Windows Server 2022 上搭建流媒體直播和點播服務WindowsServer
- 轉轉OLAP自助分析實踐
- 實踐法(轉載)
- 阿里雲視訊點播轉碼 Composer 版阿里
- 直播平臺原始碼,純JS實現左右滑動輪播圖原始碼JS
- 直播平臺製作,依靠C語言實現圖片輪播C語言
- 直播推流端弱網優化策略 | 直播 SDK 效能優化實踐優化
- 直播特效的實現原理與難點特效
- JS實現八種焦點輪播圖(下)JS