1. 程式人生 > >一場穩定、高清、流暢的大型活動直播是怎麼煉成的?

一場穩定、高清、流暢的大型活動直播是怎麼煉成的?

雙11貓晚是家喻戶曉的綜藝晚會,在今年的雙11,阿里集團為2500萬用戶提供了一場線上直播視覺盛宴。網友評價這是一場既穩定流暢又高清的直播,當然在這背後離不開阿里雲的技術支援。

本次天貓晚會中,視訊雲首次採用4k和50幀的技術,把整個畫質提升到接近肉眼極限,同時為使用者提供瞭如絲般順滑的直播體驗。

image

那麼這麼一場大型活動的直播究竟是如何煉成的呢?阿里雲視訊雲技術專家裘良科帶我們從穩定、畫質、流暢、監控四個方面開始解讀。

如何做到100%穩定?

裘良科認為:“最安全的做法就是做好500%的準備,以不便應萬變。”

下圖是雙11直播的技術架構,分為幾大部分:直播源站、視訊直播中心和CDN分發系統和客戶端。簡單的看這張圖,所有的鏈路都是雙備份的。直播源站部分,採用了多線收流、主備轉碼器、多線專線等策略,直播中心都是多機房接入,再採用多流合併,當任何一個機房出現問題的時候,輸出的直播流是不會受任何影響的。在這之後,直播中心會對直播流進行轉碼、錄製、智慧處理、切片、時移回放等處理,中間所有模組都是專有資源池供大型活動使用,保證不會受其他活動影響。任何一個模組發生異常,都可以秒級進行切換。產生到的內容在分發之前,會先進行儲存,中心主備。到了分發環節,會實時檢查源站的質量,並進行切換。

image

在這樣的架構之下,任何單點、單機房、單線路、單模組的故障,都不會導致直播服務不可用,幾乎做到絕對安全。

當然,除了自身穩定之外,安全也十分重要。在安全方面,視訊雲在推流、播放和拉流等環節,採用多重鑑權、IP黑白名單、播放格式/地區/IP等限制、HTTPS、防劫持等能力,實現全鏈路安全保障。

如何讓使用者享受到極致的畫質?

一、實時4K直播

視訊清晰度作為衡量使用者體驗的重要指標,也是視訊雲技術團隊十分關注的方向。本次貓晚的視訊清晰度再度升級,通過阿里雲直播服務提供實時4K直播,將現場4K超高清、高幀率的視訊實時處理,進行畫質提升。
在4K視訊的處理上,直播服務大規模使用GPU進行視訊處理及轉碼,大大提升了實時視訊處理能力,保證了直播視訊最高4K的HEVC實時轉碼。據悉,4K高清直播已在阿里雲的眾多遊戲直播客戶中廣泛使用。

二、50幀極清

阿里雲和優酷合力研發的50幀極清技術,可通過人工智慧演算法預測運動方向和軌跡,將原始的每秒25幀畫面普通電視訊號變換為每秒50幀畫面的高幀率視訊內容,給使用者提供更加流暢的沉浸式觀看體驗。

50幀極清的效果,就像去電影院看大片,動作效果非常豐富的情況下,也不存在頓挫感。今年夏天的世界盃和本次雙11貓晚都採用50 幀技術,視覺上看是非常流暢的。

三、位元速率(位元率)最佳配比

除了4K技術,基於內容進行編碼優化也是視訊雲的優勢。裘良科表示:“阿里的窄帶高清技術精髓就在於使每一個位元分配到最需要它的地方。”

這裡我們先來看幾個概念:

  1. 解析度是影象精密度的概念,代表著質量的極限,是不是越大越好呢?是也不是。解析度大,點就多,需要的位元速率就高,需要的頻寬就會變大,傳輸成本和對網路的要求都會變大。
  2. 位元速率,比就是位元率,它代表單位時間傳送的資料位數,視訊檔案大小就是由位元速率決定的,而且是成正比。
  3. 幀率,代表著視覺流暢度,在我國通常幀率在25幀左右。然而幀率達到50-60的時候,我們幾乎肉眼察覺不到間隔和差異。

那我們如何在幀間和幀內進行合理位元速率分配,以達到最優的平衡呢?

1. 合理分配幀間位元速率

每一幀都需要位元速率來顯示影象,那麼我們如何判斷哪一幀需要較多的幀率?哪一幀需要較少呢?其實這就需要基於對內容的分析,提前進行預判,你認為這一幀是複雜的畫面,比如好萊塢動作大片,就多分配幀率,如果這一陣比較簡單,比如新聞聯播,就少分配。以此來實現合理的幀間位元速率分配。

2. 合理分配幀內位元速率

在整個影象中,並不是全部都需要非常清楚的。比如說你在看晚會的時候,你看的是中間的人物嘉賓,所以把人物和臉識別出來,就是你眼睛聚焦的地方,多分配一些位元速率。同時,衣服的褶皺紋理也多分配一些位元速率,背景作為脫焦區域,就少分配一些位元速率了。通過幀間、幀內的位元速率分配,讓整個視訊的質量更高。在同等位元速率之下,獲得更高的質量。同樣質量之下,可以節省更多頻寬。
image

那在播放層面,如何保證流暢不卡頓呢?

裘良科認為,在確保直播流暢度上,全球覆蓋的CDN節點和精準排程系統缺一不可。CDN節點是採用分散式架構,擁有遍佈全球的1500個節點和充足的頻寬儲備,單節點頻寬 40Gbps+,全網頻寬輸出能力120 Tbps。同時採用四層智慧排程架構(如下圖),來確保整個分發的流暢。

image

如何實現精準排程,確保大型活動突發峰值的流暢

但是面對晚會等大型活動,突發峰值非常高,需要更精準的排程策略,來實現排程。打比方有一個裝了很多冰塊和水的杯子,如果我們要把杯子裡面的狹小空間全部用上,我們先要把冰塊放進去,再倒液態水。DNS的協議限制類似冰塊。其他別的排程形式,比如IP排程,可以做好請求級別的排程,也就是支援任意比例的負載均衡,就像液態水一樣。所以,在智慧排程的場景裡,把“固體”和“液體”結合起來考慮,才能做到所有的節點、水位的精準控制,實現更精準的排程。
image

同時,在位元速率瞬間激增的情況下,常規的流量預測演算法失算了,進而會干擾流控程式, 這個問題阿里雲使用了基於AI流量預測進行預排程,在10分鐘內的預測的精準度到98%,一小時的精準度95%以上。

監控系統保駕護航

在確保了穩定、畫質和流暢之後,一場大型活動的直播離不開監控系統。我們肯定需要對當前的直播狀態做監控,以確保及時調整策略。

監控從以下四個方面進行:

1、流監控:針對每一路流進行秒級實時監控,及時獲得直播流的幀率、位元速率、時間戳等狀態
2、播放質量監控:實時獲知服務端慢速比,使用者端卡頓率
3、可用性監控:實時返回視訊5XX等播錯誤資料,及時定位視訊失敗原因
4、業務量監控:實時獲取當前線上使用者數

作為這場貓晚的唯一網路直播平臺,優酷平臺上直播觀看人數近2500萬,是去年的兩倍。這也是阿里雲視訊雲第四年支援雙11貓晚網路直播,從作戰室監控的資料上來看,貓晚直播期間各項系統資料指標運轉平穩,一場穩定、高清、流暢的大型活動直播就就此實現。

經過世界盃、雙11貓晚等多次錘鍊,視訊雲直播服務已經具備一整套大型賽事/活動/綜藝直播的服務經驗,並實現對阿里雲各行業客戶的賦能,為視訊行業創造更多價值。