更新时间: 2021-06-16

融云音视频提供多种音视频通信 SDK,所有 SDK 依赖于融云 IM SDK,分别为 音视频通话(呼叫)音视频会议(房间)低延迟直播,可结合自身业务进行选择。

有呼叫场景就用 音视频通话 ,没呼叫场景使用 音视频会议

分类 音视频通话(呼叫) 音视频会议(房间) 低延迟直播
SDK CallKit、CallLib RTCLib RTCLib
场景 类似微信音视频通话等必须含有呼叫流程的应用场景 适用于在线视频会议、小班课、在线视频面试、远程面签等场景 直播社交、大型发布会、语聊房、线上大班课等场景
差异 音视频通话 SDK 区别于音视频会议 SDK,音视频通话(呼叫)SDK 不需要双方约定房间号,SDK 内部自动处理房间号 音视频会议 SDK 区别于音视频通话 SDK,会议 SDK 必须使用相同房间号 后可进行通信 低延迟直播 SDK 区别于音视频会议 SDK,存在主播、观众概念,观众默认只能观看不能发言,观众发言可通过连麦方式实现

# 音视频通话介绍

音视频通话 SDK 含呼叫流程,可以实现一对一呼叫、多人呼叫等音视频通话场景,音视频通话 SDK 区别于音视频会议 SDK,音视频通话(呼叫)SDK 不需要双方约定房间号,呼叫流程自动处理房间号,适用于类似微信音视频通话等必须含有呼叫流程的应用场景,由两部分组成 信令通知音视频传输

信令通知:基于 IMLib SDK,例如 A 给 B 发起通话,A 优先会通过 IM 给 B 发送一个通话请求,B 同意后再进入音视频房间进行音视频通信

音视频传输:基于 RTCLib SDK,例如 A 给 B 发起通话,信令传输完成后,会适用融云提供的音视频能力进行通信

# 呼叫流程图
用户A -> 用户B: A 调用 call 方法 ;B 在线时, 收到 InviteMessage 用户B --> 用户A: B 端 CallLib 内部自动回复 RingingMessage;A 收到响铃消息 RingingMessage 用户B --> 用户A: A 调用 accept 方法接受邀请 B 发送的 AcceptMessage

# 功能特性

  • 连接稳定: 底层基于 IM 信令通讯,可保障在长时间音视频通话及弱网情况下的保持正常连通,智能 DNS 解析、多链路最优接入策略,为客户提供优质的通信质量保障

  • 消息通道: 支持用户向房间中发送自定义消息,可根据消息指令实现自身业务逻辑处理,使用灵活方便,扩展性强,可满足多种业务场景,如:远端控制、会控管理

  • 高质量、低延迟:

    • 视频属性:SDK 采集最大支持 1080p 分辨率,30fps 帧率
    • 音频属性:音频采样率默认 48kHz,支持双声道
    • 抗丢包:音频通话 100% 回声消除,1s 降噪,音频对抗 80% 丢包,视频对抗 40% 丢包
    • 低延迟:正常网络下,延迟可达 66ms 内
    • 网络自适应,根据当前网络状况自动切换最合适的码率控制、传输策略
  • 多平台互通: iOS、Android、Web、Mac、Windows、Linux

# SDK分类

SDK 依赖 说明
RTCLib IMLib 音视频核心引擎
CallLib RTCLib 基于 IMLib 和 RTCLib 封装的音视频通信库
CallKit CallLib 、IMKit 音视频通话界面组件
  • IMLib: IM 通信能力库,不含 UI,适用于对 UI 有较高订制需求的 IM 开发者
  • IMKit: IM 通信组件,包含 UI,适用于快速集成,对 UI 定制需求较少的开发者,IMKit 依赖 IMLib
  • RTCLib: 音视频核心引擎,不含 UI、呼叫流程,适用于对 UI 有较高订制需求的音视频开发者,RTCLib 依赖 IMLib
  • CallLib: 音视频通话通信库,不含 UI,包含呼叫流程,适用于音视频通话场景,CallLib 依赖 RTCLib、IMLib
  • CallKit: 音视频通话界面组件,包含 UI,适用于快速集成音视频通话,对 UI 定制需求较少的开发者,CallKit 依赖 CallLib、IMKit

# 注意事项

CallLib 提供了单人、多人实时音视频通话的基础功能,并且提供了简单易用的接口。 它封装了控制音视频通话状态的信令消息和通话控制逻辑,可以有效的管理通话状态。

CallLib 是基于 RongRTCLib 实现的,CallLib 的音视频采集和实时传输的能力来自于 RongRTCLib

# 移动端兼容性

CallLib SDK 支持:

平台 系统版本
iOS 8.0 及以上系统
Android 4.3 及以上系统
# Web端兼容性

Web RTCLib v5.1.0 版本开始已支持大部分现代浏览器,但由于各浏览器厂商对于 WebRTC 能力实现不同,故 RTCLib 在浏览器中的功能支持情况也有所不同。

功能 音频 视频 视频小流 屏幕共享 自定义音视频
平台 浏览器 --- --- --- --- ---
Windows Chrome 57+ 57+ 63+ 72+ 57+
FireFox 56+ 56+ 56+ 66+ 56+
Edge 79+ 79+ 79+ 79+ 79+
Opera 76+ 76+ 76+
QQ 10+ 10+ 10+ 10+
360 12+ 12+ 12+ 12+ 12+
MacOSX Chrome 57+ 57+ 63+ 72+ 57+
Safari 11+ 11+ 11+ 11+
FireFox 56+ 56+ 56+ 66+ 56+
Edge 79+ 79+ 79+ 79+ 79+
Opera 46+ 46+ 46+
QQLite
iOS 14.3+ Safari
Chrome
FireFox
微信内置浏览器 微信 6.5 微信 6.5
Android 6.0+ Chrome 90+ 90+
FireFox 87+ 87+
Opera 62+ 62+
WebView
微信内置浏览器

其他已知问题说明

  • 华为 Android 设备上使用 Chrome 浏览器无法使用视频功能
  • Vivo Android 设备内置浏览器不支持 WebRTC 能力,故无法使用 RTCLib
  • 小米 Android 设备内置小米浏览器不支持 WebRTC 能力,故无法使用 RTCLib
# Web端注意事项
  1. Web 站点必须为 localhosthttps

  2. 暂不支持移动端页面

  3. 必须成功连接 IM 后, 才可进行 CallLib 通话

  4. Web CallLib 从 3.1.0 开始, 不能与 3.1.0 之前的版本互通

  5. Web CallLib 3.1.0 以下对应音视频 2.0 引擎, 3.1.0 以及 3.1.0 以上对应音视频 3.0 引擎

文档是否解决您的问题 ?

如果遇到产品相关问题,您可 提交工单 寻求帮助