1. 程式人生 > >娛樂視訊直播背後的技術支援——DASH重構

娛樂視訊直播背後的技術支援——DASH重構

文/胡小清

娛樂視訊直播為什麼需要DASH?

電視直播是歷史悠久的業務,這也是PayTV市場的主要收入來源,每年全球超過2500億美金的收入依賴於電視直播這個業務產生。

新生代可能已經逐漸遠離了電視機,更多選擇Mobile Terminal、PAD、PC並且通過網際網路隨時隨地的看視訊,電視直播依然是最受歡迎的基本業務之一。

但在全球範圍內,主流的OTT都是從點播開始的,高質量的直播服務很少見到,為什麼呢?

1中國情況

在中國因為廣電總局181號檔案《持有網際網路電視牌照機構運營管理要求》中廣電總局已經對網際網路電視產業進行了封殺,在OTT上不允許提供直播服務。

  • 樂視採用NVOD將稽核通過的片源通過節目編排成直播節目;

  • 中國移動因之前一直沒有IPTV牌照(2016年6月30日剛剛拿到牌照),只有OTT牌照,直播頻道服務是採用錄製回放;

  • OTT APP:1、電視家,2、VST全聚合,3、電視直播,4、電視貓,其宣稱是針對PAD設計,因此目前遊走在廣東總局181號文的邊緣;

  • 騰訊視訊電視臺直播:採用的錄製回放。

2海外情況

在海外由於運營商基本上為綜合運營商,或者通過兼併收購實現了DVB+OTT或者IPTV+OTT的綜合服務提供,因此在直播業務上,綜合運營商更傾向於保留DVB或者IPTV的服務提供方式,在此基礎上疊加OTT點播。

那問題來了,誰有OTT直播的需求?

當4K來臨時,傳統DVB網路可能會面臨一次抉擇,到底是在廣播頻段上傳輸有限的4K頻道,還是直接遷移到OTT網路實現一步到位的全IP化,有激進的運營商可能會選擇後者,大多數保守的運營商肯定會選擇前者。但所有的DVB都要支援Multiscreen VOD點播,如果要考慮到未來3-5年的DVB直播的IP化,現在的MulitiScreen就應該一步到位選擇融合IP解決方案。對於新的視訊運營商,一定會選擇一步到位的融合IP解決方案。

先不論商業上的形態何時具備OTT直播的條件,但從技術上應該要做好準備,DASH不僅是點播的最好選擇,對直播的考慮也已經相對完善。

娛樂視訊直播的關鍵技術?

1DASH介紹

DASH,又叫MPEG DASH,DASH:Dynamic Adaptive Streaming over HTTP ,是一種在網際網路上傳送動態位元速率的Video Streaming技術,類似於蘋果的HLS,DASH會通過media presentation description (MPD)將視訊內容切片成一個很短的檔案片段,每個切片都有多個不同的位元速率,DASH Client可以根據網路的情況選擇一個位元速率進行播放,支援在不同位元速率之間無縫切換。

DASH是由MPEG (Moving Picture Experts Group)組織制定,2010年開始啟動,2011年11月釋出Draft版本,2012年4月釋出第一稿Version(ISO/IEC 23009-1:2012),2014年5月釋出第二稿(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由發起廠家組成,致力於推進DASH產品生態,將DASH產業化和業界最佳實踐推向批量應用。

ISO/IEC 23009包含四個部分:

Part 1: Media presentation description and segment formats

Part 2: Conformance and reference software

Part 3: Implementation guidelines

Part 4: Segment encryption and authentication

DASH相比HLS、HSS等協議的優勢在於:

1、DASH支援多種編碼,支援H.265、H.264、VP9等等

2、DASH支援MultiDRM,支援PlayReady、Widewine,採用通用加密技術,支援終端自帶DRM,可以大幅度降低DRM投資成本;

3、DASH支援多種檔案封裝,支援MPEG-4、MPEG-2 TS(Transport Stream)

4、DASH支援多種CDN對接,採用相同的封裝描述對接多廠家CDN

5、DASH支援異構終端,瀏覽器原生不用外掛就可以支援,Android/iOS/Windows/Flash可以通過JITP將DASH轉換為HLS、HDS、HSS等,已支援Legacy終端型別,支援一份儲存,大幅度減少檔案儲存量;

6、DASH支援直播、點播、錄製、時移等等豐富的視訊特性;

7、DASH支援動態位元速率適配,支援多位元速率平滑切換;

8、DASH支援緊縮型描述以支援快速啟動;

9、DASH支援客戶端和服務端的廣告插入;

DASH的廠家支援情況:

1、Android原生ExoPlayer播放器;

2、主流OTT:Youtube、Netflix;

3、主流瀏覽器(採用MSE、EME);

4、主流智慧電視廠商:三星、LG、飛利浦、SONY等。

主要的開源框架和Lib庫有:

1、客戶端

  • GStreamer

  • Dash.js

  • Libdash,支援Android、iOS多平臺

2、服務端

  • Akamai CDN

  • Amazon Elastic Transcoder

  • Azure Media Service

  • BrightCove Zencoder

  • Nginx RTMP module

  • Wowza Streaming Engine

DASH典型的一個端到端的系統包含Encoder、Dash Server、Origin Server、Edge Server、DASH Client:

Media Presentation Description是描述分片和時序的資訊:從MPD->Period->Adpatation Set(Video/Audio Track)->Representation(Multiple bitrate)->Segement

2OTT DASHIPTV的對比

OTT的視訊技術和IPTV的視訊技術都是基於IP的,但是採用了完全不同的技術,對比如下:

  • 網路:IPTV基於管理網路、高質量、低丟包率、網路時延小、網路結構相對簡單、網路頻寬恆定有保障,OTT基於非管理網路、網路質量不可控、丟包率高、網路時延大、網路結構複雜、網路頻寬變化顯著;

  • 終端:IPTV終端基本上是運營商自己定義的STB,OTT終端型號、配置、能力、資源有極大的差異;

  • 業務:IPTV網路是基於直播業務發展起來的,其核心訴求是直播時延小、基於組播的高效傳送,而OTT網路是基於點播業務發展起來的,其核心訴求是對網路質量的容忍度;

  • 技術:IPTV基於UDP+組播的傳送技術,無法穿越防火牆,如果出現丟包會有馬賽克,OTT基於HTTP over TCP傳送技術,可以穿越防火牆,一般不會有馬賽克,但會容易出現緩衝。

3如何在OTT支援高併發的直播服務?

OTT採用的單播技術,在類似於世界盃、閱兵式、春晚等大型高集中度的直播事件時,傳統的OTT單播技術無法滿足要求,主要有3個問題:

  • 如果是自建的CDN,邊緣CDN無法支援超過平時10-100倍的的頻寬服務;

  • 如果是租用的CDN,成本會高到運營方無法承受;

  • 即便不考慮成本因素,由於併發訪問量帶來的大量的網路擁塞。

解決辦法一:ABR Multicast

將DASH Origin Server的流通過Multicast Server將HTTP轉到UDP組播網路上,在Multicast Client上將UDP組播碼流接受下來。在廣播和eMBMS網路上傳送DASH已經有相應的規範支援。

解決辦法二:P2P

通過P2P節點互助,大幅度降低對CDN邊緣節點的壓力,可以解除安裝CDN的90%以上的流量壓力,降低90%的頻寬租用成本,並且大幅度降低網路路徑的擁塞效應,自動通過P2P節點選擇規避擁塞路徑。

高熱點的直播節目是非常適合P2P技術,對於Android/iOS等Mobile Phone/PAD一樣非常有效,對本地的儲存要求很低,可以基於記憶體快取,在WiFi網路下提供P2P流服務。