摘要:今年夏天,俄羅斯世界杯召開。世界杯高達千萬級的并發(fā)在線觀看用戶,且用戶量徒增非常明顯。安全世界杯賽事直播護航工作中,內容的安全和穩(wěn)定同樣重要。
今年夏天,俄羅斯世界杯召開。在剛剛落幕的重慶云棲飛天技術匯專場中,阿里視頻云技術專家裘良科,就世界杯這個話題,跟參會嘉賓一起探討了千萬級直播高穩(wěn)定的挑戰(zhàn)和相關實踐,本文為演講全文。
2018年俄羅斯世界杯從6月14日到7月15日,跨度整整一個月,共有64場比賽,優(yōu)酷成為央視指定的世界杯新媒體官方合作伙伴,作為優(yōu)酷的同門兄弟,阿里云也一并為世界杯直播的提供技術支持,一同征戰(zhàn)世界杯。 整個世界杯期間,阿里云的服務是不間斷的,要始終保持著穩(wěn)定與流暢。而且除了支持優(yōu)酷外,阿里云同時支持著CCTV5、CNTV、咪咕的世界杯直播,支撐了全網世界杯流量的70%。單單優(yōu)酷的法阿大戰(zhàn)單場并發(fā)就達到2000W,加上其他的幾家客戶,足足有數千萬的用戶并發(fā)。這么大規(guī)模、持久的賽事,對直播平臺也是很大的挑戰(zhàn)。
那么從技術層面看,世界杯直播的挑戰(zhàn)究竟有哪些?? 第一個挑戰(zhàn)是內容集中。世界杯核心內容就是CCTV5,加上解說頻道,多角度頻道就10多路直播,假設源站出現問題,那么所有的直播都會出現問題。
? 第二個挑戰(zhàn)是高并發(fā)。世界杯高達千萬級的并發(fā)在線觀看用戶,且用戶量徒增非常明顯。假設直播平臺出現短暫故障,所有用戶可能會重新請求或者請求其他系統,對系統壓力也會非常大。
? 第三個挑戰(zhàn)是安全性。世界杯是世界級盛會,假設中間出現安全事故,影響會非常大,平臺方也會有不可推卸的責任。
在這樣的挑戰(zhàn)之下,阿里云要始終保持著世界杯直播的穩(wěn)定、流暢、安全,背后有一套復雜的方案和邏輯,下面我們來從穩(wěn)定性、安全、監(jiān)控三個部分展開。
穩(wěn)定性
下圖是世界杯直播穩(wěn)定性架構圖,分為四大部分,信源生產鏈路、視頻云中心、CDN和客戶端。
第一部分是信源生產鏈路,因為最原始的信號很有可能不被云平臺使用,比如非常高碼率的信號,不適合傳輸,所以一般都會有信源生產的鏈路進行編碼,提供一個源站服務。第二部分是視頻云中心,整個直播平臺架構是中心架構,所有直播所需要的功能,比如轉碼、截圖、錄制、水印等功能,都是在中心完成的。第三部分是CDN,CDN是真正承載整個世界杯直播的用戶壓力的一環(huán),數千萬的用戶都跑在CDN上。第四個部分是客戶端。接下來分各個環(huán)節(jié)來介紹阿里云如何保障服務穩(wěn)定。
一、信源生產鏈路? 多信號源輸入:生產鏈路環(huán)節(jié)一般是用戶自己搭建,建議用戶多信號源輸入,因為單信號源輸入的情況下,如果信號源中斷就會導致業(yè)務中斷。如果信號源確認只有一個的話,建議用戶信號源多鏈路輸入,避免單鏈路故障而導致信號源無法接收。
? 主備線下轉碼器:前面講到原始信號源是沒辦法直接使用的,所以會用到一個編碼器,我們一般會要求編碼器的主備是實時能夠獲取多個信號源,并支持實時切換的。切換的模式有兩種,第一個是直接主備模式,在同時輸出源,只有1臺編碼器。第二個雙備的方式,2臺編碼器的輸出源同時給云平臺提供數據源,這樣的方式,我們最終會把轉碼器的數據通過拉流或者推流的方式同步到視頻云中心。如果是拉流的方式,視頻云中心會從多個源站同時拉流,保證任何一個源站/編碼器出現問題,視頻云中心都可以順利的拿到數據。如果是推流的方式,主動權在用戶,用戶也最好能多個源站/編碼器同時向視頻云中心推流。
? 多出口推/拉流:源站的出口鏈路一般會要求是多個,因為單出口鏈路存在網絡風險。
二、視頻云中心結合多網絡輸入,視頻云中心也會采用多網絡接入。
流合并,多個流來到視頻云中心,通過特有的合并組件,把多個流變成一路流。
組件分布式部署,對于重大賽事,所用的機房我們會采用獨立資源專用機房,和其他業(yè)務之間互不影響。
全鏈路自動切換,每一個組件的狀態(tài)都會自動檢測,發(fā)生問題在10秒鐘之內完成切換,保證直播流的連續(xù)性。
對于交互相對較少的賽事直播,所以會采用H264直播,進行的優(yōu)化是,所有的切片輸出的H264切片中,切片長度和I幀都是對齊的,好處是當下游想在不同碼率之間切換的時候,畫面是連續(xù)的,不會有跳躍感。
切片雙寫,每一路流在進行切片的時候,都是雙進程切片,同時切到兩個OSS,這樣就保證了下游CDN的源是雙份的。
考慮到賽事直播的重要性,整套架構在原來的基礎上,同時做了中心異地備份。
三、 CDN與客戶端配合OSS雙寫,CDN也同時支持兩個OSS,并根據實時檢測把好的切片拼成一路,任何一個OSS寫異常、寫的慢都不會影響內容的傳輸。
中心主備與L2災備,由于CDN本身架構就是分布式的,考慮到世界杯的規(guī)模非常大,采用中心主備,如果CDN中心出現問題,會馬上切換為另一個。另外,每個地區(qū)都會放多個L2節(jié)點,如果L2在某一時刻出現問題,會馬上要附近的其他L2接入,不會因為異地影響服務質量。
采用節(jié)點內的負載均衡和CDN的調度優(yōu)化方案,可以確保業(yè)務順暢。
最后,給客戶端一個建議,因為客戶端很多,當前面的切換出現時,某些客戶端可能會出現卡死無法播放等問題,所以客戶端需要對CDN請求做一個重試。
安全世界杯賽事直播護航工作中,內容的安全和穩(wěn)定同樣重要。用戶可以通過阿里云云導播臺內容審核、源站IP推流和拉流的白名單設置、推流鑒權、拉流HTTPS校驗防劫持等幾個方案,來保障內容安全。針對類似世界杯賽事的版權內容,阿里云也提供播放鑒權&二次鑒權、DRM對視頻本身鑒權、分域名封禁、區(qū)域限制等方案來防止盜播盜鏈。
監(jiān)控架構解決了穩(wěn)定性問題,并在安全方面也做了很多準備之后,直播當然也需要監(jiān)控,阿里云對于世界杯直播的監(jiān)控分以下三大部分。
第一是技術環(huán)境的監(jiān)控
包括直播中心、CDN每臺設備的CPU使用率、內存、網絡、磁盤等,如果出現故障情況,就和前面的方案配合進行自動切換;如果出現異常、亞健康的狀態(tài),則會通過報警讓運維人員快速定位問題和快速處理。
第二是應用監(jiān)控
包括每個程序的進程、端口、QPS壓力、直播延遲,與前面環(huán)境監(jiān)控的處理方式一樣,如果出現故障,就和切換機制聯動,如果出現異常則通過報警來人為處理。
第三是業(yè)務監(jiān)控
包括直播全鏈路監(jiān)控,下圖是一張比較復雜的直播業(yè)務的監(jiān)控圖,綠色代表正常,黃色可能會出現丟幀、丟包等問題出現的異常線路。點開每一條線,就可以看到沒路流在當前時間下的狀態(tài)值,比如說時間戳一小時之內是否連續(xù)、遞增和跳頻,避免客戶端兼容性問題引發(fā)的不好的用戶體驗。
對于幀率的監(jiān)控,在視頻云中心進行流合并的時候,我們實時地把不同的流合并成一個,來達到抗抖動的效果。下面四幅圖是同一時間同一路流的監(jiān)控,上面三路流合并成下面一路流,毛刺變少,結果更穩(wěn)定。
除此之外,系統還會針對服務端慢速比、客戶端卡頓率等數據,進行實時收集和監(jiān)控,通過和客戶端的聯合,實現質量調優(yōu)。
除了以上高穩(wěn)定性的服務架構、多維度安全策略以及全鏈路監(jiān)控以外,阿里視頻云也為用戶提供時移直播、智能剪輯、異地容災、智能調度、秒開、碼率控制、50幀極清、高速通道、防盜鏈、云導播臺、廣告識別、ET字幕等能力。
相信護航過世界杯直播之后,阿里視頻云一定在活動、賽事直播這個場景下沉淀了更多技術,在未來為客戶創(chuàng)造更多價值,為用戶帶來更極致的觀看體驗。
本文作者:樰籬
閱讀原文
本文為云棲社區(qū)原創(chuàng)內容,未經允許不得轉載。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/11398.html
摘要:實時互動直播延時必須低達幾百毫秒。實時互動直播要保證高可用性,有巨大的難度,原因如下實時很難。單服務器實時互動直播架構實時互動直播,不能使用方案,因為方案性質決定了延時達不到實時的要求。 現在比較流行的直播,經常會出現這樣的情況: 用戶打了一個彈幕上去,主播念出來的時候,彈幕已經飛出去了。二者時間是不匹配的。 這是我們的一個客戶,兩個主播連線互動,實時交互。試想,如果直播時延時高達幾秒...
閱讀 2946·2021-09-23 11:32
閱讀 2918·2021-09-22 15:12
閱讀 1707·2019-08-30 14:07
閱讀 3448·2019-08-29 16:59
閱讀 1640·2019-08-29 11:11
閱讀 2306·2019-08-26 13:50
閱讀 2426·2019-08-26 13:49
閱讀 2620·2019-08-26 11:49