十年磨一劍,美國巨頭視頻網站 Hulu 的直播系統架構實踐

來源:互聯網
上載者:User

標籤:美國   視頻網站   直播系統架構   

Hulu 是 2007 年在美國上市的線上視頻公司,提供會員制付費視頻服務,商業模式與國內的愛奇藝、優酷類似。Hulu 今年 5 月發布了最新的 OTT 電視直播應用——Hulu Live TV,目標是替代傳統的有線電視服務,和國內最近興起的直播應用,比如 YY,映客等。

本文主要分享 Hulu 現有視頻系統、Hulu OTT 直播應用和基於 DASH 的直播系統這三方面,會涉及基於點播構建直播過程中的一些痛點與經驗。

Hulu 現有視頻系統

Hulu 終端與視頻內容

Hulu 應用在電視、電腦、各種行動裝置、甚至遊戲機上都可以訪問,如:

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/9D/DC/wKiom1mH2EbSaArgAAC-rEBf_xc166.jpg-wh_651x-s_2428466839.jpg" title="" border="0" />

Hulu 最初也是從網站形式做起,隨著時間的推移,特別是美國家庭的客廳是使用者經常觀看視頻的場所,所以 Hulu 不斷地研發,適配能播放視頻的硬體。點播的內容主要是電視、電影、自製劇、兒童節目等比較專業的製作內容。

Hulu 商業模式

Hulu 主要有兩種商業模式,一種是通過視頻廣告擷取利潤,一種是通過註冊會員擷取利潤。

是一個電影廣告的例子。不僅有常見的視頻廣告,還有可以和使用者直接互動的部分,提示使用者點擊購買電影票。多年來,Hulu在廣告模式上有很多嘗試,包括客廳裝置上也有很多互動形式。

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/9D/DB/wKioL1mH2F3TAp-dAADD5gt4-ao688.jpg-wh_600x-s_1368782387.jpg" title="" border="0" />

除廣告外,會員制也是 Hulu 盈利的主要方式。通過註冊會員,繳納會員費,使用者可以享受到最新,最全的電視節目。

點播系統面臨的挑戰和關鍵技術

數位視訊供應鏈

視頻供應鏈部分,使用者雖然不能夠直接看到,但是會給使用者產生直接的影響。Hulu 在美國市場較大的賣點是電視台播放的節目,第二天就可以同步上線。

這看似簡單的需求背後,卻對前面整個的處理周期要求很高,如上線速度、系統管理使用者的觀看時間等等,每個環節都要做好。面對供應鏈帶來的挑戰,Hulu 建立了整套視頻轉碼系統,由這個分布式叢集來應對。

多平台視頻服務

面對多平台播放的挑戰,Hulu 建設了多平台視頻服務,自製播放器,保證在各個平台正常播放,用一套統一視頻流就可以支撐所有平台。

還有基於 DASH 統一視頻格式,它的可擴充性、封裝效率等方面也表現優秀。

內容保護

Hulu 基於 DASH 及 CENC 建設了多 DRM 視頻系統,保障不同平台,即使用不同的 DRM 系統也可以使用統一的加密視頻源。

廣告插入

網路不好的情況下,插入廣告可能導致視頻重新緩衝,給使用者帶來不好的影響。Hulu 的做法是基於 DASH XLINK 的動態廣告插入機制,可以在流上進行兩者合并,播放器即時進行預先載入,而不需要切換播放器、流等操作。

視頻播放品質保證

為了保證視頻播放的品質,Hulu 建立了視頻播放品質保證體系,包含用戶端可以做自適應動態碼流的切換、多 CDN 自動切換、即時視頻 QOS 監控及響應系統等。

現有點播視訊系統架構

如,是圍繞點播產品的系統架構:

650) this.width=650;" src="http://s4.51cto.com/wyfs02/M02/9D/DB/wKioL1mH2ISgTFnZAACjedHbuTI604.jpg-wh_600x-s_2541082036.jpg" title="" border="0" />

目前很多線上視頻的架構基本類同,但是 Hulu 比較特殊的地方是:

美國內容生產廠商對Alibaba Content Security Service性要求高,要求所有內容必須有 DRM 加密模式,所以這裡構建了比較完善的 DRM license,來保證所有內容都可以安全播放。

在重要的廣告部分,單獨布設廣告伺服器,保證使用者有好的廣告體驗,杜絕很長、重複的廣告。

Hulu OTT 直播應用

OTT 是 Hulu 新的直播應用,直播是在點播的基礎上增加很多模組,但也有很多痛點需要克服。

如下,是直播系統的需求:

  •     高清、高幀率直播。

  •     盡量接近 IPTV 體驗:低延時、快啟動及切換。

  •     24x7 不間斷直播服務。

  •     與點播體驗接近的直播內容。

基於 DASH 的直播系統

為了滿足 OTT 直播應用的需求,Hulu 研發了一套基於 DASH 的直播系統。

如下,是簡單的架構圖:

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/9D/DC/wKiom1mH2O3wpL_UAACuMUE-yWQ383.jpg" title="" border="0" />

CP 接入流通過 TS Over RTP 的方式,把內容發送到多碼率直播編碼器,編碼器輸出 6 到 8 個不同的碼率,最低 128K,滿足低頻寬強度下使用者的使用。

之後,進入封裝和加密環節,封裝成蘋果和 DASH 格式。一方面,時間資訊及中繼資料存到即時資料庫,進行 MPD 產生。另一方面,實際資料的檔案封裝後,按時間切成小塊,上傳到來源站點,再到 CDN。

當用戶端播放器準備開始播放時,從 MDP 伺服器瞭解哪些視頻可以播放,同時通過 CDN 拿到實際視頻的檔案。

構建直播系統面臨的挑戰

構建直播系統的過程中,Hulu 克服了來自各方面的痛點。下面主要分享“點播”式直播、瞬時使用者暴增和使用者觀看品質三方面的挑戰。

“點播”式直播

Hulu 希望在直播過程中,實現點播的效果。在直播的同時,可以隨心看之前的視頻,如:

650) this.width=650;" src="http://s1.51cto.com/wyfs02/M02/9D/DC/wKioL1mH2SChU_OPAADDo5KXmTA814.jpg" title="" border="0" />

為了實現這樣點播的使用模式,Hulu 採用 DASH 視頻格式來應對。

主要做了以下的事情:

  •     時間及時間資訊存於 Manifest。MPD 不僅要描述視頻本身,同時還要描述發生的事情,如現在是否在播放廣告等,這些都用 Manifest 方式儲存。

  •     採用視頻分流,短分區傳輸,把音頻拆分出來。這樣可以實現多個碼率之間切換的同時調到任何播放位置。

  •     全平台覆蓋。可支援網頁、客廳裝置、行動裝置等幾乎所有用戶端裝置。

如,是 DASH 格式:

650) this.width=650;" src="http://s5.51cto.com/wyfs02/M00/9D/DC/wKiom1mH2TnRVTf_AAC2JGSu1oY800.jpg" title="" border="0" />

瞬時使用者暴增

應對瞬時使用者直播暴增是大多直播平台都會遇到的事情,Hulu 也不例外,線上上這樣的事情很常見,一個熱門節目上映,比如 HBO 新出的 Game of Thrones,流量便會呈現十幾倍的增長。

應對這樣情況最有效方法就是提高系統彈性、可擴充性。解決方案有構建微服務架構,主要方式如下:

  •     負載平衡。在全球建立三個資料中心節點,個個節點之間可以進行負載平衡。

  •     微服務架構。基於 Docker 的可擴充微服務架構,如下是簡單:

650) this.width=650;" src="http://s1.51cto.com/wyfs02/M02/9D/DC/wKiom1mH2ZbiiIiiAABT1IT_mz0119.jpg" title="" border="0" />

    利用公用雲端抗負載。當探索資料中心負載承受不住時,會溢出到公用雲端。    全方位服務狀況監控警示系統。當任何一個服務發現 RPS 等發生變化,都會發出警報,營運人員會第一時間處理。

還有多 CDN 自動流量分配機制,最高層是人工規則,根據目前國內的使用方式調整比例。當發生實際 CDN 訪問失敗的情況下,便會用 Fallback 到另外一個 CDN,另外的用戶端也有自動的流量分配演算法調節。

使用者觀看品質

我們要如何來保證使用者觀看視頻的品質呢?比如如何保證不會黑屏?Hulu 建立了一套即時視頻品質監控系統,在每個用戶端都埋了相關模組,模組會搜集關鍵計量的情況。

如,是即時視頻品質監控流程圖:

650) this.width=650;" src="http://s1.51cto.com/wyfs02/M02/9D/DC/wKioL1mH2aOgy3gBAABVzh_tm7s625.jpg-wh_600x-s_1999566583.jpg" title="" border="0" />

一部分用 SBAK 即時事件處理的方式,進入 QOS 進行下一步的處理。另外即時處理的模組會最終加入 Elastic Search。

這樣一來,就可觀測緩衝率、平均碼率,直播延遲等等情況。如,不同顏色實際上是不同團隊負責的事情。

如,是對整個環節中所有 SLA 的監控,某服務的監控,綠色表示狀況比較好,紅色表示有問題,數字變大就要引起注意。這裡有各種各樣的指標,基本上所有的系統都有這樣一套對應的監控系統,每個團隊裡都可以看到自己團隊的整體狀況。

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/9D/DC/wKiom1mH2baAsP4LAACu5TNXCI0458.jpg" title="" border="0" />

以上內容根據李彬老師在 WOTA2017 “高效能直播系統架構”專場的演講內容整理。關注架構、演算法,營運等技術領域,有投稿、尋求報道意向技術人請聯絡 [email protected]

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/9D/DB/wKioL1mH15WTKA-aAABb7XAYec0991.jpg" title="" border="0" />

主導 Hulu 核心視頻技術的研發,參與及主導了 Hulu 多平台 DASH 播放器,視頻播放品質監控及分析系統,OTT MVPD 系統。從清華大學博士期間就一直從事互連網視頻相關領域的研究和開發。曾任北京閃動科技有限公司技術總監,該公司出品的“Dopool手機電視”用戶端累計啟用下載量過億。

650) this.width=650;" src="http://s5.51cto.com/wyfs02/M00/9C/4C/wKiom1luyAXhf-_QAACSsaar_g4853.jpg" title="" border="0" />

本文出自 “12562290” 部落格,請務必保留此出處http://12572290.blog.51cto.com/12562290/1954165

十年磨一劍,美國巨頭視頻網站 Hulu 的直播系統架構實踐

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.