本文整理自華為云視頻云架構師武杰線上分享的演講,他詳細介紹華為云從直播到實時音視頻的網絡架構演進、低時延傳輸技術,分享華為云實時音視頻的應用場景實踐。實時音視頻業務將逐步成為云基礎設施,使能千行百業。面對直播,實時音視頻爆發式增長,華為云如何使用一套系統解決直播,實時音視頻業務融合以及低時延傳輸等相關問題?
大家好,我叫武杰,是華為云視頻云架構師。從2006年開始參加工作,曾在通信行業負責IMS核心網業務系統產品研發。曾主管直播CDN、彈性轉碼系統架構、研發和運維。2019年加入華為,曾負責華為云直播服務,實時音視頻服務產品規劃和架構,現負責華為云視頻云服務整體技術架構和可靠性設計工作。有著10年以上大規模分布式系統研發、運維和架構經驗,在CDN網絡架構,音視頻傳輸,擁塞控制,通信協議等領域與有著多年經驗積累。 本次我分享主題是華為云RTC服務架構及應用實踐。 1 對音視頻技術發展的回顧和展望 1.1 視頻業務走向實時互動,RTC成為視頻基礎能力
從3G、4G一直到5G,隨著網絡的發展,網絡技術不斷躍遷,這也帶來了更快的傳輸速率、更低的延遲和更低的成本。從最原始的IM到點播+評論,再到直播+彈幕。我們預測未來隨著5G的發展,網絡會帶來更低的時延,如云渲染、虛擬空間碼率的業務以及AI、IoT業務會隨著網絡技術的演進逐步成熟。 1.2 實時音視頻RTC應用場景將繼續深化
從4G到5G技術的迭代,我們看到整個RTC從普通的娛樂視頻、教育視頻,到結合行業逐步適配更廣泛的應用,例如智慧辦公、應急指揮、遠程醫療等。未來隨著萬物互聯的時代到來,實時音視頻業務會繼續深入,連接物與物、人與物,成為實時交互的連接網絡,如智能家庭終端、智能汽車、智能手表等音視頻交互、操控。現在音視頻還處于井噴的起始階段,未來人與物、物與物的協作還將繼續爆發,并且和生活密切相關。 2 傳 統 直 播 2.1 傳統直播架構——時延和卡頓二選一
上圖的系統架構是直播系統比較通用的架構,一般分為3層架構,分別是單線的CDN邊緣、多線的CDN中心和承載一些增值服務的源站。從這個架構中可以看出以下問題:
上、下行流均需要通過兩層網絡到直播源站,并在直播源站關聯匯聚,成本較高;
屬于靜態路由規劃,無法保證端到端最優路徑,質量優化空間有限;
全鏈路TCP,特別是第一公里和最后一公里不確定網絡條件,一旦產生丟包,質量迅速下降。
所以在整個直播過程中,CDN會給3-5s左右的時延,讓終端有buffer抗抖動。這里的痛點是時延和卡頓,這是需要進行二選一的過程,如果要追求較低的卡頓率,時延就需要加大。現在的一些超低時延直播引入了WebRTC技術或者用SRT、QUIC解決第一公里或最后一公里的問題,這樣做能帶來一些好處,但它的時延最多只能做到1s左右。 2.2 割裂的網絡
隨著直播業務不斷地發展,直播的交互性從2016年主播和觀眾通過文字或彈幕交互,逐步演進成實時連麥的交互,整個RTC最初比較火的業務也是連麥——主播在上播過程中可以申請權限與主播連麥,分享至很多人。對于一些直播平臺,它們需要對接兩套系統——實時音視頻系統與直播系統。當主播開始連麥時,從直播系統切至實時音視頻系統,主播與觀眾間有幾百毫秒的時延,對于普通觀眾在合流塊引入1到2s的延時,直播塊引入3-5s的延時,整個時延變得非常大。而當觀眾退麥時,他會在直播中看到幾秒前的自己,對于這種傳統直播的實現方式是割裂的網絡。 3 華為云RTC
3.1 RTC原生架構
華為RTC云的理念是打造統一資源架構和技術架構以支持當前直播+RTC場景,華為云希望將多個網絡變成統一網絡、多個系統變成統一系統、SDK盡量做到統一去解決交互和直播的融合場景,實現會議、直播、連麥以及后續其他繼續深入的場景支撐。 3.2 華為云RTC整體架構 華為云RTC基于華為云構建,在整個環境中分為5層架構:
最上層是Global區,承載了數據、內容管理、調度等相關的能力;
Region區,部署在廣州、北京、上海,配置的是RTC的增值能力,例如截圖、審核、轉碼、RTR等;
中心與邊緣位于華為云整個CDN節點上,有相應與RTC配套的服務,包括轉碼、實時渲染等;
最下層為用戶層。我將在下文針對以上內容做詳細說明。
3.3 實時音視頻分發網絡
從結構來看,華為云RTC不再是樹狀架構,通過調度和內部路徑選優的方式盡量找到主播和普通觀眾之間的最短路徑,可能會將觀眾與主播調至同一節點、或進行節點與節點之間的互通、又或者節點間通過中轉接點互通,從而確保端到端路徑最短、時延最優。這中間一旦出現問題,可以進行相應的中轉節點或鏈路的調換。與此同時,部分增值業務節點可下沉到接入節點,支持超低時延(100ms) 轉碼,租戶可按需合流。
3.4 實時音視頻傳輸協議棧
華為實時音視頻傳輸協議棧,以UDP和TCP網絡以及華為自研的ADN——四層RPN的網絡為傳輸層的基礎,打造實時傳輸協議棧,在協議棧中支持HWRTC協議、WebRTC,用以上協議支持上層RTC業務、超低時延直播業務、標準直播業務,未來將整合GB28181擴展性攝像頭相關的業務。
3.5 計算資源的邊緣下層——邊緣媒體+AI計算架構
邊緣媒體+AI計算架構依托于華為云邊緣節點,通過IEF對整個邊緣節點找了邊緣函數框架,在上方構建實施媒體+AI的能力。也就是說這里不僅具備編解碼能力,還可以集成第三方EI的算法鏡像。這種方法可以將端側的美顏替換能力下放到云的邊緣。
3.6 華為云RTC技術 智能編解碼+網絡自適應雙輪驅動
在整個RTC過程中,從采集端到播放端的過程,第一步通過設備采集音視頻,在編解碼層采用智能編碼技術,如SVC可伸縮分層編碼,它包括時域和空域的編解碼,時域是直播播放端降幀的能力,空域能把主播的流變成大小流,被叫端根據網絡狀況選擇播高碼率或是低碼率的流,如此當被叫端網絡不好時可以通過降碼的方式達到播放流暢的效果。后續是通過實時超分和ROI優化對編解碼方面做更低碼率的壓縮,得到更好的傳輸和低時延的效果。 第二步是智能調速,主要涉及網絡層和編解碼層的互動,通過網絡層的網絡探測和帶寬預分析判斷端側的帶寬,也就是傳輸的碼率最大可以支持多少帶寬。通過此種方式控制編碼的碼率,使得主播端能夠有更好的流暢度。
最后一步是私有抗網損算法,采用FEC前向糾錯算法、自動重傳HARQ——華為自研的算法、接收端的AJB自適應抗抖動Buffer做一些網絡重傳的抗抖。以上算法相互配合,在保證直播流暢的情況下達到最低時延的效果。以上就是華為云RTC的智能編解碼和網絡自適應雙輪驅動的內容。 語言增強技術+丟包補償 華為云在語音方面的技術,主要分為語言增強技術和語音丟包補償技術兩大部分。 語音增強技術包括語音降噪、回聲消除。降噪主要采取AI降噪與傳統降噪結合的方式。現如今存在很多不同的場景需要降噪的適配,例如主播場景要求背景音清晰、教育場景需要降背景音,還有一些敲鍵盤或相應聲音去除等不同場景適配。回音消除指單向通話時因為回音消除不完全產生回聲,另外在交互過程中,不會產生雙講或丟字。我們通過Mos值評分確定語音效果。 語音丟包補償技術應用于當前網絡產生丟包的情況,如上圖所示,產生丟包時,中間信號是空的,如果完全依賴于重傳,時延不能達到很好的效果,這部分會采用一些傳統與AI結合的方式將丟的包補齊,從而達到語音流暢的效果。上圖是在不同丟包率下做到的音頻Mos值,音頻的核心競爭力是高音質——比較主流的是48k赫茲Mos值達到4.0以上、低延時——延時要達到小于300ms、回音消除——不漏回聲,雙講不去字。以上就是語音增強方面相關技術介紹。
4 實時音視頻RTC體驗優化
4.1 監控QoE/QoS全局實時監控 在成千上萬的流量中,如何保證系統能夠及時發現問題呢?我們通過服務端和客戶端的埋點采集,對整個全網的節點進行監控——包括全網維度、APP維度、Room維度、節點維度等。根據不同的監控數據,通過數據聚合的方式發現網絡層面、客戶端層面出現的問題,通過以上這些數據,運維可以及時發現鏈路中的問題并著手解決。
4.2 一鍵式用戶個例通話QoS行為調查能力 當接到客戶說某個用戶有卡頓時,判斷的方法是一鍵式用戶個例通話QoS行為調查能力。首先通過房間維度的監控進到用戶維度監控,再通過用戶數據的幀率、碼率、時延、抖動、丟包率判斷網絡狀況,如發現與設備終端有關聯,比如用戶終端CPU跑高或內存跑高,是由于用戶其他應用開啟造成的問題,需要定位具體原因;如果是用戶操作行為導致的問題,例如做了關麥的操作卻反饋“沒有聲音”,可以通過用戶操作行為事件判斷用戶在使用過程中產生的相應問題。
4.3 實時音視頻體驗自動診斷 對于單用戶的分析我們還做了相應的自我診斷功能。根據關鍵指標的監控,通過監控模型分析是否有聚集性的問題,比如CPU高或某一區域、節點有問題,在得到這些異常事件后,用它來分析用戶端可能會發生的一些問題,比如進房滿、視頻音頻卡頓等。另外可以反饋至運維,判斷聚集性問題和網絡端出現的問題,通過切換節點、鏈路等方式解決網絡側問題。以上是整個運維監控系統的內容。
5 實時音視頻主打場景
5.1 企業會議:直播互動視頻會議,涵蓋內外溝通場景,適應業務發展需求 RTC技術和華為云會議系統進行對接,最終目標是打造千人會議,可以讓會場支持千人級互動與萬人級觀眾參與,讓觀眾和發言者可以進行自由切換,同時支持云端低于100ms超低時延合流,降低純觀眾播放的帶寬和成本。
5.2 在線教育:學生隨時舉手上臺,支持子母課,萬人大課堂 在教育模塊我們經過深入研究,發現傳統的在線教育是老師在上面講課,許多學生聽老師講課,學生可以通過舉手的方式上臺與老師互動,但很多情況是老師會將學生分組,組內可以進行交流互動,再將互動結果分享。在教育方面我們做了更多的適配場景,可以讓多個終端加入同個會場、同個子母課的方式去支持教育行業應用。通過上述方式,觀看端學生與老師之間的互動時延均低于300ms,學生切換流暢,并不像傳統連麥中學生互動結束后可以聽到幾秒前與老師的互動。
5.3 電商直播:面對面的溝通體驗,提升轉換率 傳統的電商直播受限于原有網絡問題,觀眾只能通過彈幕的方式和主播進行交流,導致轉化率比較低,而傳統的連麥架構會導致從互動切換到直播的過程,時延變大,會看到幾秒前的自己,用戶體驗度很差,此外買家與賣家互動是單向的,只能通過文字溝通。通過實時音視頻的引入,保證了互動端和觀眾端時延在300ms以內,整個過程中,觀眾可以隨時切麥和主播進行互動,做到全場景低時延,從而提高電商直播場景中轉化率。
原文標題:華為云RTC服務架構及應用實踐
文章出處:【微信公眾號:LiveVideoStack】歡迎添加關注!文章轉載請注明出處。
責任編輯:haq
-
視頻
+關注
關注
6文章
1970瀏覽量
73695 -
華為
+關注
關注
216文章
35037瀏覽量
255114
原文標題:華為云RTC服務架構及應用實踐
文章出處:【微信號:livevideostack,微信公眾號:LiveVideoStack】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
潤和的Hi3861開發版如何連接華為云
無人機低延時目標跟蹤識別智算系統
電力物資倉庫管理系統 DW-S200是一套成熟系統

如何使用Java語言快速開發一套智慧工地系統(源碼)
Vector推出一套基于Visual Studio Code的免費插件

【BearPi-Pico H3863星閃開發板體驗連載】星閃超低功耗SLE透傳功能測試
一套電源ATE自動測試系統如何完成多型號電源模塊測試?

如何設計出一套用于移動式綜合監測站管理的軟件系統
saas模式的一套智慧工地云平臺源碼,支持多端展示:PC端、大屏端、手機端、平板端

一套java+ spring boot與 vue+ mysql技術開發的UWB高精度工廠人員定位全套系統源碼有應用案例

在不同的電腦上啟動同一套代碼時,出現編譯路徑錯誤的提示怎么解決?
一套java+ spring boot+與vue+ mysql技術開發的UWB高精度工廠人員定位全套系統源碼

評論