自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

十年磨一劍,美國(guó)巨頭視頻網(wǎng)站Hulu的直播系統(tǒng)架構(gòu)實(shí)踐

原創(chuàng)
開(kāi)發(fā) 架構(gòu)
Hulu今年 5 月發(fā)布了最新的 OTT 電視直播應(yīng)用——Hulu Live TV,目標(biāo)是替代傳統(tǒng)的有線電視服務(wù),和國(guó)內(nèi)最近興起的直播應(yīng)用,比如 YY,映客等。本文主要分享 Hulu 現(xiàn)有視頻系統(tǒng)、Hulu OTT 直播應(yīng)用和基于 DASH 的直播系統(tǒng)這三方面,會(huì)涉及基于點(diǎn)播構(gòu)建直播過(guò)程中的一些難點(diǎn)與經(jīng)驗(yàn)。

Hulu 是 2007 年在美國(guó)上市的在線視頻公司,提供會(huì)員制付費(fèi)視頻服務(wù),商業(yè)模式與國(guó)內(nèi)的愛(ài)奇藝、優(yōu)酷類(lèi)似。Hulu 今年 5 月發(fā)布了***的 OTT 電視直播應(yīng)用——Hulu Live TV,目標(biāo)是替代傳統(tǒng)的有線電視服務(wù),和國(guó)內(nèi)最近興起的直播應(yīng)用,比如 YY,映客等。

本文主要分享 Hulu 現(xiàn)有視頻系統(tǒng)、Hulu OTT 直播應(yīng)用和基于 DASH 的直播系統(tǒng)這三方面,會(huì)涉及基于點(diǎn)播構(gòu)建直播過(guò)程中的一些難點(diǎn)與經(jīng)驗(yàn)。

Hulu 現(xiàn)有視頻系統(tǒng)

Hulu 終端與視頻內(nèi)容

Hulu 應(yīng)用在電視、電腦、各種移動(dòng)設(shè)備、甚至游戲機(jī)上都可以訪問(wèn),如下圖:

[[199231]]

Hulu 最初也是從網(wǎng)站形式做起,隨著時(shí)間的推移,特別是美國(guó)家庭的客廳是用戶(hù)經(jīng)常觀看視頻的場(chǎng)所,所以 Hulu 不斷地研發(fā),適配能播放視頻的硬件。點(diǎn)播的內(nèi)容主要是電視、電影、自制劇、兒童節(jié)目等比較專(zhuān)業(yè)的制作內(nèi)容。

Hulu 商業(yè)模式

Hulu 主要有兩種商業(yè)模式,一種是通過(guò)視頻廣告獲取利潤(rùn),一種是通過(guò)注冊(cè)會(huì)員獲取利潤(rùn)。

下圖是一個(gè)電影廣告的例子。不僅有常見(jiàn)的視頻廣告,還有可以和用戶(hù)直接互動(dòng)的部分,提示用戶(hù)點(diǎn)擊購(gòu)買(mǎi)電影票。多年來(lái),Hulu在廣告模式上有很多嘗試,包括客廳設(shè)備上也有很多互動(dòng)形式。

除廣告外,會(huì)員制也是 Hulu 盈利的主要方式。通過(guò)注冊(cè)會(huì)員,繳納會(huì)員費(fèi),用戶(hù)可以享受到***,最全的電視節(jié)目。

點(diǎn)播系統(tǒng)面臨的挑戰(zhàn)和關(guān)鍵技術(shù)

數(shù)字視頻供應(yīng)鏈

視頻供應(yīng)鏈部分,用戶(hù)雖然不能夠直接看到,但是會(huì)給用戶(hù)產(chǎn)生直接的影響。Hulu 在美國(guó)市場(chǎng)較大的賣(mài)點(diǎn)是電視臺(tái)播放的節(jié)目,第二天就可以同步上線。

這看似簡(jiǎn)單的需求背后,卻對(duì)前面整個(gè)的處理周期要求很高,如上線速度、管理用戶(hù)的觀看時(shí)間等等,每個(gè)環(huán)節(jié)都要做好。面對(duì)供應(yīng)鏈帶來(lái)的挑戰(zhàn),Hulu 建立了整套視頻轉(zhuǎn)碼系統(tǒng),由這個(gè)分布式集群來(lái)應(yīng)對(duì)。

多平臺(tái)視頻服務(wù)

面對(duì)多平臺(tái)播放的挑戰(zhàn),Hulu 建設(shè)了多平臺(tái)視頻服務(wù),自制播放器,保證在各個(gè)平臺(tái)正常播放,用一套統(tǒng)一視頻流就可以支撐所有平臺(tái)。

還有基于 DASH 統(tǒng)一視頻格式,它的可擴(kuò)展性、封裝效率等方面也表現(xiàn)優(yōu)秀。

內(nèi)容保護(hù)

Hulu 基于 DASH 及 CENC 建設(shè)了多 DRM 視頻系統(tǒng),保障不同平臺(tái),即使用不同的 DRM 系統(tǒng)也可以使用統(tǒng)一的加密視頻源。

廣告插入

網(wǎng)絡(luò)不好的情況下,插入廣告可能導(dǎo)致視頻重新緩沖,給用戶(hù)帶來(lái)不好的影響。Hulu 的做法是基于 DASH XLINK 的動(dòng)態(tài)廣告插入機(jī)制,可以在流上進(jìn)行兩者合并,播放器實(shí)時(shí)進(jìn)行預(yù)加載,而不需要切換播放器、流等操作。

視頻播放質(zhì)量保證

為了保證視頻播放的質(zhì)量,Hulu 建立了視頻播放質(zhì)量保證體系,包含客戶(hù)端可以做自適應(yīng)動(dòng)態(tài)碼流的切換、多 CDN 自動(dòng)切換、實(shí)時(shí)視頻 QOS 監(jiān)控及響應(yīng)系統(tǒng)等。

現(xiàn)有點(diǎn)播視頻系統(tǒng)架構(gòu)

如下圖,是圍繞點(diǎn)播產(chǎn)品的系統(tǒng)架構(gòu)

目前很多在線視頻的架構(gòu)基本類(lèi)同,但是 Hulu 比較特殊的地方是:

    美國(guó)內(nèi)容生產(chǎn)廠商對(duì)內(nèi)容安全性要求高,要求所有內(nèi)容必須有 DRM 加密模式,所以這里構(gòu)建了比較完善的 DRM license,來(lái)保證所有內(nèi)容都可以安全播放。

    在重要的廣告部分,單獨(dú)布設(shè)廣告服務(wù)器,保證用戶(hù)有好的廣告體驗(yàn),杜絕很長(zhǎng)、重復(fù)的廣告。

Hulu OTT 直播應(yīng)用

OTT 是 Hulu 新的直播應(yīng)用,直播是在點(diǎn)播的基礎(chǔ)上增加很多模塊,但也有很多難點(diǎn)需要克服。

如下,是直播系統(tǒng)的需求:

  •     高清、高幀率直播。
  •     盡量接近 IPTV 體驗(yàn):低延時(shí)、快啟動(dòng)及切換。
  •     24x7 不間斷直播服務(wù)。
  •     與點(diǎn)播體驗(yàn)接近的直播內(nèi)容。

基于 DASH 的直播系統(tǒng)

為了滿(mǎn)足 OTT 直播應(yīng)用的需求,Hulu 研發(fā)了一套基于 DASH 的直播系統(tǒng)。

如下,是簡(jiǎn)單的架構(gòu)圖:

CP 接入流通過(guò) TS Over RTP 的方式,把內(nèi)容發(fā)送到多碼率直播編碼器,編碼器輸出 6 到 8 個(gè)不同的碼率,*** 128K,滿(mǎn)足低帶寬強(qiáng)度下用戶(hù)的使用。

之后,進(jìn)入封裝和加密環(huán)節(jié),封裝成蘋(píng)果和 DASH 格式。一方面,時(shí)間信息及元數(shù)據(jù)存到實(shí)時(shí)數(shù)據(jù)庫(kù),進(jìn)行 MPD 生成。另一方面,實(shí)際數(shù)據(jù)的文件封裝后,按時(shí)間切成小塊,上傳到源站,再到 CDN。

當(dāng)客戶(hù)端播放器準(zhǔn)備開(kāi)始播放時(shí),從 MDP 服務(wù)器了解哪些視頻可以播放,同時(shí)通過(guò) CDN 拿到實(shí)際視頻的文件。

構(gòu)建直播系統(tǒng)面臨的挑戰(zhàn)

構(gòu)建直播系統(tǒng)的過(guò)程中,Hulu 克服了來(lái)自各方面的難點(diǎn)。下面主要分享“點(diǎn)播”式直播、瞬時(shí)用戶(hù)暴增和用戶(hù)觀看質(zhì)量三方面的挑戰(zhàn)。

“點(diǎn)播”式直播

Hulu 希望在直播過(guò)程中,實(shí)現(xiàn)點(diǎn)播的效果。在直播的同時(shí),可以隨心看之前的視頻,如下圖:

[[199232]]

為了實(shí)現(xiàn)這樣點(diǎn)播的使用模式,Hulu 采用 DASH 視頻格式來(lái)應(yīng)對(duì)。

主要做了以下的事情:

  •     時(shí)間及時(shí)間信息存于 Manifest。MPD 不僅要描述視頻本身,同時(shí)還要描述發(fā)生的事情,如現(xiàn)在是否在播放廣告等,這些都用 Manifest 方式存儲(chǔ)。
  •     采用視頻分流,短分片傳輸,把音頻拆分出來(lái)。這樣可以實(shí)現(xiàn)多個(gè)碼率之間切換的同時(shí)調(diào)到任何播放位置。
  •     全平臺(tái)覆蓋。可支持網(wǎng)頁(yè)、客廳設(shè)備、移動(dòng)設(shè)備等幾乎所有客戶(hù)端設(shè)備。

如下圖,是 DASH 格式:

瞬時(shí)用戶(hù)暴增

應(yīng)對(duì)瞬時(shí)用戶(hù)直播暴增是大多直播平臺(tái)都會(huì)遇到的事情,Hulu 也不例外,在線上這樣的事情很常見(jiàn),一個(gè)熱門(mén)節(jié)目上映,比如 HBO 新出的 Game of Thrones,流量便會(huì)呈現(xiàn)十幾倍的增長(zhǎng)。

應(yīng)對(duì)這樣情況最有效的方法就是提高系統(tǒng)彈性、可擴(kuò)展性。解決方案有構(gòu)建微服務(wù)架構(gòu),主要方式如下:

  •     負(fù)載均衡。在全球建立三個(gè)數(shù)據(jù)中心節(jié)點(diǎn),個(gè)個(gè)節(jié)點(diǎn)之間可以進(jìn)行負(fù)載均衡。
  •     微服務(wù)框架?;?Docker 的可擴(kuò)展微服務(wù)框架,如下是簡(jiǎn)單示意圖:
  •     利用公有云抗負(fù)載。當(dāng)發(fā)現(xiàn)數(shù)據(jù)中心負(fù)載承受不住時(shí),會(huì)溢出到公有云。
  •     全方位服務(wù)狀況監(jiān)控報(bào)警系統(tǒng)。當(dāng)任何一個(gè)服務(wù)發(fā)現(xiàn) RPS 等發(fā)生變化,都會(huì)發(fā)出警報(bào),運(yùn)維人員會(huì)***時(shí)間處理。

還有多 CDN 自動(dòng)流量分配機(jī)制,***層是人工規(guī)則,根據(jù)目前國(guó)內(nèi)的使用情況調(diào)整比例。當(dāng)發(fā)生實(shí)際 CDN 訪問(wèn)失敗的情況下,便會(huì)用 Fallback 到另外一個(gè) CDN,另外的客戶(hù)端也有自動(dòng)的流量分配算法調(diào)節(jié)。

用戶(hù)觀看質(zhì)量

我們要如何來(lái)保證用戶(hù)觀看視頻的質(zhì)量呢?比如如何保證不會(huì)黑屏?Hulu 建立了一套實(shí)時(shí)視頻質(zhì)量監(jiān)控系統(tǒng),在每個(gè)客戶(hù)端都埋了相關(guān)模塊,模塊會(huì)搜集關(guān)鍵指標(biāo)的情況。

如下圖,是實(shí)時(shí)視頻質(zhì)量監(jiān)控流程圖

一部分用 SBAK 實(shí)時(shí)事件處理的方式,進(jìn)入 QOS 進(jìn)行下一步的處理。另外實(shí)時(shí)處理的模塊會(huì)最終加入 Elastic Search。

這樣一來(lái),就可觀測(cè)緩沖率、平均碼率,直播延遲等等情況。如上圖,不同顏色實(shí)際上是不同團(tuán)隊(duì)負(fù)責(zé)的事情。

如下圖,是對(duì)整個(gè)環(huán)節(jié)中所有 SLA 的監(jiān)控,某服務(wù)的監(jiān)控,綠色表示狀況比較好,紅色表示有問(wèn)題,數(shù)字變大就要引起注意。這里有各種各樣的指標(biāo),基本上所有的系統(tǒng)都有這樣一套對(duì)應(yīng)的監(jiān)控系統(tǒng),每個(gè)團(tuán)隊(duì)里都可以看到自己團(tuán)隊(duì)的整體狀況。

以上內(nèi)容根據(jù)李彬老師在 WOTA2017 “高性能直播系統(tǒng)架構(gòu)”專(zhuān)場(chǎng)的演講內(nèi)容整理。關(guān)注架構(gòu)、算法,運(yùn)維等技術(shù)領(lǐng)域,有投稿、尋求報(bào)道意向技術(shù)人請(qǐng)聯(lián)絡(luò) wangxy@51cto.com

[[199235]]

主導(dǎo) Hulu 核心視頻技術(shù)的研發(fā),參與及主導(dǎo)了 Hulu 多平臺(tái) DASH 播放器,視頻播放質(zhì)量監(jiān)控及分析系統(tǒng),OTT MVPD 系統(tǒng)。從清華大學(xué)博士期間就一直從事互聯(lián)網(wǎng)視頻相關(guān)領(lǐng)域的研究和開(kāi)發(fā)。曾任北京閃動(dòng)科技有限公司技術(shù)總監(jiān),該公司出品的“Dopool手機(jī)電視”客戶(hù)端累計(jì)激活下載量過(guò)億。

 

責(zé)任編輯:王雪燕 來(lái)源: 51CTO技術(shù)棧
相關(guān)推薦

2009-07-27 18:49:01

ITIL運(yùn)維管理摩卡

2012-08-30 09:47:22

編程自學(xué)編程程序員

2011-11-04 09:04:50

Eclipse

2011-04-03 15:50:10

2021-03-04 22:33:43

人工智能制藥醫(yī)療

2013-07-16 10:05:41

阿里巴巴大數(shù)據(jù)

2021-05-31 09:46:15

華為MatePad Pro鴻蒙系統(tǒng)

2010-07-27 08:45:35

Perl 6Larry Wall

2012-09-12 09:45:24

騰訊惡意網(wǎng)址

2017-09-01 13:20:43

華為

2013-10-15 20:53:28

虛擬USB固網(wǎng)打印服務(wù)器

2022-07-26 14:20:49

新華三

2017-09-20 14:07:44

2017-01-05 18:02:05

服務(wù)器

2018-10-12 17:12:47

華為

2022-04-25 17:46:25

紛享銷(xiāo)客

2018-09-14 13:52:04

2017-01-04 13:24:08

中安威士數(shù)據(jù)庫(kù)

2022-09-05 10:45:15

WOT51CTOIT

2022-07-21 07:31:41

數(shù)據(jù)庫(kù)分布式
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)