以一只音視頻百寶箱,應(yīng)對「千行千面」。
CloudImagine
大家好,今天我分享的主題是MediaBox——行業(yè)音視頻數(shù)字化再加速。 根據(jù)權(quán)威數(shù)據(jù)表明,65%的行業(yè)數(shù)字化信息來自視頻,基于此,音視頻技術(shù)對于行業(yè)數(shù)字化來說是至關(guān)重要的。今天我想借此機會向大家介紹一個重量級的客戶端產(chǎn)品——MediaBox,它將致力于實現(xiàn)行業(yè)音視頻數(shù)字化再加速。 MediaBox,顧名思義,是一個包羅萬象的音視頻魔盒。在這里,多種音視頻能力的SDK可供任意選擇、自由組合、多端適配,一次性滿足多種音視頻需求。
接下來我將從MediaBox初識與全景、音視頻終端SDK的架構(gòu)設(shè)計和演進、音視頻低代碼開發(fā)的場景建設(shè)與實踐和生態(tài)合作及未來展望四個方面進行分享。
01
MediaBox初識與全景
從需求側(cè)來看,傳統(tǒng)音視頻技術(shù)已發(fā)展多年,在行業(yè)化的過程中被廣泛應(yīng)用于互娛行業(yè)。同時,也在逐漸向教育、醫(yī)療和零售等傳統(tǒng)行業(yè)滲透,刺激了傳統(tǒng)行業(yè)需求的旺盛增長。 從研發(fā)側(cè)來看,音視頻的復(fù)雜度使得行業(yè)客戶也面臨許多挑戰(zhàn),例如開發(fā)門檻高、接入復(fù)雜度高、性能挑戰(zhàn)大等等。 基于這些行業(yè)趨勢和挑戰(zhàn),企業(yè)的音視頻訴求可總結(jié)為:高易用、高性能、場景化、多端化的多SDK組合及方案。阿里云視頻云“MediaBox音視頻終端一體化套件”就給出了這些問題的最優(yōu)解,通過極致的自我進化,加速行業(yè)音視頻數(shù)字化落地。 這里分享一個大家比較熟悉的互娛場景:直播PK。在開播端需要RTC技術(shù)支持直播推流和旁路直播;在PK時需要借助IM信令完成交互、RTC完成音視頻流傳輸以及進行混流布局。這樣的場景就需要多個SDK和云產(chǎn)品組合完成,那么相比音視頻SDK,我們更需要場景化的解決方案。
通過MediaBox全景圖,可以看到,MediaBox由音視頻終端SDK、音視頻低代碼AUI Kits兩大部分組成,并基于行業(yè)生態(tài)合作構(gòu)建音視頻場景方案。 MediaBox音視頻終端SDK全面覆蓋實時音視頻、直播、超低延遲直播、播放器、短視頻、美顏特效等,通過自由組合出包,形成一系列不同能力的SDK,為客戶提供靈活、易用、高效的接入體驗。 MediaBox AUI Kits通過對MediaBox SDKs單點能力做場景化的封裝,方便客戶將某個視頻場景化的能力快速集成到自己的應(yīng)用中??蛻舨恍枰斫庖粢曨lSDK中API的具體用法,只需關(guān)心自己的業(yè)務(wù)實現(xiàn),即可實現(xiàn)場景化的音視頻能力,從而大大加快業(yè)務(wù)開發(fā)進程。
MediaBox的優(yōu)勢可以總結(jié)為“一體、三高、多場景”。 首先是一體化:主要是SDK一體化和云端一體化。基于SDK一體化的底座,既可以方便地進行SDK開發(fā),也可以進行SDK組合,滿足不同的業(yè)務(wù)需求;云端一體化,比如特效引擎實現(xiàn)端云體驗一體化,智能緩存、調(diào)度優(yōu)化等實現(xiàn)端云一體化。 三高,指的是高易用、高性能、高智能。基于一體化SDK,我們可以實現(xiàn)SDK的靈活組合,并且結(jié)合AUI方案實現(xiàn)低代碼接入以保證易用性;另外,SDK的穩(wěn)定和高性能是重中之重;同時,SDK的智能化可以很好地服務(wù)各種場景需求。 最后是場景化,場景化方案要解決易用和好用的問題。舉個簡單的例子,長視頻和短視頻場景,在起播buffer的設(shè)置、緩沖區(qū)大小、本地緩存的設(shè)置上是有很大差異的,而客戶需要的是可以依據(jù)具體需求,開箱即用的場景化方案。
02
MediaBox音視頻終端SDK的
架構(gòu)設(shè)計和演進
接下來介紹MediaBox音視頻終端SDK的架構(gòu)設(shè)計。 在此之前,給大家分享兩則小故事。大家知道國產(chǎn)大飛機C919上有多少個零件嗎?據(jù)相關(guān)報道,C919上一共有250萬個零件,如此多的零件需要經(jīng)過完整的系統(tǒng)工程組裝起來,并且其中的每個零件都非常重要。 如果我們把MediaBox比作一架飛機的話,那么其中的各個子模塊就相當(dāng)于零件,如何進行有序組裝、并完整實現(xiàn)整體功能就成為了一個巨大的挑戰(zhàn)。 另外一個分享是關(guān)于汽車制造平臺。我們知道,不同車型可以在同一個制造平臺上生產(chǎn),共用整車設(shè)計,尤其是底盤設(shè)計和車輛結(jié)構(gòu)。同樣的,MediaBox基于一體化的底座,可以快速迭代和開發(fā)SDK產(chǎn)品。 上圖是MediaBox一體化SDK的總體架構(gòu)。它是一個分層的架構(gòu),SDK的Crash捕獲和License認證都是作為通用能力服務(wù)于整個SDK,在SDK之外還有很多研發(fā)支撐工具,來保障SDK研發(fā)的效率和穩(wěn)定性。
在SDK的發(fā)展初期,各個業(yè)務(wù)為了滿足需求,會各自進行SDK的迭代。隨著客戶業(yè)務(wù)的發(fā)展,會需要使用多個SDK來完成功能需求,如果強行把這些SDK融合在一起,在包大小方面也不是最優(yōu)的,而且可能會產(chǎn)生包沖突。 于是我們針對幾個主要原子SDK的功能模塊做了分析。如圖所示,各個SDK之間有很多可以共用的模塊,通過SDK模塊,可以更好地進行模塊復(fù)用,同時實現(xiàn)包大小的降低,另外也可以實現(xiàn)更多的性能優(yōu)化和兼容性提升。
這些組件抽離后,如何將它們組合到一起呢?可以通過pipeline機制來串聯(lián)從采集到渲染的整個流程。而音視頻pipeline的構(gòu)造、運行、銷毀等全生命周期管理,則需要由微內(nèi)核來實現(xiàn),它具備高效、靈活的特點,同時因為引入了插件管理,可以實現(xiàn)插件的插拔,提升SDK的擴展能力。
接下來通過一個示例展示插件設(shè)計。 某位客戶希望引入智能降噪的功能模塊,一般情況下智能降噪模塊是基于深度學(xué)習(xí)網(wǎng)絡(luò)實現(xiàn)的,所以其SDK包相對很大。如果我們直接把該模塊引入SDK,會導(dǎo)致整個SDK的size過大。 通過前文介紹,pipeline機制可以很好地串聯(lián)內(nèi)部組件,那么對于外部組件是否有好的解決之法?我們在微內(nèi)核中通過插件占位實現(xiàn)了插件的熱插拔,真正實現(xiàn)一套插件代碼、一次打包,同時滿足兩種客戶的訴求。
前面介紹了一些架構(gòu)設(shè)計的思考,接下來就涉及到一些實際落地的困難和挑戰(zhàn)。 第一個問題,是重寫SDK,還是基于現(xiàn)有的SDK進行演進?在業(yè)務(wù)需求的推動下,只能選擇后者,但這相當(dāng)于開著飛機換引擎,對于整體穩(wěn)定性的考驗非常之大。 第二個問題,對于一臺零件眾多的龐大機器,如何讓它順暢地運行起來?多團隊如何協(xié)作?版本如何管理? 一體化工程涉及到多個組件,各個組件的版本管理、依賴關(guān)系也相當(dāng)復(fù)雜,組件也很難獨立被引用。因此我們設(shè)計了一個靈活組件管理工具:ACPM(Aliyun C++ Package Manager)。它由兩個主要的模塊組成: 1、依賴模塊:負責(zé)根據(jù)描述分析依賴關(guān)系、下載對應(yīng)組件、生成cmake工程需要的編譯文件; 2、發(fā)布模塊:負責(zé)托管組件靜態(tài)庫(在MTL上),并記錄發(fā)布時的具體信息,以供依賴時分析。 通過這樣的方式,我們可以更好地管理各個組件。舉一個實際應(yīng)用的例子,短視頻、直播、RTC都使用到了視頻采集模塊。如果針對此模塊做融合,直接重寫一份模塊進行共用,在實際運行過程中可能會遇到一些挑戰(zhàn)。 我們采用的方式是ACPM化,在一個相對業(yè)務(wù)量較小的業(yè)務(wù)(如短視頻)內(nèi),將其SDK中的視頻采集模塊ACPM化,另外兩個業(yè)務(wù)仍使用原有的模塊。在前者的ACPM化模塊逐漸穩(wěn)定后,再將后兩者的模塊進行ACPM化,就可達到整體組件使用和工程效率上的融合。
ACPM化也可以應(yīng)用在公共組件、音視頻算法等當(dāng)中。在跨平臺上,我們不僅支持了Android/iOS/Win/Mac多端,還支持了Web端,可以輸出成Web Assembly代碼,這樣一些Native客戶端的能力可以快速無縫轉(zhuǎn)到Web平臺,實現(xiàn)多端體驗的一致性。 比如美顏特效SDK,可以通過ACPM編譯成Web Assembly代碼來供Web平臺使用,由于底層代碼是同一套,在體驗上也最大程度地保證了一致性。
接下來以一個高性能算法特效執(zhí)行引擎在Web端的實踐為例,介紹如何用一體化的框架落地。 如圖中的特效引擎,有其pipeline以及數(shù)據(jù)輸入組件和圖像處理組件,它可以打包成Android/iOS/Win/Mac以及服務(wù)端的版本,在Web端通過WASM的方式支撐相關(guān)業(yè)務(wù)。 Web上會有性能差和功能受限的問題,我們通過Profile工具生成火焰圖,分析耗時函數(shù),并將其進行SIMD替換。另外,通過在Web上開啟多線程,可以提升整體運行效率。
云端一體可以實現(xiàn)更極致的優(yōu)化,是競爭力的體現(xiàn)。 我們實現(xiàn)了一張網(wǎng)一個SDK,并覆蓋常見的音視頻相關(guān)場景。一體化SDK和一體化網(wǎng)絡(luò)MediaUni的配合,可以實現(xiàn)端云一體化的體驗,通過對接客戶端SDK,即可便捷地使用云上的服務(wù)。 比如端云協(xié)同,可以實現(xiàn)智能調(diào)度,通過云端聯(lián)動,智能控制播放緩存大小,以此降低成本。與媒體服務(wù)協(xié)同,可以實現(xiàn)智能按需轉(zhuǎn)碼,當(dāng)發(fā)現(xiàn)某個熱門視頻時,可以智能啟動轉(zhuǎn)碼,提升播放體驗的同時,也節(jié)約了客戶的成本。
通過前面的方案,可以說飛機已經(jīng)造出來了,但還需要保障其穩(wěn)定性。 首先是一體化對客,所有SDK共用一份License,進行統(tǒng)一授權(quán)認證、統(tǒng)一入口和引導(dǎo); 其次是高可用穩(wěn)定性體系,通過Crash的收集、問題的智能歸因,可以快速識別出問題的影響范圍; 然后是高可用數(shù)據(jù)體系,基于數(shù)據(jù)指標做埋點優(yōu)化,針對異常指標進行監(jiān)控; 最后是建設(shè)完善的自動化測試體系,來完整保障SDK的質(zhì)量和穩(wěn)定性。
MediaBox在場景化實踐中,同樣基于端智能技術(shù)不斷創(chuàng)新突破。 例如,在端側(cè)超分上,需要針對算法進行調(diào)優(yōu),并考慮端側(cè)算力的兼容性;另外,智能預(yù)加載會利用智能算法,基于當(dāng)前網(wǎng)絡(luò)狀況、用戶滑動行為、歷史播放行為等信息,動態(tài)控制預(yù)加載緩存。 在遠程教學(xué)一對多場景中,學(xué)生專注度下降導(dǎo)致教學(xué)效果差是遠程教學(xué)一直以來的痛點,而場景智能為業(yè)務(wù)賦能帶來了更多可能性。音視頻終端套件,不止是單純的開發(fā)工具,更是行業(yè)的創(chuàng)新型端口,以最輕量的方式,賦予場景全新的數(shù)智化能力。
03
MediaBox音視頻低代碼開發(fā)的
場景建設(shè)與實踐
我們接觸到的很多客戶都不是專業(yè)做音視頻開發(fā)的,因此他們都有一個共同的訴求,即希望能提供一攬子解決方案,而自己只需要專注業(yè)務(wù)開發(fā)即可。 在這里,有幾個值得探討的問題:到底要實現(xiàn)什么樣的組件,組件要實現(xiàn)到什么樣的粒度,組件要不要開放? 基于這個邏輯,我們開發(fā)了很多音視頻的低代碼基礎(chǔ)組件,這些基礎(chǔ)組件又可以組合成場景化組件。
AUI Kits的組件設(shè)計遵循統(tǒng)一規(guī)范、多端統(tǒng)一、簡單易用這三個原則,實現(xiàn)了多端一致的UI風(fēng)格。當(dāng)然,我們也提供了一些易用的工具,方便客戶使用腳本實現(xiàn)一鍵引入,這樣可以極大提升客戶的集成效率。
AUI Kits方案不只有UI控件,也包含與服務(wù)端緊密配合的場景化組件,其靈活的架構(gòu)設(shè)計可以讓客戶方便地進行組件組裝,另外核心組件的代碼也是開源的。 以接入的某電商直播客戶為例,基于場景化的解決方案,客戶快速接入音視頻能力并跑通業(yè)務(wù),同時根據(jù)需求自定義開發(fā),定制化修改了其UI。
以下將以圖中的例子說明,場景化方案是如何來設(shè)計的。 場景化方案一般由App、AUI Kits以及App Server配合云服務(wù)來完成。為了方便客戶一站式集成,App Server當(dāng)前已經(jīng)對接了常用的直播審核、錄制等阿里云PaaS層功能,客戶可以基于源碼進行二次開發(fā)部署,或者直接使用容器化的方式完成服務(wù)部署??蛻舳说慕M件會與服務(wù)端進行交互,完成場景化的業(yè)務(wù)功能。
面向娛樂直播、電商直播、企業(yè)直播,我們開發(fā)了互動直播AUI Kit場景解決方案,將常見的功能抽成組件實現(xiàn)。 在集團內(nèi)部客戶的某App電商直播場景,通過使用AUI Kit的直播播放、彈幕和櫥窗等組件,實現(xiàn)了業(yè)務(wù)的快速落地。此外,某新能源汽車公司快速集成了AUI Kit方案,完成新車發(fā)布會的企業(yè)直播。
面向公開課、大班課、企業(yè)內(nèi)訓(xùn)等場景,我們開發(fā)了互動課堂AUI Kit場景化方案,并在此場景下,完善了互動白板、智能專注度監(jiān)測等功能。 針對遠程監(jiān)考場景,音視頻技術(shù)可以很好地賦能教育行業(yè)。 中國每年有很多藝術(shù)考試,在傳統(tǒng)的方式中,藝術(shù)生都需要去現(xiàn)場考試。而遠程監(jiān)考場景具有很多難點,首先傳統(tǒng)的RTC會議方式是所有考生都在一個會議里,某位考生和老師之間要實現(xiàn)單獨通話,且其他考生聽不到的需求是難以滿足的;除此之外,藝考模式是大量學(xué)生同時在線,高并發(fā)的流量對于RTC系統(tǒng)也是非常大的挑戰(zhàn)。 針對痛點,遠程監(jiān)考AUI Kit方案憑借MediaUni網(wǎng)絡(luò),實現(xiàn)一對一通信,并支持萬人場景下的高并發(fā)推流。 基于低代碼方案,企業(yè)可以快速完成方案集成,大大降低開發(fā)門檻。另外,遠程監(jiān)考方案覆蓋了Android/iOS原生應(yīng)用,微信/釘釘小程序以及Web等多端,保障了考試場景下的“高易用”。 同時,基于全球3200+節(jié)點的底層網(wǎng)絡(luò),遠程監(jiān)考AUI Kit方案能承載10萬+考生同時在線,實現(xiàn)監(jiān)考端視頻延時1秒內(nèi)、1對1通話延時300ms內(nèi),全方位滿足高可靠、高并發(fā)、低延時、高清晰度的“極致好用”。
04
MediaBox生態(tài)合作及未來展望
MediaBox的場景化解決方案,可以降低開發(fā)門檻、提升集成效率,因此我們將不斷開發(fā)出更多場景化方案,為行業(yè)音視頻數(shù)字化助力。
此外,云端一體可以實現(xiàn)更極致的優(yōu)化和更好的體驗,這里面可挖掘的空間巨大,我們還將結(jié)合場景深耕技術(shù),讓端云結(jié)合發(fā)揮更大價值。
在端智能方面,我們已經(jīng)實現(xiàn)了智能的預(yù)加載,能根據(jù)當(dāng)前的網(wǎng)絡(luò)情況、當(dāng)前用戶的行為等信息進行模型計算,給出決策。在行業(yè)音視頻數(shù)字化過程中,場景方案中還會對端側(cè)智能提出更多需求。端云結(jié)合的智能化、大模型加持下的智能化,都是非常有想象空間的方向。
最后,我們在近期啟動了MediaBox生態(tài)合作伙伴計劃,招募戰(zhàn)略伙伴以及重點伙伴,并在銷售、營銷、技術(shù)、賦能等方面給予支持,為伙伴提供更廣闊的發(fā)展平臺。期待與合作伙伴一起,強強聯(lián)合,為行業(yè)客戶提供簡單、易用、高質(zhì)量的視頻云服務(wù)。
-
音視頻
+關(guān)注
關(guān)注
4文章
471瀏覽量
29872 -
數(shù)字化
+關(guān)注
關(guān)注
8文章
8708瀏覽量
61726 -
SDK
+關(guān)注
關(guān)注
3文章
1035瀏覽量
45899
原文標題:MediaBox,行業(yè)音視頻數(shù)字化再加速
文章出處:【微信號:livevideostack,微信公眾號:LiveVideoStack】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論