更新时间: 2021-02-22

融云音视频提供多种音视频通信 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

# 服务开通

使用融云的音视频服务,包括 CallKit、CallLib、RTCLib 需要在融云开发者后台开通音视频服务 (opens new window)

文档是否解决您的问题 ?

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