omniture

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

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

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

1. 實時流式轉(zhuǎn)碼

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

異步轉(zhuǎn)碼的問題

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

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

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

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

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

七牛實時流式轉(zhuǎn)碼

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

實時流式轉(zhuǎn)碼
實時流式轉(zhuǎn)碼

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

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

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

2. 多碼率自適應轉(zhuǎn)碼

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

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

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

七牛多碼率自適應轉(zhuǎn)碼

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

HLS (全稱 HTTP Live Streaming),是由蘋果公司提出的基于 HTTP 的流媒體網(wǎng)絡傳輸協(xié)議。利用該協(xié)議,客戶端可以接收持續(xù)的多媒體流來自于一個普通的 web 服務器。并且支持客戶端在不同的網(wǎng)絡帶寬環(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)原理如下圖所示:

自適應轉(zhuǎn)碼
自適應轉(zhuǎn)碼

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

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