解密華為云原生媒體網(wǎng)絡(luò)如何保障實(shí)時(shí)音視頻服務(wù)質(zhì)量

      網(wǎng)友投稿 811 2022-05-29

      大家好,我是來(lái)自華為云的黃挺,目前負(fù)責(zé)華為云視頻架構(gòu)設(shè)計(jì)的相關(guān)工作。今天我會(huì)給大家分享華為云原生媒體網(wǎng)絡(luò)是如何保障實(shí)時(shí)音視頻服務(wù)體驗(yàn)的實(shí)踐。

      我會(huì)從以上幾個(gè)部分進(jìn)行分享,首先,解釋一下我們?yōu)槭裁葱枰粡埫襟w網(wǎng)絡(luò);其次,會(huì)介紹一下華為云原生媒體網(wǎng)絡(luò)的整體架構(gòu)設(shè)計(jì),最后,會(huì)分享我們?cè)谌绾胃纳茖?shí)時(shí)音視頻體驗(yàn)方面的實(shí)踐。

      01為什么需要一張媒體網(wǎng)絡(luò)

      1.1 內(nèi)容表達(dá)視頻化,各個(gè)行業(yè)都有視頻分發(fā)的需求

      為什么我們需要一張媒體網(wǎng)絡(luò)呢?我主要總結(jié)了三大原因。第一個(gè)原因,我們看到內(nèi)容表達(dá)視頻化是目前一個(gè)很明顯的趨勢(shì),有很多行業(yè)都對(duì)視頻分發(fā)有非常旺盛的需求。舉一個(gè)我親身經(jīng)歷的小例子,在今年過(guò)年的時(shí)候,我的家人想把手上帶了多年的戒指取下來(lái),因?yàn)榇鞯臅r(shí)間比較久了,手指變粗了不少,取不下來(lái)。最開(kāi)始我們第一反應(yīng)是去商場(chǎng)找營(yíng)業(yè)員幫忙取下來(lái),后來(lái)我抱著試一試的心態(tài),在抖音上搜索“取戒指”三個(gè)字。在搜索結(jié)果中找到了一個(gè)非常簡(jiǎn)單的辦法,視頻時(shí)間不長(zhǎng),照著做很快就把戒指取下來(lái)了,而且對(duì)戒指沒(méi)有損害,手指也不痛。大家感興趣可以去搜索看看。這其實(shí)就是知識(shí)內(nèi)容表達(dá)視頻化的一個(gè)表現(xiàn),這個(gè)趨勢(shì)在很多領(lǐng)域都已經(jīng)出現(xiàn)了,除了短視頻,比如現(xiàn)在的電商直播,在線教育,云游戲等行業(yè)也都出現(xiàn)了內(nèi)容表達(dá)視頻化發(fā)展趨勢(shì)。

      1.2 新媒體表達(dá)形式出現(xiàn),對(duì)音視頻技術(shù)要求越來(lái)越高

      第二個(gè)原因,我們看到未來(lái)會(huì)出現(xiàn)很多新的媒體表達(dá)形式。比如VR和最近比較火熱的自由視角,這些新的表達(dá)形式的出現(xiàn),都會(huì)給用戶帶來(lái)更加沉浸式的體驗(yàn)。但它對(duì)音視頻技術(shù)的要求是全方位的提升,主要包括帶寬、時(shí)延、渲染復(fù)雜度等等。可以看到左邊這張圖,以VR為例,如果帶上VR頭盔去觀看視頻,要做到極致的視網(wǎng)膜體驗(yàn),需要的碼率非常大,通過(guò)簡(jiǎn)單的測(cè)算大概需要達(dá)到2Gbps的碼率。而且影響VR體驗(yàn)的因素相較于平面視頻也變得更多了:刷新率、視場(chǎng)角、分辨率、MTP低時(shí)延、姿態(tài)跟蹤、眼動(dòng)跟蹤等等。

      1.3 互聯(lián)網(wǎng)對(duì)用戶沒(méi)有承諾服務(wù)質(zhì)量

      我們一般會(huì)從需求側(cè)和供給側(cè)兩個(gè)維度來(lái)進(jìn)行分析一個(gè)產(chǎn)品。前面兩個(gè)算是需求側(cè)的分析,接下來(lái)我們看一下供給側(cè)的分析。實(shí)時(shí)音視頻服務(wù)一個(gè)非常重要的供給側(cè)就是互聯(lián)網(wǎng)的基礎(chǔ)設(shè)施。我們都知道互聯(lián)網(wǎng)對(duì)用戶的服務(wù)質(zhì)量基本上是沒(méi)有承諾的。怎么理解呢?首先,建設(shè)互聯(lián)網(wǎng)的成本非常昂貴,比如,需要在海底拉光纜,這個(gè)鋪設(shè)成本是非常昂貴的,這里包括人力的,物力的,另外一部分是無(wú)線頻譜的成本,比如3G、4G、5G的頻譜。所以互聯(lián)網(wǎng)的建設(shè)一定是需要考慮共享,共享就需要使用復(fù)用和交換技術(shù)。怎么理解交換呢?看下下面這個(gè)簡(jiǎn)單的示意圖。假設(shè)我們要建4個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)A、B、C、D;如果沒(méi)有交換,兩兩互聯(lián)需要6根線。但是如果使用了交換,則只需要4根線就可以了。所以從成本考慮,需要交換的技術(shù);我們知道交換一般有兩類技術(shù),一類是Circuit switching ,另一類是Packet switching,Circuit switching的特點(diǎn)是容量預(yù)留,但是資源存在浪費(fèi),因?yàn)橐坏╊A(yù)留,就算沒(méi)有數(shù)據(jù)傳輸,帶寬資源也是被占用。而Packet switching技術(shù)則是鏈路資源共享的,所以可以做到更低成本的交換。而當(dāng)時(shí)互聯(lián)網(wǎng)設(shè)計(jì)考慮到成本的因素,選擇了Packet switching這個(gè)技術(shù)進(jìn)行演進(jìn);因?yàn)檫x擇了Packet switching,再加上best effort盡力而為的轉(zhuǎn)發(fā)模式,所以帶來(lái)了一系列丟包、重復(fù)報(bào)文、時(shí)延、亂序等問(wèn)題。所以我們總結(jié),丟包、重復(fù)、時(shí)延、亂序是這一代互聯(lián)網(wǎng)的固有屬性。

      這里大家可以思考一個(gè)問(wèn)題,為什么互聯(lián)網(wǎng)在最開(kāi)始設(shè)計(jì)的時(shí)候,并沒(méi)有考慮在網(wǎng)絡(luò)層解決這個(gè)問(wèn)題?;蛘邠Q一個(gè)更大的問(wèn)題,如果今天重新設(shè)計(jì)互聯(lián)網(wǎng),我們會(huì)怎么做?會(huì)不會(huì)嘗試讓互聯(lián)網(wǎng)去解決這些問(wèn)題。第二個(gè)思考的問(wèn)題就是,在大家的日常應(yīng)用開(kāi)發(fā)過(guò)程中是怎么解決丟包、重復(fù)、時(shí)延、亂序的問(wèn)題。

      1.4 對(duì)我們的啟發(fā)

      通過(guò)前面的分析帶給我們一些啟發(fā),首先我們認(rèn)為需要構(gòu)建一張媒體網(wǎng)絡(luò),通過(guò)這張網(wǎng)絡(luò)來(lái)彌補(bǔ)供給側(cè)和需求側(cè)之間的鴻溝,供給側(cè)就是互聯(lián)網(wǎng)的基礎(chǔ)設(shè)施,需求側(cè)就是飛速發(fā)展的音視頻業(yè)務(wù)。第二點(diǎn):通過(guò)這張網(wǎng)絡(luò)來(lái)滿足不同行業(yè)對(duì)音視頻分發(fā)的旺盛需求。第三點(diǎn),通過(guò)這張網(wǎng)絡(luò)來(lái)應(yīng)對(duì)未來(lái)出現(xiàn)的新技術(shù)的挑戰(zhàn)。

      02華為云原生媒體網(wǎng)絡(luò)架構(gòu)介紹

      前面解釋了為什么我們需要一張媒體網(wǎng)絡(luò)。接下來(lái)我會(huì)介紹一下華為云原生媒體網(wǎng)絡(luò)架構(gòu)。

      2.1 華為云原生媒體網(wǎng)絡(luò)

      大家可以認(rèn)為華為云原生媒體網(wǎng)絡(luò)是云原生視頻服務(wù)的一個(gè)技術(shù)底座,基于這張?jiān)圃拿襟w網(wǎng)絡(luò)會(huì)構(gòu)建上面一系列從生產(chǎn)到處理到分發(fā)到播放的云原生視頻服務(wù),比如CDN、直播、RTC等等,通過(guò)這些云原生的視頻服務(wù)來(lái)支撐上面千行百業(yè)的客戶。我們這張?jiān)圃襟w網(wǎng)絡(luò)主要包括7大特點(diǎn):扁平化、Mesh化、智能化、低時(shí)延、靈活性、多樣性和端邊云協(xié)同。

      2.2 廣覆蓋:支持多種接入方式,實(shí)現(xiàn)全球互聯(lián)互通

      接下來(lái)我會(huì)介紹一下華為云原生媒體網(wǎng)絡(luò),三個(gè)比較重要的架構(gòu)設(shè)計(jì)目標(biāo)。因?yàn)槲覀兊姆?wù)對(duì)象遍布全球,所以首先就要是一張全球部署的網(wǎng)絡(luò)。這張網(wǎng)絡(luò)主要解決三大問(wèn)題:第一就是需要支持多種接入方式,其次是節(jié)點(diǎn)的互聯(lián)互通;第三是要考慮一個(gè)高可用設(shè)計(jì)冗余覆蓋。

      首先,因?yàn)槲覀兪且粋€(gè)paas類服務(wù),所以客戶很多,來(lái)自不同的行業(yè),以云會(huì)議為例,很多客戶對(duì)云會(huì)議的安全性和質(zhì)量要求非常高,所以他希望能夠從他的企業(yè)園區(qū)通過(guò)專線來(lái)接入這張網(wǎng)絡(luò)。但有的客戶,希望他的用戶能夠隨時(shí)隨地的接入這張網(wǎng)絡(luò)來(lái)分發(fā)業(yè)務(wù),比如一些互聯(lián)網(wǎng)客戶,這個(gè)時(shí)候就需要支持互聯(lián)網(wǎng)的接入方式。另外,因?yàn)槲覀兇罅繕I(yè)務(wù)的流量在邊緣終結(jié)所以國(guó)內(nèi)我們主要通過(guò)電信、聯(lián)通、移動(dòng)單線接入,節(jié)省服務(wù)帶寬成本;國(guó)內(nèi)通過(guò)三線機(jī)房或者BGP資源,解決跨運(yùn)營(yíng)商網(wǎng)絡(luò)資源交換的問(wèn)題;在海外,我們會(huì)優(yōu)先選擇網(wǎng)絡(luò)資源比較豐富的IXP節(jié)點(diǎn)接入;通過(guò)華為云基礎(chǔ)網(wǎng)絡(luò)設(shè)施或者優(yōu)質(zhì)的互聯(lián)網(wǎng)資源實(shí)現(xiàn)跨國(guó)的互聯(lián)。另外我們?cè)诓渴鹨?guī)劃的時(shí)候就要考慮高可用設(shè)計(jì),高可用設(shè)計(jì)常見(jiàn)的手段是增加冗余,我們?cè)谝?guī)劃的時(shí)候考慮了站點(diǎn)冗余和帶寬冗余。我們會(huì)保證覆蓋區(qū)域用戶至少有3個(gè)站點(diǎn)可以提供對(duì)應(yīng)質(zhì)量要求的服務(wù)。另外,我們?cè)谧鲑Y源規(guī)劃的時(shí)候,會(huì)按照業(yè)務(wù)需要的帶寬的2倍以上進(jìn)行規(guī)劃,應(yīng)對(duì)部分突發(fā)。

      2.3 全行業(yè):滿足娛樂(lè)、通信、行業(yè)視頻等不同業(yè)務(wù)要求

      因?yàn)槲覀兪且粋€(gè)Paas類服務(wù),我們不能因?yàn)闈M足了一類客戶的需求,就影響其他客戶的特性,而且要盡量快速的滿足不同客戶的需求。這對(duì)技術(shù)提出了3個(gè)方面的要求:首先因?yàn)樾枰獫M足不同行業(yè)的不同業(yè)務(wù)需求,所以業(yè)務(wù)應(yīng)用開(kāi)發(fā)的敏捷性就非常重要,我們需要讓新功能能快速上線到全球任意邊緣節(jié)點(diǎn),同時(shí)為了降低新特性上線的風(fēng)險(xiǎn),我們需要支持新特性在不同edge的灰度上線。我們把這種開(kāi)發(fā)方式叫做Living on the edge。

      第二個(gè)技術(shù)要求,也是我們非常重要的設(shè)計(jì)原則——Edge Services是獨(dú)立自治的。Edge Services就是我們圍繞著媒體網(wǎng)絡(luò)的網(wǎng)絡(luò)節(jié)點(diǎn),部署的一系列微服務(wù),我們統(tǒng)稱為Edge Services。每個(gè)Edge Services都必須是獨(dú)立自治的,因?yàn)槲覀兪且粡埛植际降拿襟w網(wǎng)絡(luò),肯定不希望某一個(gè)節(jié)點(diǎn)故障(比如網(wǎng)絡(luò)故障),就會(huì)對(duì)我們?cè)斐扇W(wǎng)業(yè)務(wù)的影響。所以每個(gè)Edge Services必須是獨(dú)立。什么是自治呢?當(dāng)邊緣和控制中心網(wǎng)絡(luò)出現(xiàn)一些暫時(shí)的故障,那我的架構(gòu)上一定要保證Edge Services內(nèi)部能夠自治,也就是說(shuō)它本地的服務(wù)還是可以提供的。我們可以看到左邊簡(jiǎn)單列了四個(gè)微服務(wù),其中局部調(diào)度就是為了減少對(duì)全局調(diào)度的依賴,當(dāng)邊緣和控制中心網(wǎng)絡(luò)出現(xiàn)一些暫時(shí)的故障,邊緣依舊可以提供服務(wù)。另外,我們?cè)贓dge Services內(nèi)部的架構(gòu)主要采用微服務(wù)進(jìn)行劃分。它的核心目的是幫助我們能夠快速靈活的上線一些特性,例如我們?cè)趀dge service內(nèi)部有協(xié)議適配的微服務(wù),這樣當(dāng)我們需要支持新的終端,適配一些協(xié)議的時(shí)候,可以快速上線一個(gè)新協(xié)議的適配微服務(wù),這樣可以快速上線,而且不會(huì)影響已經(jīng)上線的終端的支持。

      第三個(gè)技術(shù)要求是Overlay網(wǎng)絡(luò)需要能夠靈活的定義它的路由。舉個(gè)例子,例如華為云會(huì)議,它需要支持大量高規(guī)格的政府級(jí)會(huì)議,而這個(gè)對(duì)安全性和質(zhì)量要求就非常高,我們需要讓進(jìn)入我們媒體網(wǎng)絡(luò)的這張會(huì)議的所有報(bào)文都走我們?nèi)A為云的骨干網(wǎng),避免使用互聯(lián)網(wǎng)資源傳輸。還有一些客戶對(duì)價(jià)格比較敏感,對(duì)于這類客戶我們就會(huì)盡量使用性價(jià)比較高的網(wǎng)絡(luò)資源來(lái)轉(zhuǎn)發(fā)他的報(bào)文。這就需要有一個(gè)可編程的overlay網(wǎng)絡(luò)實(shí)現(xiàn)靈活的網(wǎng)絡(luò)路由和轉(zhuǎn)發(fā)。

      2.4 全流程:提供媒體生產(chǎn)、處理、分發(fā)、播放全流程服務(wù)

      第三個(gè)比較重要的設(shè)計(jì)目標(biāo)是,我們的架構(gòu)需要能夠提供端到端的,從生產(chǎn)到處理到分發(fā)到播放的全流程服務(wù)。我們把客戶主要分為兩類,一類是云原生,很多互聯(lián)網(wǎng)客戶,在誕生之初,就是在云上的,所以可以很方便的使用我們的云上服務(wù)。但是有些客戶,需要從傳統(tǒng)的線下轉(zhuǎn)型到線上,為了服務(wù)于這樣的客戶,我們的生產(chǎn)和處理系統(tǒng)是基于華為統(tǒng)一的Huawei Cloud Stack統(tǒng)一技術(shù)棧,支持在線上線下靈活、快速部署,同時(shí)我們還提供了方便的SDK,它能夠跨終端、低功耗的來(lái)幫助客戶覆蓋更多的終端。最后一個(gè)技術(shù)要求是整個(gè)實(shí)時(shí)媒體處理流水線是能夠做到靈活編排,動(dòng)態(tài)管理的。舉個(gè)例子,我們?nèi)ツ旰投肤~(yú)聯(lián)合創(chuàng)新的項(xiàng)目,幫助斗魚(yú)把在端側(cè)的特效算法上移到了Edge services。這樣直接給斗魚(yú)帶來(lái)了三個(gè)好處,第一個(gè)好處是開(kāi)發(fā)工作量變少了,原來(lái)的特效算法需要適配不同的終端,不同的芯片。第二個(gè)好處是特效算法的迭代速度變快了,只需要把特效算法在Edge services更新部署,客戶就能夠體驗(yàn)到。第三好處是覆蓋的終端機(jī)型變多了,因?yàn)閭鹘y(tǒng)在端側(cè)去開(kāi)發(fā)的特效,其實(shí)有很多低端機(jī)是沒(méi)法體驗(yàn)到的,如果把它放在我們的Edge services上,就可以快速去滿足很多低端機(jī)型的要求。

      2.5 架構(gòu)分層設(shè)計(jì):適應(yīng)互聯(lián)網(wǎng)的特征

      最后分享一下我們一個(gè)非常重要的的架構(gòu)分層的設(shè)計(jì)思想。我們借鑒了計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)的設(shè)計(jì)思想。可以想象一下,如果沒(méi)有現(xiàn)在這套計(jì)算機(jī)網(wǎng)絡(luò)分層系統(tǒng),我們的應(yīng)用開(kāi)發(fā)是怎樣的體驗(yàn)。可能我需要去list整個(gè)網(wǎng)絡(luò)拓?fù)涞墓?jié)點(diǎn),需要去尋找最優(yōu)的路徑,把我的消息從a發(fā)到目的地b,在這個(gè)過(guò)程中還要去處理各種網(wǎng)絡(luò)的異常,比如丟包、重傳、亂序等等,這顯然是對(duì)應(yīng)用開(kāi)發(fā)非常不友好的。

      計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)設(shè)計(jì)就是解決這些問(wèn)題。首先就是layering分層的思想,底層有鏈路層,屏蔽不同鏈路傳輸技術(shù)的差異性,比如我們支持5G之后上層的應(yīng)用是不用修改的。在往上就是網(wǎng)絡(luò)層,它主要有2大功能,轉(zhuǎn)發(fā)和路由,所以不需要每個(gè)應(yīng)用自己去定義轉(zhuǎn)發(fā)路徑。在往上是End to End layer。這是對(duì)上面?zhèn)鬏攲印⒈磉_(dá)層。應(yīng)用層的一個(gè)統(tǒng)稱。而分層的目的就是模塊化,降低耦合度,每一層聚焦解決每一層的問(wèn)題。

      而我們?cè)圃襟w網(wǎng)絡(luò)架構(gòu)分層也是借鑒了這個(gè)思想,我們?cè)诰W(wǎng)絡(luò)層進(jìn)行增強(qiáng)設(shè)計(jì),改善報(bào)文轉(zhuǎn)發(fā)的時(shí)延和到達(dá)率。我們通過(guò)在End to End layer的自研實(shí)時(shí)傳輸協(xié)議來(lái)讓上層的實(shí)時(shí)音視頻應(yīng)用開(kāi)發(fā)更加簡(jiǎn)單。這樣我們的應(yīng)用開(kāi)發(fā)就可以更加聚焦業(yè)務(wù)邏輯。同時(shí)我們抽象出媒體處理模塊,這樣音視頻相關(guān)的編解碼技術(shù),前后處理技術(shù),就可以獨(dú)立演進(jìn),快速創(chuàng)新。

      2.6 架構(gòu)分層設(shè)計(jì)-Network Layer

      在介紹我們?cè)诰W(wǎng)絡(luò)層和End to End layer的一些關(guān)鍵設(shè)計(jì)之前,首先來(lái)看一下網(wǎng)絡(luò)層有什么問(wèn)題。互聯(lián)網(wǎng)在設(shè)計(jì)之初有一個(gè)非常重要的質(zhì)量屬性,就是互聯(lián)互通的高可用性,我們知道互聯(lián)網(wǎng)是由上萬(wàn)個(gè)ISP組成的,任何一個(gè)ISP故障,網(wǎng)絡(luò)還是可以正常的通信。其中BGP協(xié)議就是一個(gè)非常重要的設(shè)計(jì),他主要考慮了聯(lián)通性,但是并沒(méi)有去做一些服務(wù)質(zhì)量的感知。我們可以看到左邊這個(gè)圖,用戶A要發(fā)一個(gè)消息給用戶B,跨運(yùn)營(yíng)商,它很有可能會(huì)經(jīng)過(guò)互聯(lián)網(wǎng)穿越很多個(gè)不同的ISP,這就會(huì)帶來(lái)很多問(wèn)題,比如會(huì)加重丟包重傳,而且這些關(guān)鍵問(wèn)題很多是非技術(shù)因素,比如很多運(yùn)營(yíng)商針對(duì)某一個(gè)網(wǎng)絡(luò)的網(wǎng)絡(luò)策略不一定是質(zhì)量最優(yōu),它可能是成本最優(yōu),比如有一些冷土豆或熱土豆的路由策略。

      第二個(gè)原因,有可能運(yùn)營(yíng)商今天晚上要做一個(gè)設(shè)備升級(jí),需要運(yùn)維人員操作一些配置變更,而配置變更過(guò)程中有可能出現(xiàn)人為出錯(cuò)造成鏈路故障,還有可能就是這些區(qū)域有一個(gè)熱門(mén)事件,可能會(huì)造成擁塞。

      為了解決這個(gè)問(wèn)題,我們決定對(duì)網(wǎng)絡(luò)層進(jìn)行增強(qiáng),這里我們主要有2個(gè)技術(shù)手段;一個(gè)是underlay,一個(gè)是overlay。

      1)首先是underlay,我們通過(guò)華為云全球網(wǎng)絡(luò)基礎(chǔ)設(shè)施,改善網(wǎng)絡(luò)的接入和互聯(lián)質(zhì)量,一旦進(jìn)入我們的underlay網(wǎng)絡(luò)就可以避免和互聯(lián)網(wǎng)其他流量競(jìng)爭(zhēng)帶寬,既改善了質(zhì)量,又保障了安全性。

      2)其次是overlay部分,我們除了自建骨干網(wǎng),還會(huì)部署一些overlay的節(jié)點(diǎn),實(shí)現(xiàn)基于不同Qos目標(biāo)優(yōu)化報(bào)文傳輸路徑和高效轉(zhuǎn)發(fā),而不是讓報(bào)文任意轉(zhuǎn)發(fā)。我們?cè)诰W(wǎng)絡(luò)層的設(shè)計(jì)原則也是非常經(jīng)典的控制面與數(shù)據(jù)面分離的設(shè)計(jì)思想,簡(jiǎn)單來(lái)說(shuō),控制面負(fù)責(zé)路由,控制整個(gè)網(wǎng)絡(luò)的運(yùn)行,數(shù)據(jù)面負(fù)責(zé)轉(zhuǎn)發(fā)。

      我們?yōu)榱俗寯?shù)據(jù)轉(zhuǎn)發(fā)能夠更加簡(jiǎn)單,也采用了網(wǎng)絡(luò)中非常經(jīng)典的一個(gè)設(shè)計(jì)思想:源路由算法的思想,核心目的也是為了降低轉(zhuǎn)發(fā)設(shè)備的復(fù)雜度。具體來(lái)說(shuō),就是當(dāng)一個(gè)報(bào)文進(jìn)入我們網(wǎng)路的第一轉(zhuǎn)發(fā)節(jié)點(diǎn)的時(shí)候,系統(tǒng)就會(huì)把報(bào)文要經(jīng)過(guò)的所有轉(zhuǎn)發(fā)節(jié)點(diǎn)信息,包括目的節(jié)點(diǎn)都封裝在報(bào)文頭中,這樣每個(gè)轉(zhuǎn)發(fā)節(jié)點(diǎn)收到報(bào)文后,只需要解析報(bào)文頭,就知道下一跳要發(fā)送到哪里,這樣可以大大降低轉(zhuǎn)發(fā)設(shè)備的復(fù)雜度。

      另外還有1個(gè)非常重要的設(shè)計(jì)原則,就是我們對(duì)網(wǎng)絡(luò)層不做可靠性承諾要求,雖然我們不保障可靠性,但是我們依舊會(huì)利用冗余糾錯(cuò)、多路徑傳輸?shù)燃夹g(shù)改善報(bào)文轉(zhuǎn)發(fā)的時(shí)延和到達(dá)率。這也是我們?yōu)槭裁窗堰@層叫做網(wǎng)絡(luò)層的原因,他依舊關(guān)注的是路由和轉(zhuǎn)發(fā)。只是做了一些增強(qiáng)。

      2.7 架構(gòu)分層設(shè)計(jì)-End to End layer

      網(wǎng)絡(luò)層的增強(qiáng)能夠幫助我們?nèi)?shí)現(xiàn)更低時(shí)延的轉(zhuǎn)發(fā)以及更高的到達(dá)率。再往上是我們的End to End layer,這里大家可以先思考一個(gè)問(wèn)題,前文提到互聯(lián)網(wǎng)有這么多固有屬性,丟包,亂序,重傳,看上去對(duì)開(kāi)發(fā)者非常不友好。但是互聯(lián)網(wǎng)的發(fā)展卻非常的繁榮,有一代代互聯(lián)網(wǎng)的應(yīng)用email、web、IM、audio、video各類業(yè)務(wù)出現(xiàn),這又是什么原因?

      這里分享下我的思考,非常重要的一點(diǎn)就是協(xié)議,在End to End Layer出現(xiàn)了很多重要的協(xié)議,大大降低了我們應(yīng)用開(kāi)發(fā)者的技術(shù)的門(mén)檻,比如我們從TCP到HTTP到QUIC等,每一代的互聯(lián)網(wǎng)的應(yīng)用發(fā)展背后都有一個(gè)協(xié)議的出現(xiàn)。End to End layer核心設(shè)計(jì)目標(biāo)就是要定義一個(gè)好的協(xié)議和開(kāi)發(fā)框架,讓?xiě)?yīng)用開(kāi)發(fā)變得簡(jiǎn)單。

      怎么做到這一點(diǎn)呢?可以看到左邊這個(gè)圖,中間部分是我們的自研實(shí)時(shí)傳輸協(xié)議大致的功能圖,我們會(huì)在它的北向提供一個(gè)統(tǒng)一的接口。通過(guò)這一套北向接口可以讓我們既能夠開(kāi)發(fā)實(shí)時(shí)音視頻業(yè)務(wù),又能開(kāi)發(fā)可靠的消息類的業(yè)務(wù),同時(shí)我們?cè)倏匆幌滤哪舷颍ㄟ^(guò)協(xié)議棧屏蔽了底層使用UDP或是ADNP協(xié)議的差異性,這樣應(yīng)用開(kāi)發(fā)也會(huì)變得更加簡(jiǎn)單。

      協(xié)議棧設(shè)計(jì)的目的是為了讓?xiě)?yīng)用開(kāi)發(fā)變得簡(jiǎn)單。所以我們還抽象了兩個(gè)模塊,NQE和QOS,通過(guò)這兩個(gè)模塊提供回調(diào)的方法把網(wǎng)絡(luò)的信息能夠快速反饋給上層應(yīng)用,比如編碼模塊。編碼模塊就可以快速的自適應(yīng)網(wǎng)絡(luò)的條件,來(lái)調(diào)整它的編碼參數(shù)。

      另外一個(gè)非常重要的設(shè)計(jì)原則就是高效。因?yàn)槲覀冎?,前面提到了在未?lái)有很多的端是IoT端,IoT端有一個(gè)很大的特性,就是對(duì)功耗的要求非常高,我們希望在協(xié)議棧設(shè)計(jì)之初就要考慮這個(gè)問(wèn)題。所以我們不希望輕易的在這一層去增加額外的一些沒(méi)必要的拷貝,這里遵循的是ALF的設(shè)計(jì)原則,這個(gè)原則也是非常經(jīng)典的。RTP當(dāng)時(shí)設(shè)計(jì)的時(shí)候也是遵循了這個(gè)設(shè)計(jì)原則。

      另外,我們的協(xié)議棧設(shè)計(jì)也參考了quic的設(shè)計(jì)思想。支持多路復(fù)用、網(wǎng)絡(luò)多路徑、華為L(zhǎng)inkTurbo、優(yōu)先級(jí)管理等功能。這里分享一下我們的一個(gè)小經(jīng)驗(yàn),就是在開(kāi)發(fā)自由視角和VR這類業(yè)務(wù),對(duì)帶寬的要求非常高,這個(gè)時(shí)候我們就會(huì)開(kāi)啟多路徑的功能,可以獲得比較大的體驗(yàn)上的改進(jìn)。

      2.8 華為云原生媒體網(wǎng)絡(luò)目標(biāo)架構(gòu)

      最后我對(duì)整個(gè)媒體網(wǎng)絡(luò)的目標(biāo)架構(gòu)做一個(gè)簡(jiǎn)單的總結(jié)。

      1)簡(jiǎn)單來(lái)講就是把復(fù)雜問(wèn)題簡(jiǎn)單化,分而治之,通過(guò)分層的設(shè)計(jì)來(lái)讓每一層能夠相互解耦,快速演進(jìn);

      2)每一個(gè)Edge services都是獨(dú)立自治的,來(lái)提高整個(gè)服務(wù)的可用性;

      3)通過(guò)把Edge services按照微服務(wù)進(jìn)行劃分,能夠讓到我們更加靈活的去適應(yīng)客戶的需求,實(shí)現(xiàn)按照微服務(wù)級(jí)別的快速上線。

      03實(shí)時(shí)音視頻服務(wù)質(zhì)量保障實(shí)踐

      第三部分我會(huì)分享一下我們?cè)趯?shí)時(shí)音視頻服務(wù)質(zhì)量保障上的一些實(shí)踐,這里主要是一些算法設(shè)計(jì)上的思考,前文主要是架構(gòu)上的一些思考。

      3.1 視頻、音頻、網(wǎng)絡(luò)是影響體驗(yàn)的關(guān)鍵系統(tǒng)因素

      如上圖所示,我們做了一個(gè)影響體驗(yàn)的相關(guān)維度的分析。從客觀指標(biāo)到主觀指標(biāo),再到QoE的關(guān)系做了一個(gè)簡(jiǎn)單的映射圖。我們通過(guò)分析,發(fā)現(xiàn)影響實(shí)時(shí)音視頻服務(wù)體驗(yàn)質(zhì)量核心的三個(gè)系統(tǒng)性因素是視頻,音頻和網(wǎng)絡(luò),接下來(lái)我就分別針對(duì)這三部分的算法實(shí)踐進(jìn)行介紹。

      3.2 視頻編碼技術(shù)

      首先我們來(lái)看一下視頻編碼。我們把視頻編碼技術(shù)按照設(shè)計(jì)目標(biāo)進(jìn)行了一個(gè)簡(jiǎn)單的分類,第一類,它的設(shè)計(jì)目標(biāo)是如何科學(xué)的減少視頻編碼的冗余,降低編碼失真對(duì)人眼主觀感受造成影響。因?yàn)槲覀兊膶?shí)時(shí)音視頻業(yè)務(wù)還是主要面向人的,所以有一些非常經(jīng)典的優(yōu)化思路,比如:從人出發(fā),分析人眼的視覺(jué)特點(diǎn),基于這些特點(diǎn)來(lái)優(yōu)化編碼算法,圖中簡(jiǎn)單列了幾大類和編碼相關(guān)度比較高的人眼視覺(jué)特點(diǎn)。

      還有一種優(yōu)化思路,就是從源出發(fā),也就是從內(nèi)容出發(fā),我們會(huì)分析不同場(chǎng)景內(nèi)容的特點(diǎn)優(yōu)化編碼算法,比如計(jì)算機(jī)生成圖像的特點(diǎn)有低噪、大平坦區(qū)域等等。

      第二個(gè)設(shè)計(jì)目標(biāo)是如何科學(xué)的增加冗余來(lái)抵抗弱網(wǎng)傳輸對(duì)人員主觀感知的影響。這邊簡(jiǎn)單列了幾類增加冗余的編碼,比如極端的全I(xiàn)幀編碼、幀內(nèi)刷新的模式以及長(zhǎng)期參考幀和SVC編碼。在一些空間視頻的業(yè)務(wù)里面,我們?yōu)榱烁纳圃诳臻g定位的時(shí)延,會(huì)使用一些全I(xiàn)幀編碼結(jié)合一些普通編碼來(lái)使用,減少空間定位的時(shí)延。我們?cè)谠朴螒蚶餅榱藴p少大I幀的突發(fā),會(huì)采用幀內(nèi)刷新的編碼方式。在實(shí)時(shí)音視頻服務(wù)中,長(zhǎng)期參考幀和SVC是比較常見(jiàn)的編碼方式。

      3.3 PVC感知編碼

      下面介紹一下我們具體的一些編碼技術(shù)。我們?cè)埔曨l團(tuán)隊(duì)聯(lián)合華為2012中央媒體技術(shù)院,從分析人眼視覺(jué)系統(tǒng)出發(fā),改進(jìn)了PVC感知編碼算法。我們的算法經(jīng)歷了幾輪迭代。最新的感知編碼2.0算法實(shí)現(xiàn)了1Mbps碼率提供了1080P 30幀高清畫(huà)質(zhì)的體驗(yàn);算法的主要改進(jìn)思路是:首先通過(guò)預(yù)分析和編碼反饋信息,對(duì)場(chǎng)景和區(qū)域進(jìn)行區(qū)分,實(shí)時(shí)通話場(chǎng)景主要的高敏感區(qū)域包括:人臉區(qū)域和靜態(tài)區(qū)域。針對(duì)不同場(chǎng)景和區(qū)域,采用不同的編碼參數(shù)和碼率分配策略,例如非高敏感區(qū)域分配較低的碼率;2.0算法在1.0的基礎(chǔ)上,我們?cè)诖a控方面加入了AI的技術(shù),相較于之前,固定的碼率和分辨率組合,新的方法,我們基于AI的感知碼控,獲取不同場(chǎng)景下最優(yōu)的碼率和分辨率組合,達(dá)到低帶寬下更優(yōu)的主觀效果。

      3.4 SCC編碼

      第二編碼技術(shù)是SCC編碼,它主要應(yīng)用于計(jì)算機(jī)生成圖像的編碼,比如在教育或者會(huì)議里的屏幕共享場(chǎng)景,我們的算法相較于x265 ultrafast檔位,它編碼的壓縮性能提升了65%,在相同的計(jì)算資源的情況下,我們的編碼速度提升了50%。針對(duì)屏幕共享的場(chǎng)景,我們也解決了它特有的一些問(wèn)題。在共享的時(shí)候,經(jīng)常會(huì)共享一些圖文,比如word或者ppt。這一類相對(duì)是比較靜止的,這個(gè)時(shí)候編碼參數(shù)一般會(huì)采用低幀率,盡量保證它畫(huà)質(zhì)的編碼方式,但很多時(shí)候共享圖文之后會(huì)切換到共享視頻。如果不能很好的去感知這一點(diǎn),我們觀看視頻的體驗(yàn)就是不連續(xù)的畫(huà)面,類似于gif。

      為了解決這一問(wèn)題,我們采用了基于視頻時(shí)空域的復(fù)雜度分析,來(lái)自適應(yīng)視頻編碼幀率的辦法。這樣在靜態(tài)的圖文畫(huà)面下能夠有一個(gè)高品質(zhì)的圖像,切換到視頻共享時(shí),也能夠保證流暢性。

      我們解決的第二個(gè)問(wèn)題是從YUV444下采樣到Y(jié)UV420場(chǎng)景帶來(lái)的色彩度的失真問(wèn)題,因?yàn)槲覀冎篮芏鄷r(shí)候屏幕共享靜態(tài)的圖文,對(duì)色彩度的要求是比較高的。但是把它從YUV444下采樣到Y(jié)UV420的時(shí)候,UV域的信號(hào)會(huì)出現(xiàn)很大的衰減,左圖是沒(méi)有使用新算法之前的效果,右圖是應(yīng)用了新算法之后的效果,明顯可以看到右圖字體會(huì)更加清晰,色彩度的失真會(huì)更加小,這里的核心是使用了低復(fù)雜度色彩校正的算法。

      3.5 自適應(yīng)長(zhǎng)期參考幀編碼

      前面兩個(gè)編碼技術(shù)是降冗余,而自適應(yīng)長(zhǎng)期參考幀編碼技術(shù)是科學(xué)的提升冗余。為了更好的理解,我們先把復(fù)雜問(wèn)題簡(jiǎn)單化,理解一下什么是固定長(zhǎng)期參考幀,我們看到左邊上面的圖,紅色的是I幀,綠色是長(zhǎng)期參考幀,藍(lán)色是正常的P幀。通過(guò)這樣的一個(gè)參考幀的方式,打斷了原來(lái)正常的Ipppp前向參考的依賴關(guān)系,這樣當(dāng)它的P2或者P3丟失的時(shí)候,后面P5的解碼是不會(huì)受影響的,還是可以繼續(xù)解碼,這就會(huì)改善它的流暢性。但是還是有不足的,比如這種綠色的長(zhǎng)期參考幀P5丟失了,因?yàn)橹蟮腜幀都依賴它,所以都無(wú)法解碼。第二個(gè)問(wèn)題就是固定,因?yàn)殚L(zhǎng)參考幀的關(guān)系,它會(huì)帶來(lái)一定的冗余,就會(huì)導(dǎo)致相同帶寬下的質(zhì)量會(huì)有所下降,所以我們希望在網(wǎng)絡(luò)好的時(shí)候,能夠盡量讓冗余變小一點(diǎn),來(lái)改善畫(huà)質(zhì),所以我們就提出了自適應(yīng)長(zhǎng)期參考幀的辦法。

      自適應(yīng)長(zhǎng)期參考幀的核心思路就是兩點(diǎn),第一個(gè)是增加反饋機(jī)制,在解碼端增加一個(gè)反饋機(jī)制,告訴編碼端這個(gè)長(zhǎng)期參考幀我收到了,編碼端知道這個(gè)幀收到之后,后面就參考這幀進(jìn)行編碼。第二個(gè)是增加一個(gè)動(dòng)態(tài)mark長(zhǎng)期參考幀的機(jī)制,也就是我會(huì)根據(jù)網(wǎng)絡(luò)的QOS情況去動(dòng)態(tài)優(yōu)化長(zhǎng)期參考幀編碼的步長(zhǎng),在網(wǎng)絡(luò)好的時(shí)候步長(zhǎng)調(diào)短一點(diǎn),網(wǎng)絡(luò)差的時(shí)候調(diào)長(zhǎng)一點(diǎn)。

      但是在增加反饋機(jī)制之后會(huì)帶來(lái)一個(gè)問(wèn)題,當(dāng)在一些網(wǎng)絡(luò)模型RTT比較長(zhǎng)的時(shí)候,我的反饋周期會(huì)比較長(zhǎng)。而且反饋報(bào)文還可能會(huì)丟失,需要再次反饋,這樣就會(huì)導(dǎo)致長(zhǎng)期參考幀的步長(zhǎng)變得非常長(zhǎng),一旦步長(zhǎng)變長(zhǎng)之后,它的編碼質(zhì)量就會(huì)進(jìn)行下降,甚至?xí)陆档綐I(yè)務(wù)無(wú)法接受的地步,在我們優(yōu)化算法的時(shí)候也考慮到這一點(diǎn),當(dāng)長(zhǎng)期參考幀的步長(zhǎng)太長(zhǎng),我們會(huì)強(qiáng)制P幀去參考離它最近的長(zhǎng)期參考幀,而不會(huì)完全去依靠反饋機(jī)制。這樣做會(huì)帶來(lái)兩個(gè)比較好的優(yōu)化效果,一個(gè)是在突發(fā)丟包場(chǎng)景下它的畫(huà)面流暢性變好了,同時(shí)它有一個(gè)比較好的網(wǎng)絡(luò)自適應(yīng)的能力,能夠兼顧流暢性和畫(huà)質(zhì)。

      3.6 網(wǎng)絡(luò)傳輸技術(shù):求互動(dòng)性與質(zhì)量的最優(yōu)解

      前面是視頻編碼技術(shù)的一些分享,接下來(lái)看一下我們?cè)诰W(wǎng)絡(luò)傳輸上的實(shí)踐。我們對(duì)網(wǎng)絡(luò)傳輸?shù)亩x,核心目標(biāo)就是要求互動(dòng)性和質(zhì)量的最優(yōu)解。我們知道網(wǎng)絡(luò)傳輸技術(shù),主要抵抗丟包,抵抗時(shí)延,抵抗抖動(dòng)。常見(jiàn)的技術(shù)比如ARQ、FEC、不對(duì)等保護(hù),還有抖動(dòng)估計(jì)、緩存伸縮等等,除了做到抗抖動(dòng)抗丟包,還需要有擁塞控制,擁塞控制的核心目的就是讓 “發(fā)送速率”盡可能去逼近“可用速率“,同時(shí)盡可能保持低延遲,如果發(fā)送速率和網(wǎng)絡(luò)可用帶寬不匹配,會(huì)造成丟包、抖動(dòng)或者帶寬利用率低。還有一個(gè)非常重要的就是信源信道聯(lián)動(dòng),我們前面看到的動(dòng)態(tài)長(zhǎng)期參考幀就是通過(guò)信道的信息動(dòng)態(tài)調(diào)整編碼參數(shù)的一種實(shí)現(xiàn)方式,基于這個(gè)聯(lián)動(dòng),才能夠更好的去改善我們的體驗(yàn)。

      3.7 基于強(qiáng)化學(xué)習(xí),提升帶寬預(yù)測(cè)精度,改進(jìn)QoE體驗(yàn)質(zhì)量

      無(wú)論是擁塞控制,還是信源信道聯(lián)動(dòng),在這個(gè)過(guò)程中帶寬預(yù)測(cè)的算法都是非常重要的。傳統(tǒng)的做法是利用人工的經(jīng)驗(yàn),通過(guò)一些決策樹(shù)算法,針對(duì)不同網(wǎng)絡(luò)模型下的帶寬做一些預(yù)測(cè),但是在復(fù)雜場(chǎng)景下,這種做法的效果不是特別理想,所以我們希望通過(guò)強(qiáng)化學(xué)習(xí)的方式來(lái)改進(jìn)這一點(diǎn)。

      主要思路是基于接收端反饋的網(wǎng)絡(luò)QoS,主要反饋四個(gè)信息:接收速率、發(fā)送速率、丟包率和時(shí)延抖動(dòng),基于這些信息,通過(guò)強(qiáng)化學(xué)習(xí)的方法來(lái)提高帶寬的預(yù)測(cè)準(zhǔn)確率。算法優(yōu)化后,我們的高清占比得到了30%的提升,卡頓率下降了20%。

      解密華為云原生媒體網(wǎng)絡(luò)如何保障實(shí)時(shí)音視頻服務(wù)質(zhì)量

      3.8 音頻3A技術(shù):改善音頻清晰度

      最后我會(huì)分享一下在音頻方面的技術(shù)實(shí)踐。好的3A算法對(duì)于語(yǔ)音清晰度體驗(yàn)至關(guān)重要。我們把AI技術(shù)應(yīng)用到3A算法中來(lái)改善語(yǔ)音的體驗(yàn)。

      首先,我們把AI應(yīng)用在回聲消除上,回聲消除是整個(gè)3A里非常重要的一個(gè)步驟。傳統(tǒng)算法在穩(wěn)態(tài)的環(huán)境下做的回聲消除,已經(jīng)比較成熟,一般都處理的比較好,但是當(dāng)環(huán)境出現(xiàn)一些變化,比如我拿著手機(jī)免提打電話,在家里,從房間走到陽(yáng)臺(tái),這個(gè)時(shí)候環(huán)境出現(xiàn)了變化,回聲消除就會(huì)遇到很多挑戰(zhàn),通過(guò)AI的方式能夠比較好的處理這些問(wèn)題。特別是針對(duì)雙講的場(chǎng)景,我們新的算法很好的解決了漏回聲和丟字的問(wèn)題。

      其次就是降噪,傳統(tǒng)的噪聲,比如像風(fēng)扇、空調(diào)這種穩(wěn)態(tài)的噪聲,相對(duì)來(lái)說(shuō)比較好抑制,而我們基于AI的降噪算法不僅能較好的處理平穩(wěn)噪聲,在應(yīng)對(duì)例如鍵盤(pán)、鼠標(biāo)敲擊的聲音或者是喝水、咳嗽這種突發(fā)的噪聲的場(chǎng)景下,我們也可以快速的進(jìn)行噪聲抑制。

      另外一個(gè)3A中比較重要的環(huán)節(jié)就是自動(dòng)增益,在通話場(chǎng)景下,自動(dòng)增益主要是通過(guò)基于對(duì)人聲的識(shí)別來(lái)進(jìn)行增益。這個(gè)時(shí)候,對(duì)人聲的檢測(cè)VAD是非常重要的,這一塊我們也是通過(guò)AI的技術(shù)來(lái)提升了人聲檢測(cè)的精確度,改善自動(dòng)增益的效果。

      3.9 音頻丟包恢復(fù)技術(shù):降低丟包對(duì)音頻體驗(yàn)的影響

      另一個(gè)和視頻技術(shù)有些差異的是音頻的丟包恢復(fù)的技術(shù),左邊這個(gè)圖也是一個(gè)比較經(jīng)典的丟包恢復(fù)的技術(shù)地圖,它主要分為兩類,一類是基于主動(dòng)的丟包恢復(fù),一類是基于被動(dòng)的丟包恢復(fù)。

      主動(dòng)丟包恢復(fù)技術(shù)主要包括常見(jiàn)的FEC、ARQ等。被動(dòng)恢復(fù)主要有三種方法,插值法,插入法還有重新生成法。算法優(yōu)化思路和視頻一樣,都是從研究人出發(fā),視頻是研究人眼到視覺(jué)特點(diǎn),那么音頻是研究人的發(fā)聲機(jī)制,基頻的信息一定程度反映了聲帶的振動(dòng)頻率情況。而包絡(luò)的信息,則一定程度反映了嘴型的情況,基于這兩個(gè)信息結(jié)合AI的聲碼器技術(shù)可以做到100毫秒左右的音頻報(bào)文丟失的恢復(fù)水平。我們知道一個(gè)中文字的發(fā)聲一般是150毫秒到200毫秒,傳統(tǒng)的PLC基于信號(hào)的恢復(fù)方式,一般可以做到50ms音頻信號(hào)的恢復(fù),現(xiàn)在我們基于AI的方式是可以做到100ms音頻信號(hào)的恢復(fù)。

      3.10 案例1:華為暢連,全球首款全場(chǎng)景音視頻通話產(chǎn)品

      3.11 案例2:網(wǎng)絡(luò)研討會(huì):會(huì)議+直播融合體驗(yàn),開(kāi)大會(huì)更簡(jiǎn)單

      比支持一個(gè)華為內(nèi)部客戶更難的是支持兩個(gè)。我們支持的第二個(gè)內(nèi)部客戶就是華為云會(huì)議,華為云會(huì)議的網(wǎng)絡(luò)研討會(huì)的場(chǎng)景也是基于我們的實(shí)時(shí)音視頻服務(wù)開(kāi)發(fā)的,我們現(xiàn)在可以做到的單場(chǎng)網(wǎng)絡(luò)研討會(huì)同時(shí)支持三千方的觀眾,其中有一百方是互動(dòng)的,在今年下半年我們的云會(huì)議產(chǎn)品會(huì)做到單場(chǎng)網(wǎng)絡(luò)研討會(huì)同時(shí)支持一萬(wàn)方的觀眾,五百方互動(dòng)。

      04總結(jié)

      最后我對(duì)今天分享的內(nèi)容做一個(gè)總結(jié)。首先,我們可以明顯的看到視頻業(yè)務(wù)正在驅(qū)動(dòng)整個(gè)互聯(lián)網(wǎng)技術(shù)發(fā)展,包括音視頻編碼/傳輸技術(shù),以及邊緣計(jì)算和邊緣網(wǎng)絡(luò)等技術(shù)。所以我們需要一個(gè)服務(wù)或者系統(tǒng)來(lái)彌補(bǔ)互聯(lián)網(wǎng)基礎(chǔ)設(shè)施(供給側(cè))和快速發(fā)展的視頻業(yè)務(wù)(需求側(cè))之間的鴻溝。

      第二點(diǎn),今天的分享僅僅只是開(kāi)始,隨著實(shí)時(shí)音視頻技術(shù)應(yīng)用場(chǎng)景的增加,數(shù)據(jù)的驅(qū)動(dòng),會(huì)使得我們的云原生媒體網(wǎng)絡(luò)架構(gòu)和各類算法持續(xù)優(yōu)化。

      最后,希望華為云原生視頻服務(wù)能夠和大家一起,攜手走進(jìn)視頻“新時(shí)代”。

      謝謝大家。

      5G媒體 實(shí)時(shí)音視頻 網(wǎng)絡(luò) 視頻 視頻點(diǎn)播

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:java單例模式-有用的模式
      下一篇:入行人工智能,這一本人工智能領(lǐng)域百科全書(shū)不可錯(cuò)過(guò)
      相關(guān)文章
      久久精品国产亚洲AV高清热| 亚洲人成人无码网www国产| 亚洲中文字幕无码久久综合网| 亚洲AV综合色区无码一二三区 | 国产精品亚洲综合天堂夜夜| 亚洲日本中文字幕天天更新| 自拍日韩亚洲一区在线| 久久亚洲最大成人网4438| 亚洲午夜电影在线观看高清| 亚洲无线一二三四区| 久久亚洲精品无码VA大香大香| 亚洲日韩图片专区第1页| 无码天堂va亚洲va在线va| 婷婷国产偷v国产偷v亚洲| 亚洲JIZZJIZZ妇女| 久久精品国产亚洲av天美18 | 亚洲综合色一区二区三区| 亚洲国产成人在线视频| 精品亚洲AV无码一区二区三区| 亚洲一级免费视频| 亚洲成人激情小说| 亚洲乱妇老熟女爽到高潮的片| 亚洲AV日韩AV一区二区三曲| 国产精品亚洲色婷婷99久久精品| 亚洲精品无码99在线观看 | 亚洲人妻av伦理| 亚洲午夜国产精品无码| 亚洲精品高清国产一线久久| 久久亚洲精品无码| 亚洲视频一区在线播放| 亚洲人成伊人成综合网久久| 亚洲人成77777在线播放网站不卡 亚洲人成77777在线观看网 | 亚洲国产精品无码久久久秋霞2 | 亚洲国产成人久久精品动漫| 自怕偷自怕亚洲精品| 亚洲av无码久久忘忧草| 亚洲人成色4444在线观看| 亚洲av日韩av欧v在线天堂| 国产精品亚洲视频| 久久久久无码精品亚洲日韩| 亚洲欧洲日产国码在线观看|