实时音视频开发指导
欢迎使用融云实时音视频(RTC)。RTC 服务基于房间模型设计,可以支持一对一音视频通信、和多人音视频通信。底层基于融云 IM 信令通讯,可保障在长时间音视频通话及弱网情况下保持正常连通。
本页面简单介绍融云 RTC 服务能力和 SDK 产品。
客户端 SDK
融云客户端 SDK 提供丰富的接口,大部分能力支持开箱即用。配合 RTC 服务端 API 接口,可满足丰富的业务特性要求。
SDK 适用场景
CallPlus、CallLib/Kit、RTCLib 是融云 RTC 服务提供的三款经典的客户端 SDK。其中 CallPlus、CallLib/Kit 用于开发音视频通话(呼叫)业务。RTCLib 是音视频基础能力库,可满足类似会议、直播等业务场景需求,具备较高的扩展与定制属性。
业务分类 | 适用的 SDK | 流程差异 | 场景描述 |
---|---|---|---|
通话(呼叫) | CallPlus、CallLib/Kit | SDK 内部呼叫流程自动处理房间号 | 拨打音视频电话(类比微信音视频通话) |
会议 | RTCLib | 与会者需要约定房间号,参会需进入同一房间 | 线上会议、小班课、在线视频面试、远程面签等 |
直播 | RTCLib | 支持区分主播、观众角色。观众可通过连麦进行发言。 | 直播社交、大型发布会、语聊房、线上大班课等 |
如何选择 SDK
不同 SDK 适用的业务场景差异较大,请您谨慎选择并决策。
- CallPlus 与 CallLib/Kit 用于实现通话(呼叫)功能的客户端库。封装了拨打、振铃、接听、挂断等一整套呼叫流程,支持一对一及群组内多人呼叫的通话能力。CallPlus、CallLib/Kit 均依赖 RTCLib,两者区别如下:
- 【推荐】CallPlus 是融云新一代针对音视频呼叫场景的 SDK,后续新的产品特性和持续迭代均以 CallPlus 为重点。
- CallLib/Kit 是老版本的音视频通话 SDK,CallLib 不含任何 UI 界面组件,CallKit 提供了呼叫相关的通用 UI 组件库。
- CallPlus 与 CallLib/Kit 使用完全不同的后端服务架构实现音视频通话(呼叫)功能,因此与 CallLib/Kit 并不互通。暂不支持从 CallLib/Kit 平滑迁移至 CallPlus。
- RTCLib 是融云音视频核心能力库。应用开发者可将 RTCLib 用于支持直播、会议业务场景。
具体选择建议如下:
- 不需要通话(呼叫)功能,可使用 RTCLib,即您仅需要融云为您的 App 提供实时音视频(RTC)核心能力。
- 需要开发支持通话(呼叫)的音视频应用,但不希望自行实现呼叫 UI,可使用 CallKit。直接利用融云提供的呼叫 UI,节省开发时间。
- 需要开发支持通话(呼叫)的音视频应用,不希望 SDK 带任何 UI 组件,可使用 CallPlus、 CallLib,推荐您使用 CallPlus。
- 通过融云提供的独立功能插件扩展客户端 SDK 的功能。
在使用融云 SDK 进行开发之前,我们建议使用快速上手教程与示例项目进行评估。
高级和扩展功能
RTC 服务支持的高级与扩展功能,包括但不限于以下项目:
- 跨房间连麦:支持多主播跨房间连麦 PK 直播。
- 通话数据统计:按照指定的时间间隔上报通话的详细数据。
- 屏幕共享:通过自定义视频流的方式在房间内发起屏幕共享功能。
- 自定义加密:可选择对媒体流进行加密,从而保障用户的数据安全。
- 插件支持:支持通过插件实现美颜、CDN 播放器等功能。
- 云端录制:在音视频通话(呼叫)、直播、会议时分别录制每个参与者的音视频、或合并后进行录制。
- 内容审核:融云媒体服务器(RTC Server)把收到的音视频流转码后送审,审核结果返回应用服务器。
部分功能需配合 RTC 服务端 API 使用。具体支持的功能与平台相关。具体使用方法请参见客户端 SDK 开发文档或服务端开发文档。