omniture

七牛數(shù)據(jù)推出實時流式轉碼和多碼率自適應轉碼功能

視頻分發(fā)不用愁:基于HLS的實時流式轉碼、多碼率自適應支持
2016-10-24 13:43 10956
為了幫助用戶節(jié)省帶寬、快速分發(fā)視頻內容、保證在網絡不好的情況下流暢播放,七牛數(shù)據(jù)處理產品推出了實時流式轉碼和多碼率自適應轉碼這兩個功能。

北京2016年10月24日電 /美通社/ -- 隨著互聯(lián)網帶寬的不斷提升,視頻內容的分發(fā)與播放,在新聞娛樂、在線教育、社交網絡和自媒體場景下越來越普遍。在滿足成本預算的情況下、保證視頻的快速分發(fā)與播放,也成了各家視頻內容提供商不斷優(yōu)化的方向。為了幫助用戶節(jié)省帶寬、快速分發(fā)視頻內容、保證在網絡不好的情況下流暢播放,七牛數(shù)據(jù)處理產品推出了實時流式轉碼和多碼率自適應轉碼這兩個功能。

1. 實時流式轉碼

目前國內外主流的基礎音視頻云服務,都是使用的異步轉碼模式,而異步轉碼有很多的問題。

異步轉碼的問題

異步轉碼通常要經過上傳-轉碼-分發(fā)-播放的流程。使用異步轉碼,往往會給開發(fā)者和終端用戶帶來一定的局限性。

首先,視頻轉碼需要一定時間,片源清晰度越高轉碼耗費的時間越是長久。異步轉碼方案決定了視頻內容生產者必須要等待視頻完全轉碼完畢后才能進行內容分發(fā)播放,這會為視頻內容的生產和消費之間帶來一定延遲效應。

其次,無論是開發(fā)者使用視頻服務 SDK 輪詢,或者自建回調服務接受回調結果,還是直接通過人工方式定期查詢轉碼結果,都會給開發(fā)者帶來一定的心智負擔。同時,基礎視頻服務與上層業(yè)務產生了一定的耦合,任何使用變動都會影響上層業(yè)務。

再者,開發(fā)者需要預先設定轉碼參數(shù),分辨率碼率等相對固定。任何對轉碼參數(shù)的修改,都需要重新請求轉碼才能完成,無法由終端用戶設置參數(shù)或者自適應用戶請求場景。

此外,從業(yè)務上看,視頻生產者無法預測視頻播放情況,會有視頻轉碼完卻沒有終端用戶播發(fā)的情況,為此開發(fā)者需要付出多余的視頻服務和存儲花費。

七牛實時流式轉碼

針對上述異步轉碼的局限性,七牛推出了實時轉碼服務。與異步轉碼相比,實時轉碼僅需上傳-分發(fā)-播放的流程,將轉碼和播放合二為一,即邊轉邊播,按需轉碼。實時轉碼使用流媒體協(xié)議(目前支持 HLS 協(xié)議)進行網絡分發(fā),使用七牛多媒體處理服務進行分布式轉碼,使用七牛對象存儲服務作為基礎存儲,結合七牛CDN服務進行網絡加速,構建了完整的轉碼播放方案。

實時流式轉碼
實時流式轉碼

云端收到用戶播放請求,讀取源視頻,根據(jù)播放參數(shù)將源視頻快速分割成子視頻分塊,向多媒體處理集群分發(fā)任務,并生成相應的播放索引(如 m3u8)返回給用戶。并發(fā)執(zhí)行的轉碼任務結果將緩存在云端,或者按用戶需求進行持久化存儲。通常,用戶按照索引依次請求視頻分塊,按序播放;而當遇到快捷或者拖拽時間軸時,云端會相應進行實時加速轉碼和任務二次調度,降低用戶播放卡頓。

七牛實時流式轉碼服務有如下優(yōu)點:

  • 視頻生產者無須理解轉碼過程,無須等待轉碼任務完成,上傳完視頻后僅需按約定API協(xié)議編輯URL即可進行內容分發(fā),轉碼參數(shù)直接包含在鏈接中。
  • 開發(fā)者解耦視頻轉碼服務和自身業(yè)務開發(fā),降低心智負擔,加速業(yè)務開發(fā)。
  • 轉碼請求和播放請求合二為一。終端用戶能夠按需發(fā)起請求,所見即所得;視頻生產者,僅需為熱播視頻付費,無需額外付出冷視頻轉碼和存儲成本。
  • 音視頻分段并行轉碼,使用大規(guī)模多媒體計算集群進行計算,讓轉碼任務在云端可任意調度、遷移、擴展收縮,提高計算資源利用效率,降低成本。
  • 實時轉碼播放請求延遲低,首屏快速打開,減少播放緩沖。

2. 多碼率自適應轉碼

單個碼率視頻分發(fā)的問題

在視頻分發(fā)之前,由于各個終端(iOS、Android、PC 端)的網絡帶寬、屏幕分辨率的不同,內容提供者會為不同的客戶端生成固定碼率的視頻文件,這一定程度上保證了視頻的流暢性,但是這會帶來一定的問題。

由于端上播放的是某種碼率的視頻,在網絡帶寬、屏幕分辨率滿足的情況下,用戶無法選擇更高清晰度的碼率,沒法為用戶提供更好的播放體驗。反之,如果網絡質量不好,用戶也無法切換到更低碼率的視頻,從而導致播放卡頓。

七牛多碼率自適應轉碼

單碼率視頻無法應對客戶端網絡帶寬環(huán)境的變化,提供給客戶優(yōu)質的播放體驗,但是HLS多碼率自適應特性正好解決了這一問題。

HLS (全稱 HTTP Live Streaming),是由蘋果公司提出的基于 HTTP 的流媒體網絡傳輸協(xié)議。利用該協(xié)議,客戶端可以接收持續(xù)的多媒體流來自于一個普通的 web 服務器。并且支持客戶端在不同的網絡帶寬環(huán)境下,播放不同碼率、分辨率的視頻。

HLS 的實現(xiàn)原理是把整個多媒體文件切成一個個小的基于 HTTP 的資源 (MPEG-2 Transport Stream 格式的文件),生成一個包含元數(shù)據(jù)的擴展 M3U (M3U8) Playlist 文件,每次只下載列表中的一些資源,客戶端根據(jù)帶寬環(huán)境可以選擇不同的的資源。M3U8 是一種播放多媒體列表的文件格式,可以指定一個或多個多媒體資源的位置,并且 M3U8 Playlist 中可以包含多個子 M3U8 文件。

七牛官方提供的 HLS 多碼率自適應功能,幫助客戶從單一原視頻,一步生成多碼率自適應的多媒體文件,只需要提供原始資源和操作命令。實現(xiàn)原理如下圖所示:

自適應轉碼
自適應轉碼

更多信息,請瀏覽:https://www.qiniu.com

消息來源:七牛云
China-PRNewsire-300-300.png
相關鏈接:
全球TMT
微信公眾號“全球TMT”發(fā)布全球互聯(lián)網、科技、媒體、通訊企業(yè)的經營動態(tài)、財報信息、企業(yè)并購消息。掃描二維碼,立即訂閱!
collection