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

RCA接口音視頻傳輸的原理
RK628H:高端音視頻處理與傳輸芯片詳解
AMS-HE200:HDMI音視頻網絡延長器,開啟傳輸新時代

盤點那些常見音視頻接口
思必馳音視頻解決方案在高校中的應用
常見音視頻接口的靜電浪涌防護和濾波方案
音視頻IP化浪潮全面來襲,分布式系統開創音視頻行業新時代!
高清HDMI轉USB 3.0音視頻多功能音采集卡-測評

評論