直播轉點播(直轉點)是將直播流同步錄製為點播視訊,並支援媒資管理、ApsaraVideo for Media Processing(轉碼、內容審核、智能封面等AI處理)、內容製作(雲剪輯)、CDN分發加速等一系列操作。本文為您介紹直播轉點播3種典型搭配的實踐方法。
準備工作
開通ApsaraVideo for VOD服務。具體操作,請參見開始使用ApsaraVideo for VOD。
開通ApsaraVideo for Live服務。具體操作,請參見開通與購買ApsaraVideo for Live
添加直轉點錄製配置。具體操作,請參見錄製儲存至VOD。
名詞解釋
名稱 | 說明 |
直播轉點播 | 結合ApsaraVideo for VOD的轉碼、雲剪輯、AI處理、事件通知等功能,可適應多種業務情境。 |
錄製轉碼模板組 | 直播錄製到點播時,點播會使用該模板組對視頻進行轉碼操作。 |
合成轉碼模板組 | 多個錄製視頻進行自動合成時,點播會使用該模板組對視頻進行合成+轉碼操作。 |
僅儲存 | 對直播內容進行錄製後,不進行任何後續操作。在建立錄製配置時使用ApsaraVideo for VOD系統內建的不轉碼模板組進行視頻內容處理。 |
僅合成 | 對直播內容進行合成後,不進行任何後續操作。在建立錄製配置時使用ApsaraVideo for VOD系統內建的不轉碼模板組進行視頻內容處理。 |
直播錄製周期 | 直播錄製到點播的錄製周期。例如:需要在一場3小時的直播過程中提供點播服務,則可設定錄製周期為1小時;即直播1小時後,可提供第1小時內已錄製內容的點播觀看服務。 |
實踐1:直播錄製+自動轉碼+CDN加速
直播錄製後快速將錄製檔案進行轉碼和CDN加速,供使用者進行點播播放。
適用情境:適用於大部分直播情境(不需要對內容進行二次加工)。
流程如下:
客戶進行直播推流。
推流達到一個錄製周期,則會自動將錄製檔案添加到點播系統。
點播記錄完成後,會產生點播系統的唯一視頻ID,並將該視頻資訊回調給使用者,即AddLiveRecordVideoComplete通知,並附帶直播相關的DomainName、AppName、StreamName資訊。客戶收到回調後,需記錄該視頻資訊,並以該VideoId作為索引進行後續視頻狀態更新。
點播系統檢測使用者錄製配置中的錄製轉碼組ID(該轉碼組中含有具體碼流轉碼任務),進行對應的轉碼操作。
截圖完成、單個碼流轉碼完成、全部碼流轉碼完成時,會給使用者進行回調(回調順序無時序),使用者需根據回調資訊中的VideoId進行視頻狀態更新。轉碼完成後,即可進行後續的播放操作(轉碼回調資訊中含播放地址或後續通過GetPlayInfo介面根據VideoId進行播放地址擷取,該播放地址已經經過CDN加速)。
實踐2:直播錄製+僅儲存到點播+手動發起轉碼+CDN加速
部分使用者希望將直播錄製的視頻僅先儲存到點播,暫緩後續的轉碼操作,則可在建立錄製配置時,選擇僅儲存模板組。如果後續希望對視頻進行轉碼,則可進行手動觸發轉碼操作。同時,可配合點播雲剪輯功能進行使用,效果更佳。
僅儲存模板組即ApsaraVideo for VOD系統內建的不轉碼模板組,啟用點播系統儲存Bucket後會自動產生。
適用情境:直播完成後,需要對內容進行二次加工,如體育賽事、遊戲直播剪輯等,後續由使用者主動發起轉碼和CDN加速全流程(轉碼完成後點播會自動對輸出檔案進行CDN加速)。
流程如下:
客戶進行直播推流。
推流達到一個錄製周期,則會自動將錄製檔案添加到點播系統。
點播記錄完成後,會產生點播系統的唯一視頻ID,並將該視頻資訊回調給使用者,即AddLiveRecordVideoComplete通知,並附帶直播相關的DomainName、AppName、StreamName資訊。客戶收到回調後,需記錄該視頻資訊,並以該VideoId作為索引進行後續視頻狀態更新。
使用者對該視頻手動觸發轉碼操作(調用轉碼任務API),在此之前可進行雲剪輯等操作。
截圖完成、單個碼流轉碼完成、全部碼流轉碼完成時,會給使用者進行回調(回調順序無時序),使用者需根據回調資訊中的VideoId進行視頻狀態更新。轉碼完成後,即可進行後續的播放操作(轉碼回調資訊中含播放地址或後續通過GetPlayInfo介面根據VideoId進行播放地址擷取,該播放地址已經經過CDN加速)。
實踐3:直播錄製+多周期視頻自動合并
部分使用者希望將自己錄製周期產生的多個檔案(如錄製周期為20分鐘,一次直播1個小時,則會產生3個視頻)進行視頻合成,再將合成後的視頻進行處理,點播提供了自動合成的功能。可在建立直播錄製配置時,將自動合成開關開啟,並且配置進行合成時所使用的合成轉碼模板組(也可配置為僅合成,後續由使用者觸發轉碼,與前兩節所述區別相同)。點播會在使用者斷流超過指定時間(可由直播進行配置斷流逾時時間)後,進行本次直播的視頻自動合成並根據轉碼配置進行後續操作。
推流斷開3分鐘以上的直播,不支援自動合并。
合成+自動轉碼
適用情境:一場直播完成後,需要對所有錄製周期內的分段進行自動合并,同時發起轉碼等全流程。如體育賽事、教育多節授課合并等。
流程如下:
客戶進行直播推流。
推流達到一個錄製周期,則會自動將錄製檔案添加到點播系統。
點播記錄完成後,會產生點播系統的唯一視頻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加速)。