什么是DASH:
DASH,又叫MPEG DASH扶平,DASH:Dynamic Adaptive Streaming over HTTP 羡榴,是一種在互聯網上傳送動態(tài)碼率的Video Streaming技術狠怨,類似于蘋果的HLS择懂,DASH會通過media presentation description (MPD)將視頻內容切片成一個很短的文件片段喻喳,每個切片都有多個不同的碼率另玖,DASH Client可以根據網絡的情況選擇一個碼率進行播放困曙,支持在不同碼率之間無縫切換。YouTube采用DASH谦去。其網頁端及移動端APP都使用了DASH慷丽。DASH的其他采用者包括:Netflix, Hulu。
DASH是由MPEG (Moving Picture Experts Group)組織制定鳄哭,2010年開始啟動要糊,2011年11月發(fā)布Draft版本,2012年4月發(fā)布第一稿Version(ISO/IEC 23009-1:2012)妆丘,2014年5月發(fā)布第二稿(ISO/IEC 23009-1:2014)锄俄,最新稿(ISO/IEC 23009-3:2015)。
目前3GPP Release 10已經將DASH納入其中勺拣;在HbbTV 1.5中也支持DASH奶赠;DVB-DASH也將DASH納入到DVB(ETSI TS 103 285 v.1.1.1)。目前DASH Industry Forum由發(fā)起廠家組成药有,致力于推進DASH產品生態(tài)毅戈,將DASH產業(yè)化和業(yè)界最佳實踐推向批量應用。
好了愤惰,我們進入正題---->
我們?yōu)槭裁词褂肈ASH:
15年的B站我們使用整段的FLV和MP4苇经,這種方案的好處是簡單且兼容性高,抖音與今日頭條就是用該方案宦言。
但缺點也很明顯扇单,隨著視頻時長的增長,整段的MP4的頭部過于復雜奠旺,體積過于龐大蜘澜,導致拉取與加載極為緩慢阻桅。
16年的B站為了規(guī)避這個問題,使用了分段的FLV來提升加載速度兼都,這種方案的好處是視頻頭部小嫂沉,加載速度高。愛奇藝和優(yōu)酷也使用類似方案扮碧。
這種方案簡單且兼容性高趟章,而且與直播流統(tǒng)一了格式,所以一直沿用至今慎王,中間由于flv.js的出現 蚓土,把這種方案帶向了全平臺。
但隨著用戶的增加赖淤,用戶的網絡種類和情況也變得更加復雜蜀漆,如果我們需要在各種場景下都需要給用戶較好的體驗,我們需要選擇一種能在不同網絡下都能流暢播放的方案咱旱。
我們需要引入Dynamic Adaptive Streaming/ Bitrate 技術确丢,以進一步提升用戶體驗。
我們也需要對多音軌和多視頻軌
在評估了一些行業(yè)內使用的方案后吐限,我們選中了DASH鲜侥,DASH也可以更靈活的實現用戶與產品的新增需求。
DASH對于觀看群眾可能的影響
對于普通看視頻的用戶诸典,我們期待部署Dash有以下改進:
觀看視頻更為流暢描函,如下圖所示,我們會在網速不佳時無縫切換至較低清晰度視頻狐粱,在網速充足時無縫切換至高清晰度視頻舀寓,切換過程對于用戶無感。
可以很容易的支持音頻模式肌蜻,滿足聽相聲/音樂的你(不對
在退到后臺后互墓,可以自動切換至只拉取音頻,更節(jié)省你的流量宋欺,播放更加流暢轰豆。
可以很容易的支持視頻新增多音軌,多視頻軌齿诞,多字幕軌的任意切換 酸休,原聲,中配祷杈,多版本字幕任君選擇斑司。
DASH對UP主的影響:
對于Dash,我們會將除了1080P+/1080P60/720P60 以外的清晰度,進行全二壓處理宿刮,以便將GOP對齊互站,而且我們會嘗試將GOP縮減到5s,方便更靈活的切換僵缺。
這次是我們對Flv轉Dash的變更后的清晰度規(guī)格說明:
綜上所述:
我們對于視頻會根據原片規(guī)格看情況輸出 1080P+/1080P60/720P60/720P/480P/360P 6種規(guī)格
對于音頻會根據原片規(guī)格看情況輸出 320kbps/64kbps 2種規(guī)格
另外胡桃,我們會將最大文件上傳大小從4GB增加到8GB。
參考文獻地址:
https://www.bilibili.com/read/cv855111
http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html