多碼率自適應可將指定的音視頻檔案流統一打包產生一個自適應碼流檔案,讓播放器可根據終端網路頻寬環境自動選擇最適合當前頻寬環境的碼流播放。本文為您介紹如何轉碼產生多碼率自適應視頻。
什麼是多碼率自適應
多碼率自適應即指將多個的音視頻檔案流統一打包產生一個自適應碼流檔案,該自適應碼流檔案包含不同音視頻檔案流的碼率、解析度等資訊,相比較傳統的單碼率播放,自適應碼率檔案能夠讓播放器可以根據終端網路頻寬環境,選擇最適合當前頻寬環境和終端裝置的碼流播放,從而提升播放體驗。
目前使用比較廣的多碼率自適應輸出格式為HLS和DASH,ApsaraVideo for VOD目前僅支援HLS多碼率自適應產生。
效果展示
如何使用
通過控制台進行轉碼
步驟一:建立多碼率自適應轉碼模板組
您需要先建立多碼率自適應轉碼模板組,以便後續發起轉碼任務時選用。
具體操作,請參見配置普通轉碼模板。
步驟二(可選):建立工作流程並關聯轉碼模板組
在工作流程中將轉碼、審核、截圖等各種類型的ApsaraVideo for Media Processing任務按一定流程進行編排,後續在上傳媒體或ApsaraVideo for Media Processing環節觸發工作流程時,可以自動按預先編排好的一系列任務流程對媒體檔案發起處理。
您可以建立工作流程,在工作流程中添加媒體轉碼節點並關聯上一步建立的多碼率自適應轉碼模板組。具體操作,請參見工作流程管理。
步驟三:發起轉碼
使用上一步建立的多碼率自適應轉碼模板組或者工作流程對視頻進行轉碼,支援在上傳媒體時或上傳媒體後去觸發轉碼。
上傳時自動觸發轉碼
在點播控制台左側導覽列選擇媒資庫 > 音/視頻,單擊上傳音/視頻。
單擊添加音/視頻,選擇上傳方式、儲存地址等參數後,選擇用轉碼模板組處理或用工作流程處理,並指定為上一步建立的多碼率自適應轉碼模板組或工作流程。
關於上傳的格式支援及參數解釋等資訊,詳情請參見控制台上傳。
將待上傳的音視頻添加進來後,單擊開始上傳。
上傳後主動發起轉碼
該操作常用於對已有視頻的重新轉碼、標準加密、浮水印參數覆蓋等。
在點播控制台左側導覽列選擇媒資庫 > 音/視頻。
在音/視頻列表頁面,在需要發起轉碼的音視頻的操作列單擊ApsaraVideo for Media Processing。
根據需要選擇用轉碼模板組處理或用工作流程處理,並指定為上一步建立的多碼率自適應轉碼模板組或工作流程。
單擊確定。
步驟三:查看轉碼結果
發起轉碼後,您可以通過以下兩種方式查看轉碼狀態及轉碼後的視頻地址等資訊。您可以擷取視頻地址,使用阿里雲播放器或其他第三方播放器播放轉碼後的視頻。
若ApsaraVideo for VOD中未配置加速網域名稱,則通過視頻地址播放或下載視頻會產生儲存流出流量費用,詳情請參見儲存流出流量計費。
方式一:控制台查看
在點播控制台左側導覽列選擇媒資庫 > 音/視頻。
在音/視頻列表頁面,查看轉碼音視頻的狀態。
狀態為正常,表示轉碼完成並成功,其他狀態的釋義請參見Status:視頻狀態。
單擊轉碼音視頻操作列的管理,進入視頻地址頁簽。
轉碼成功的音視頻會產生1路自適應流和多路轉碼流,並產生對應的視頻地址。
方式二:事件通知
ApsaraVideo for VOD支援HTTP回調和MNS回調兩種方式的事件通知,通過提前配置事件通知,當媒體檔案處理完成(如上傳完成、轉碼完成等)後,ApsaraVideo for VOD服務會根據您配置的回調方式及時通知您。您可以從接收到的回調結果中擷取到轉碼任務的狀態及轉碼後的視頻地址等資訊。配置方法,請參見事件通知。
轉碼相關的事件如下:
通過OpenAPI進行轉碼
使用說明
如需調用API,請參見ApsaraVideo for VODAPI概覽。建議您使用阿里雲的線上命令列工具OpenAPI Explorer進行調試,您可以在OpenAPI Explorer中直接運行ApsaraVideo for VOD的介面,免去您計算簽名的困擾。運行成功後,OpenAPI Explorer可以自動產生SDK程式碼範例。
步驟一:建立多碼率自適應轉碼模板組
您需要先建立多碼率自適應轉碼模板組,以便後續發起轉碼任務時選用。
調用AddTranscodeTemplateGroup - 建立轉碼模板組介面,通過
TranscodeTemplate
參數來配置打包模板。此處僅列舉打包模板相對特殊的配置參數進行說明,更多詳細參數,請參見TranscodeTemplate:轉碼模板配置。
步驟二:(可選)建立工作流程並關聯轉碼模板組
在工作流程中將轉碼、審核、截圖等各種類型的ApsaraVideo for Media Processing任務按一定流程進行編排,後續在上傳媒體或ApsaraVideo for Media Processing環節觸發工作流程時,可以使媒體檔案按預先編排好的一系列任務流程自動發起處理。
當前僅支援通過ApsaraVideo for VOD控制台建立工作流程,具體操作請參見工作流程管理。
步驟三:發起轉碼
使用上一步建立的轉碼模板組或者工作流程對視頻進行轉碼,支援在上傳媒體時或上傳媒體後去觸發轉碼。
上傳時自動觸發轉碼
CreateUploadVideo - 擷取音視頻上傳地址和憑證介面僅用於擷取上傳地址和憑證以及建立媒資基礎資訊,並非上傳檔案,需要開發人員自行實現所有上傳邏輯。通過介面上傳的完整樣本,請參見通過ApsaraVideo for VODAPI上傳媒資檔案。
調用CreateUploadVideo - 擷取音視頻上傳地址和憑證或UploadMediaByURL - URL批量拉取上傳介面上傳音視頻時,在
TemplateGroupId
參數指定轉碼模板組ID,或在WorkflowId
參數指定包含媒體轉碼節點的工作流程ID,則音視頻上傳完成後,點播系統將根據您指定的轉碼模板組或工作流程自動進行轉碼處理。
上傳後主動發起轉碼
該操作常用於對已有視頻的重轉碼、標準加密、浮水印參數覆蓋等。
調用SubmitTranscodeJobs - 提交媒體轉碼作業介面在
TemplateGroupId
參數指定轉碼模板組ID,或調用SubmitWorkflowJob - 提交點播工作流程作業介面在WorkflowId
參數指定包含媒體轉碼節點的工作流程ID,手動發起轉碼後,則點播系統將根據您設定的轉碼模板組或工作流程立即對音視頻進行轉碼處理。
步驟四:查看轉碼結果
發起轉碼後,您可以通過以下兩種方式查看轉碼狀態及轉碼後的視頻地址等資訊。您可以擷取視頻地址,使用阿里雲播放器或其他第三方播放器播放轉碼後的視頻。
若ApsaraVideo for VOD中未配置加速網域名稱,則通過視頻地址播放或下載視頻會產生儲存流出流量費用,詳情請參見儲存流出流量計費。
方式一:調用API查詢
調用SubmitTranscodeJobs - 提交媒體轉碼作業介面提交的轉碼任務會返迴轉碼任務IDTranscodeTaskId
,您可以調用GetTranscodeTask - 查詢轉碼任務詳情介面來查詢指定轉碼任務的執行狀態及轉碼輸出的視頻地址等資訊。
方式二:事件通知
ApsaraVideo for VOD支援HTTP回調和MNS回調兩種方式的事件通知,通過提前配置事件通知,當媒體檔案處理完成(如上傳完成、轉碼完成等)後,ApsaraVideo for VOD服務會根據您配置的回調方式及時通知您。您可以從接收到的回調結果中擷取到轉碼任務的狀態及轉碼後的視頻地址等資訊。配置方法,請參見事件通知。
轉碼相關的事件如下:
後續操作
播放器配置自適應功能後,將轉碼產生的自適應視頻流,傳遞給播放器進行播放,方能實現視頻播放時可根據網路環境自適應切換視訊清晰度,或手動進行清晰度和字幕的切換。
如何在阿里雲播放器SDK配置自適應功能,請參見:
Android播放器SDK:網路自適應切換視訊清晰度
iOS播放器SDK:網路自適應切換視訊清晰度
Web播放器SDK:多碼率HLS網路自適應切換