融云 CallPlus + X,通话场景一站式解决方案
融云近期上线的 CallPlus SDK,针对音视频呼叫场景单独设计后端服务 Call Server,信令延时低至 150ms,确保各端计时准确、一致;上线了音视频通话互转、灵活的多人通话、通话记录管理能力等功能。关注【融云全球互联网通信云】了解更多
在功能完整性和体验细腻度上,融云 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 步即可轻松实现音视频通话能力。