
前言
2020年注定是一個不平凡的一年,因為疫情的原因,讓我們每個人的生活都受到了影響,春節假期延長、人員流動受限、各地延遲復工,好在利用現有技術、大人們在家辦公,學生們在家上網課,讓我們的生活恢復了正常,
回顧2020年,感覺就像按了加速鍵,在如此艱難的一年,我們每個人都奮力前行,用堅強的毅力堅守住自己的作業崗位,堅持到了最后,我們憑自己的實力贏得了別人的認可,anyRTC在這一年里,也經歷了質的蛻變,從SDK架構的升級到官網的全面更新,并落實AI在音視頻場景中的應用等等,下面就讓我們一起回顧anyRTC在2020年的改變和升級,
1、SDK全新架構
SD-RTN 全球實時通信網
SD-RTN: SD-RTN(Software Defined Real-time Network) 軟體定義實時網,專為雙向實時音視頻互動而設計,超高清音視頻的傳輸需要穩定的網路和充足的帶寬,任何的網路波動都會對音視頻質量造成影響,在實時通訊的場景下,如何高速地檢測網路狀態并根據網路狀態制定合適的抗性和傳輸策略,一直是學術界和業界的難題,我們的團隊具有豐富的學術界和業界經驗,為此提供了能適應各種復雜場景的高品質高可靠性的解決方案,
系統采用分布式、分層架構,利用數十萬個邊緣可控節點提供服務,它融合基礎網路能力、CDN分發能力、媒體處理能力、MCU、多碼率的對齊和處理、壓縮和轉碼、SVC等能力,
擁塞控制:基于延遲和丟包擁塞控制演算法,結合我們豐富的網路狀態資料庫,提出了新的實時擁塞控制演算法,在不同網路場景下都能迅速給出可靠的帶寬預測,
損傷抗性:互聯網網路不穩定因素有很多,我們的智能抗性演算法可以在極低的延時下抵御住各種突發性的網路波動及網路損傷,將有限資源的能力最大化,確保優質的播放體驗,
QoS/QoE最優化:在網路帶寬受限的情況下,清晰度、流暢性和延時不可兼得,我們根據應用的背景關系和網路狀態,實時自動做出最優的取舍,讓最終用戶能獲得最好的體驗,
多人通訊流控:多人通訊環境,既要保證重要通話的清晰度,又要兼顧他人的體驗,我們使用了兩套策略:在決策空間有限的情況下使用人工智能進行流控;在更復雜的場景下提供基于主觀體驗調整策略,
網路度量:網路策略的制定離不開現網大量資料支持,我們有豐富的去隱私資料集用來提取和學習網路的狀態,可以在離線場景下復現差網狀態,與在線場景下迅速判斷網路狀態,
動態路由:網路狀態變化多端,跨運營商、跨區域、跨國等多重復雜網路環境,需要實時對網路狀況進行檢測和調整;基于實時狀態資料進行分析和計算,獲取最優的傳輸線路,
全新網路架構能端到端延遲平均在200ms左右;基于UDP私有協議傳輸,延時可控;能夠承受超強的抗丟包能力,80%的丟包能夠正常通話;超強網路拓撲,單頻道人數可支撐1000W同時在線,

SDK 模塊化設計
SDK:它提供音視頻通信、訊息通信、媒體處理控制等基礎能力,此外,我們面向不同的業務應用場景提供同一套SDK,包括視頻會議、直播連麥、視頻客服、低延時直播等SDK,
SDK采用模塊化設計,分為網路傳輸層、音視頻編解碼層、引擎API層,
介面模塊化設計:
核心方法:SDK的初始化以及加入房間的方法配置、離開房間等相關方法,
音頻核心方法:音頻模塊的相關配置:使用音頻模塊、禁用音頻模塊、是否發送自己的音頻、是否接收別人的音頻、音量設定等等,
視頻核心方法: 視頻模塊的相關配置:使用視頻模塊、禁用視頻模塊、是否發送自己的視頻、是否接收別人的視頻、本地采集解析度、幀率設定等等,
視頻前處理及后處理: 視頻美顏、超分等相關功能,
音頻播放路由: 揚聲器管理,
耳返設定: 耳返設定管理,
多頻道管理: 一個用戶可以進入多個頻道,
螢屏共享: 螢屏共享相關管理,用戶可區域螢屏共享,也可以應用視窗共享,以及共享螢屏的聲音模塊等等,
音樂檔案播放與混音: 播放音樂檔案,以及對檔案的狀態操作等,
變聲和混響: 男變女、女變男、大房間、KTV音效等設定,
CDN推流: 本地CDN推流和服務端CDN推流,滿足萬人頻道觀看的需要,
跨頻道流媒體轉發: 主播PK連麥場景的設定,
在線輸入媒體流: 適合一起看電影,觀看網路攝像頭等場景的需求,
視頻雙流模式: 大小流無縫切換,多人互動場景下節省用戶流量以及減少設備性能消耗的必備功能,
通話前網路檢測: 通話前檢測當前客戶端的上下行網路,
視頻自采集自渲染: 當本地采集渲染無法滿足自身需求的時候,比如手機螢屏共享,需要使用第三方美顏等功能,
音頻自采集自渲染: 當本地采集渲染無法滿足自身需求的時候,比如變聲,自定義音頻輸出等功能,
直播水印: 對輸出的視頻進行加水印處理,防止視頻盜鏈,
等等,
各個模塊可參考API檔案
2、官網升級
2020年8月,anyRTC官網進行了一次全面的升級,從官網樣式,內容,到用戶后臺管理,都煥然一新,
anyRTC官網:https://www.anyrtc.io/
官網更加簡潔明了,即便是第一次瀏覽的用戶也能準確快速的找到所需的目標,新增首頁客服,可直接通過官網咨詢客服,線上客服體驗趨于完善,
用戶后臺管理中心新增監控大廳與用量統計,并進一步優化了費用中心,可供實時查看動態資料,調整運營方案,消費明細,讓客戶更放心,更安心,
- 監控中心:后臺資料監控,版面升級,詳細高效查看資料,實時資料自動生成圖文,直觀展示資料,方便查看與統計,
- 用量中心:自動生成圖文展示實時用量,可根據需求查看近段時間的用量統計資料,用量變化等,了解用量趨勢,提供運營方向的資料支持,
- 費用中心:費用中心包括交易詳情、發票管理與賬單界面,可根據個人需要進行操作,賬單頁面可選擇月份查看對應月份的賬單資訊,費用資訊更直觀透明,易操作易理解,

3、檔案中心更新
如果把各位開發者想象成戰士,那么檔案中心可以說是必不可少的彈藥,開發者們可以從檔案中心,了解到各個引數與介面,今年我們為各個平臺、框架添加demo檔案,新增場景、功能簡介、開發注意事項等介紹,幫助不同水平的開發者更好的使用SDK,
同時anyRTC檔案中心,全面優化了UI,檔案內容更加全面、分類更加細致,目前分為六大類:語音通話、視頻通話、互動直播、實時訊息、云端錄制、anyRTC平臺,方便開發者們快速找到自己所需要的檔案,提升用戶體驗,

4、SDK升級
anyRTC Native SDK支持多頻道與人臉檢測
anyRTC Native SDK增加了對多頻道的支持,可以實作更多更復雜的實時互動場景,多頻道的典型場景就是超級小班課,超級小班課,是將互動大班課里的學生進行分組,各組的學生會同時訂閱老師的主頻道Channel A和各自小班的頻道Channel(B, C … N),各小組內學生不僅可以接收老師教學的實時音視頻流,同時小組內成員彼此可見、可聊天,極大提高大班課的教學質量和學生體驗,多頻道功能可在單行程中實作,不僅降低了集成的復雜度,還減少對系統資源的消耗,anyRTC對進入的頻道數量不限制,單頻道同時上麥人數最大支持50人,觀看人數不限制,
增加人臉檢測功能,通過 enableFaceDetection 方法開啟人臉檢測后,SDK 會實時觸發 onFacePositionChanged 回呼,向本地用戶報告檢測出的一系列結果,包括人臉距設備螢屏的距離,通過這個功能可以實作許多新的場景,比如在線教育場景下,可在檢測到學生距離螢屏過近后,發出提醒,保護用戶視力;如果檢測到學生不在攝像頭范圍內,則可以提醒老師該學生有可能“逃課”了,目前該功能僅支持 iOS、Android 平臺,
RTC SDK for WeChat
RTC SDK for WeChat是一個全新的SDK,能夠支持微信小程式實作如下場景:
1、視頻通話&語音通話
- 視頻通話場景,支持 720P、1080P高清畫質,
- 視頻通話場景,支持48kHz全頻帶,支持雙聲道,
- 單個房間最多支持300人同時在線,最高支持30人同時發言,
- 適用場景:1對1視頻通話、300人視頻會議、在線問診、遠程面試、視頻客服、在線狼人殺等,
2、互動直播&語音聊天室
- 支持十萬人級別觀眾同時播放,播放延時低至1000ms,
- 支持平滑上下麥,切換程序無需等待,主播延時小于300ms,
- 適用場景:視頻低延時直播、十萬人互動課堂、視頻相親、在線教育、遠程培訓、超大型會議等,
RTC SDK for WeChat的優點是高效,簡潔,快速,易操作,而微信小程式更是將這個RTC SDK的這個優點發揮到了極致,
低門檻快速接入:僅需 2 行代碼即可跑通測驗 Demo,10 行代碼完成通用能力接入,最快1分鐘即可從零開始快速搭建低延時、低卡頓、高品質的實時音視頻互動產品,同時支持 720P、1080P 高清畫質,60%丟包率可正常視頻,音頻方面支持 48kHz 采樣率,192kpbs 碼率,70%丟包率可正常語音,更有領先行業的3A 處理(回聲消除 AEC、自動噪聲抑制 ANS、自動增益控制 AGC),杜絕回聲和嘯叫,無損音質媲美純正 CD 效果,
總的來說RTC SDK for WeChat適用于各種互動的應用場景,使用該SDK開發成本低,開發周期短,基本和H5的開發難度差不多;很容易傳播和獲客,充分利用好微信的優質流量,
RTC新增自渲染
當默認的音視頻模塊無法滿足開發需求時,開發者可以使用外部渲染器對音視頻資料進行渲染,例如:
- 將獲取到的原始音視頻資料傳入其他的音視頻渲染引擎,
- 需自定義音視頻渲染方式,比如自定義渲染影片等,
- 當默認的渲染器被其他業務占用時,為避免音視頻服務與其它業務產生沖突,需使用外部渲染器對原始音視頻資料進行渲染,
功能介紹:
實時視頻傳輸程序中,anyRTC SDK 通常會啟動默認的視頻模塊進行采集和渲染,在以下場景中,你可能會發現默認的視頻模塊無法滿足開發需求:
-
app中已有自己的視頻模塊
-
希望使用非 Camera 采集的視頻源,如錄屏資料
-
需要使用自定義的美顏庫或有前處理庫
-
某些視頻采集設備被系統獨占,為避免與其它業務產生沖突,需要靈活的設備管理策略
基于此,anyRTC SDK 支持使用自定義的視頻源或渲染器,實作相關場景,
資料流轉圖

當默認的音視頻模塊無法滿足開發需求時,開發者可以使用外部渲染器對音視頻資料進行渲染,例如:
- 將獲取到的原始音視頻資料傳入其他的音視頻渲染引擎,
- 需自定義音視頻渲染方式,比如自定義渲染影片等,
- 當默認的渲染器被其他業務占用時,為避免音視頻服務與其它業務產生沖突,需使用外部渲染器對原始音視頻資料進行渲染,
5、跨平臺覆寫
跨平臺開發一直都是這幾年最重要的技術趨勢之一,跨平臺的框架每年都在更新,但是熱度卻從未降低,采用跨平臺開發技術讓軟體開發者幾乎可以用同一套代碼就為不同平臺構建應用程式,節省了時間、人力,以及不必要的作業,2020年anyRTC新增了,uni-app移動端插件和Flutter移動端插件,在跨平臺覆寫這方面anyRTC一直走在整個行業的前端,
- uni-app移動端插件
anyRTC uni-app移動端插件目前適配了RTC和RTM SDK,uni-app 是一個使用 Vue.js 開發跨平臺應用的前端框架,開發者撰寫一套代碼,可編譯到iOS、Android、H5、小程式等多個平臺,因為擴展能力強,學習成本低,所以深受開發者們的喜愛,
uni-app 跨平臺SDK應用場景非常廣泛,比如在在線教育、在線金融、智能終端、移動執法和交通物流方面都有良好的應用,
anyRTC uni-app RTC SDK 集成指引及示例DEMO
參考地址:https://github.com/anyRTC/uni-app-SDK
anyRTC uni-app RTM SDK 集成指引及示例DEMO
參考地址:https://github.com/anyRTC/uni-app-rtm
- Flutter移動端插件
anyRTC Flutter移動端插件目前適配了RTC和RTM SDK,開發者基于anyRTC Flutter SDK可以簡單高效的實作跨平臺音視頻和實時訊息功能,
Flutter是Google一個新的用于構建跨平臺的手機App的SDK,寫一份代碼,在Android 和iOS平臺上都可以運行,Flutter的優勢是具備快速開發、富有表現力和靈活的UI、以及原生性能,
anyRTC Flutter SDK 集成指引及示例DEMO
參考地址:https://github.com/anyRTC/Flutter-SDK
anyRTC考慮到了用戶的應用創建了實時訊息Flutter-RTM
參考地址:https://github.com/anyRTC/Flutter-RTM
到目前為止anyRTC全平臺覆寫,支持Windows、macOS、Android,iOS、Web、小程式等多平臺覆寫、支持Flutter、APICloud、uni-app、Electron跨平臺開發,
6、anyRTC AI實驗室
當下,5G和AI時代已至,音視頻技術已經上升到一個全新的高度,新場景、新應用、新標準也必將出現,anyRTC緊跟時代的步伐,成立AI實驗室,將自身的平臺技術跟AI深度結合,全新架構了服務端和客戶端音視頻引擎-下一代音視頻SDK以及下一代音視頻引擎,

1、SD-RTN全球實時傳輸網
SD-RTN(Software Defined Real-time Network) 軟體定義實時網,專為雙向實時音視頻互動而設計,
SD-RTN的優勢
| 高延時傳輸方案 | SD-RTN |
|---|---|
| 端到端單向延時 > 1s | 端到端單向延時 < 400ms |
| 基于 TCP 協議,延時不可控 | 基于 UDP 協議,延時可控 |
| 抗丟包能力差,在丟包 2% 時明顯卡頓,達到 30% 可能斷開連接 | 通過定制具有超強抗丟包能力,80% 丟包率也可通話 |
| 層層快取,就近下發 | 基于自定義路由,選擇最優傳輸路徑,實時端到端傳輸 |
| 適用于單向直播、視頻點播等無互動需求場景 | 適用于互動課堂、互動直播、音視頻社交、游戲對講等對實時互動高需求場景 |
SD-RTN是一種可承載任何點到點(peer-to-peer)實時資料傳輸需求的業務架構:只要呼叫開放的API,無論是實時視頻(會議、教育、直播、社交、監控、VR)、檔案傳輸(短視頻、辦公)還是高速資料同步(游戲、AI、IOT、物聯網)都可以很方便的接入SD-RTN的實時資料傳輸云服務,
2、音頻處理模塊
核心技術效果對應與試聽
智能語音增強解決方案,集成了AI智能降噪、回聲消除、混響消除、自動增益等核心技術,該方案創新性地應用深度學習技術,實時分離語音和背景噪聲,清晰提取人聲,有效消除環境中的各類噪音,讓用戶暢享更清晰高效的在線音視頻通話體驗,
anyRTC自19年初成立AI實驗室以來,經過長達一年多的時間,收集公開語音資料資源,以及第三方提供的資料和自己的內部會議來訓練AI模型,噪音抑制功能將分析用戶的音頻輸入,并使用經過特殊訓練的深度神經網路來減少背景聲音,例如鍵盤的敲擊聲、風扇產生的噪音等,目前我們anyRTC已經配備了全套工具和環境,我們現在已經自己采集了很多資料集,并且應用到了我們AI演算法中,下面就是我們anyRTC在AI音頻模型中取得的成就:
- 智能降噪:基于計算聽覺場景分析理論,應用深度學習技術,能夠在不依賴任何硬體的基礎上,實作將人聲和噪音分離,有效抑制環境中的各種噪音,
- DHS深度嘯叫抑制:基于深度學習技術,智能阻斷聲反饋回路,抑制嘯叫產生,有效解決實時游戲、在線會議等多人實時通話場景下嘯叫問題,
anyRTC AI 降噪技術規劃的關鍵策略包括音頻通信核心體驗、聲音場景分類和處理、音頻痛點難點問題及差異化體驗,最終目標則是提升語音可懂度、自然度、舒適度,
3、視頻處理模塊
核心技術
最高支持 1080P,解析度、碼率可自由切換,融合多種領先的視頻編碼處理演算法,畫質更好、碼率更低,支持移動端實時超分,實作低解析度視頻到高解析度視頻的實時重建,全面提升源視頻畫質和解析度,AI 輔助功能:支持實時暗光增強演算法,即使在較暗的環境下,也能提供清晰、明亮的影像,
anyRTC在其他領域也有所涉及:AI 智能傳輸,超解析度,智能插幀,影像增強等,
-
AI智能傳輸
由于網路傳輸線路上有丟包,接收的資料有失真,所以 AI 智能傳輸被用來做演算法補償,提升傳輸質量,
-
超解析度
實時通信視頻在接收端提高原有影像的解析度,得到高解析度的影像,該功能有效減少了網路傳輸帶寬,為移動端為用戶帶來極致視頻體驗,
-
智能插幀
智能插幀是通過運動估算,計算出畫面中物體的運動軌跡,生成新的幀來進行插補,可以將普通常見的30fps進行智能插幀計算,可以獲得60fps的順滑視頻,讓眼睛看到的自然形象更為自然,
-
影像增強
圖象增強是數字圖象處理常用的技術之一,圖象增強技術的目的是為了改進圖象的質量,以達到賞心悅目的效果,通常要完成的作業是除去圖象中的噪聲,使邊緣清晰以及突出圖象中的某些性質等,

7、開源demo
anyRTC目前官方維護的Github有兩個:
1、anyrtcIO:https://github.com/anyRTC-UseCase
只要是提供一些場景demo,比較有針對性,目前是提供一些場景demo,比較有針對性,比如語音開黑,聊天室,語音通話等場景,
2、anyRTCIO:https://github.com/anyRTC
提供了一些基礎的代碼示例,以及一部分由官方維護的面向跨平臺、第三方框架的 SDK 版本,
伴隨著互動場景的增加,以及產品功能的新增,anyRTC會繼續擴充GitHub資源庫,保證開發者們可以方便快捷的找到示例代碼,
8、推流
- 旁路推流
直播連麥PK目前是目前非常火熱的一種直播方式,主播PK就是一個主播在直播時,可以對另一個直播間的主播發起挑戰,一旦挑戰接受,兩個直播間的主播就開始進行連麥互動,直播界面一分為二,同時顯示兩個主播的畫面,兩方粉絲也會進入到同一個直播間中,
anyRTC提供以下兩種推流方法:
1、服務端旁路推流
-
單主播模式
適合Web網頁端直播的主播或者直播間無連麥需求的用戶
-
多主播模式
多人連麥直播時,推流到 CDN 需要開啟轉碼功能,將多路流合并為一路流,CDN 觀眾通過該路流的 CDN 地址(URL)即可觀看連麥直播,
2、客戶端旁路推流
-
單主播模式
不呼叫
setLiveTranscoding即可,SDK內部直接推流不在進行轉碼合流, -
多主播模式
主播呼叫
setLiveTranscoding進行本地轉碼推流,將多路流合并為一路流,CDN 觀眾通過該路流的 CDN 地址(URL)即可觀看連麥直播,
優勢
1、用戶無需結算旁路推流的消費,可以在客戶端直接推流,
2、延遲小:主播端直接推流,減少了傳輸程序中的延遲損耗,
- 輸入在線媒體流
輸入在線媒體流能可以將音視頻流作為一個發送端輸入正在進行的直播房間,通過將正在播放的音視頻輸入到直播頻道中,主播和觀眾可以一起收聽/觀看該媒體流并實時互動,
輸入在線媒體流的應用場景十分廣泛,以下為大家列舉出了一些;
1、直播視頻共享
比賽直播中,主播可以直接拉比賽的音視頻流,可以實作主播和觀眾一起看比賽,一起點評的功能,增加了主播與觀眾之間的互動性,
2、一起娛樂
在同一個直播間內,主播可以與觀眾一起看電影,聽音樂,打游戲,并且可以實時交流討論,提供給用戶一種沉浸式的觀感,
3、無人機或網路攝像頭視頻源
無人機或網路攝像頭直接采集視頻,該視頻作為在線媒體流輸入直播頻道中,
9、更多場景方案落地
伴隨著技術的不斷提升,更多的場景方案也逐漸落地實施,
- 智能手表
anyRTC為多國兒童智能手表廠商提供智能手表視頻通話解決方案,在兒童手表場景中,保障每一位小朋友與父母之間可以進行高質量、低功耗、低延時的實時互動交流,anyRTC為智能手表提供了輕量級視頻通話SDK,保證弱網的情況下可以正常通話,同時支持超清畫質與高音質,支持1080P 60FPS 超清視頻,48kHz全頻帶音頻編碼,優秀的3A演算法,

- 在線合唱
以往的合唱都是用戶開啟合唱功能之后先一個人和伴奏演唱,完成之后上傳,其他用戶可以使用這個已經有人聲的伴奏再唱一遍,實作“合唱”,而anyRTC要做到的合唱是兩位用戶同時在線唱歌,合唱的伴奏是同時通過網路發送給兩位歌手的,而且兩位歌手在演唱的同時可以聽到彼此的聲音,anyRTC提供的在線合唱解決方案,保證用戶可以像在線下KTV一樣,有聲臨其境的感覺,極大的提高了用戶的體驗感,
- 直播視頻共享
比賽直播中,主播可以直接拉比賽的音視頻流,可以實作主播和觀眾一起看比賽,一起點評的功能,增加了主播與觀眾之間的互動性,
疫情還未完全過去,我們還需要互相幫扶,砥礪前行,2020年充滿了復雜以及不確定性,面對這個快速發展的時代,我們能做的就是保持思考,堅持鉆研,茁壯成長,2021年,希望能與各位開發者繼續前行,共同進步,一起讓音視頻行業發展的更好,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/255980.html
標籤:其他
下一篇:chrome瀏覽器如何錄屏
