融雲近期上線的 CallPlus SDK,針對音影片呼叫場景單獨設計後端服務 Call Server,信令延時低至 150ms,確保各端計時準確、一致;上線了音視訊通話互轉、靈活的多人通話、通話記錄管理能力等功能。關注【融雲全球網際網路通訊雲】瞭解更多
關注【融雲全球網際網路通訊雲】後臺回覆【CallPlus】獲取演講 PPT
在功能完整性和體驗細膩度上,融雲 CallPlus 均優於行業其他產品。具體見融雲 CallPlus SDK 上線!1V1 音影片、遠端服務類應用的實現利器。
圍繞 CallPlus SDK,融雲還融合了多項生態能力,重新定義了音視訊通話場景化解決方案,適配 1V1 社交、遠端醫療、線上面籤等多種場景。
整體方案及適用場景
整體方案
通話場景一站式完整解決方案由 CallPlus SDK + 訊息元件 + 美顏外掛 + 內容稽核 + 推送構成。
聊天元件:融雲 IMKit SDK 提供聊天列表介面及聊天視窗、文字輸入區、加號傳送等訊息型別介面,讓開發者不用撰寫 UI 介面程式碼即可快速實現 IM 功能。
美顏外掛:提供開箱即用的美顏外掛,開發者無需處理 CallPlus 與三方美顏 SDK 的對接,直接呼叫美顏設定方法即可生效。
美膚:磨皮、美白、紅潤、銳化、亮眼、美牙、去黑眼圈、去法令紋等
美型:大眼、圓眼、5 款臉型調整、瘦顴骨、瘦下頜骨、額頭和下巴調整、瘦鼻、嘴巴調整、開眼角、眼距、眼鏡角度、長鼻、縮人中、微笑嘴角等
濾鏡:提供 75+ 款濾鏡可選
內容稽核:提供音訊流和影片流稽核服務,可針對色情、涉政、廣告等語音、影片進行識別,滿足業務運營中的內容安全需求。並且,稽核能力庫還在持續更新,以確保提供“最當季”的稽核服務。
離線推送:提供離線推送方案,當使用者不線上時,支援應用將音訊呼叫轉成推送觸達目標使用者。
融雲推送服務覆蓋 FCM、APNs 等系統通道,以及國內大多數手機廠商,比如小米、華為、OPPO、vivo、魅族、一加、Realme 等,實現了全平臺的推送覆蓋,保障了推送的成功率。
適用場景
1V1 社交:陌生人社交場景核心玩法,主要有影片匹配和約會交友兩類;其通話玩法多為呼叫某一指定使用者或隨機匹配某一使用者兩種。
融雲提供高畫質、低延遲的音視訊通話服務,延遲低至 200ms,保證各端使用者的使用體驗一致。此外,融雲還可提供美顏、實時計費、訊息元件、內容稽核等整體方案。
遠端醫療:作為核心溝通模組整合於遠端醫療應用,滿足遠端問診、醫療培訓、病理分析、手術示教等場景需求。
遠端面籤:申請人影片連線客服,遠端完成身份核驗、面談、審查審批、合同簽訂等流程。
以上兩種場景,融雲均可提供高畫質、低延遲的音視訊通話服務,以及雲端錄製、訊息元件等能力。
技術架構及難點攻克
融雲 CallPlus SDK 採用了分層架構設計——
可透過 API 介面層的 RCCallPlusClient 呼叫核心功能;註冊 IRCCallPlusEventListener 監聽來獲取通話過程中遠端使用者的通話狀態等回撥。
資料模型層提供了所有通話資料的查詢和儲存。
基礎元件層封裝了 CallPlus 的核心能力,任務模組、通話計時控制模組及 RTC SDK 和 IM SDK 的封裝模組都在該層實現。
信令層則負責和 Call Server 進行信令資料的互動和弱網補償處理。
分層架構設計主要有以下 5 大優勢:
▶模組化,分層設計將系統劃分為不同的層次,每一層都有特定的功能和責任。模組化有助於元件在不同專案中的重用,減少了重複開發的工作量。
▶可維護,由於分層設計的模組化特性,當需要對系統進行修改或修復時,可以更容易地定位和處理問題。維護人員只需要關注與其責任層相關的問題,而不需要深入瞭解整個系統的細節,這使得系統的不同部分可以獨立開發、測試和維護,減少了程式碼的耦合,降低了維護的難度。
▶測試性,分層設計使得單個層次的功能更容易進行單元測試,這有助於提高程式碼質量,減少潛在的錯誤,並確保每個層次都按預期工作。
▶擴充套件性,分層設計允許系統在不影響其他層次的情況下進行擴充套件,當需要新增新功能或更改現有功能時,可以透過向適當的層次新增新模組來實現,無需對整個系統進行大規模修改。
▶協作性,分層設計使系統的結構更清晰,更容易理解。開發人員可以更輕鬆地分析和理解系統的不同部分,有助於團隊合作。
除了採用分層架構設計外,融雲 CallPlus SDK 還解決了行業普遍面臨的 4 大技術難點。
難點 1:App 層通話時長的顯示與計費
融雲方案:由服務端去維護計時的相關策略,確保 App 顯示的通話時長與伺服器的計時精準同步,避免計時不準確和顯示差異的問題。
開發者可註冊 IRCCallPlusEventListener 監聽拿到通話開始時間回撥,透過該引數去實現 App 層的通話計時顯示。Android、iOS、Web 三端均透過相同方式實現,能保證所有端通話計時的準確性和實現程式碼的一致性。
難點 2:通話信令互動(發起、接聽、邀請、加入通話等)缺少重試機制
融雲方案:融雲 CallPlus 新增了任務重試模組,透過多執行緒和多線多佇列的管理,有效降低了非同步任務的資源消耗,提高了執行緒的可管理性,加快了併發任務的響應速度。
難點 3:通話過程中,不支援音/視訊通話多次互相轉換
融雲方案:融雲 CallPlus 支援音影片多次互相轉換,並且轉換結果由 CallServer 仲裁,以確保在媒體切換過程中取消切換和超時切換邏輯的準確性。
難點 4:對發起、加入跨群組、跨組織的通話支援不友好
融雲方案:融雲 CallPlus 支援跨群組、多組織之間發起邀請加入通話,讓開發者整合更加簡單,讓業務擴充套件更加自由。
具體整合實踐可以透過使用融雲 CallPlus SDK,一小時整合 1V1 視訊通話能力檢視。
一個 RTC 實時音影片底層零經驗開發者,只需 3 個核心 API、4 步即可輕鬆實現音視訊通話能力。