SDK 概述
1 概述
QNRTCKit 是七牛推出的一款适用于 iOS 平台的音视频通话 SDK,提供了包括美颜、滤镜、水印、音视频通话等多种功能,提供灵活的接口,支持高度定制以及二次开发。
下载地址
2 功能列表
功能 | 版本 |
---|---|
支持后台连麦 | v0.1.0(+) |
支持纯音频连麦 | v0.1.0(+) |
支持硬件编码 | v0.1.0(+) |
支持码率上下限配置 | v0.1.0(+) |
支持多分辨率编码 | v0.1.0(+) |
支持回调本地视频数据 | v0.1.0(+) |
支持实时美颜滤镜 | v0.1.0(+) |
支持第三方美颜滤镜 | v0.1.0(+) |
支持水印功能 | v0.1.0(+) |
支持踢人功能 | v0.1.0(+) |
支持静音功能 | v0.1.0(+) |
支持自动/手动对焦 | v0.1.0(+) |
支持实时状态回调 | v0.1.0(+) |
支持回调连麦房间统计信息 | v0.1.0(+) |
支持丰富的连麦消息回调 | v0.1.0(+) |
支持回调本地音频数据 | v0.2.0(+) |
支持回调远端音频数据 | v0.2.0(+) |
支持回调远端视频数据 | v0.2.0(+) |
支持编码镜像 | v0.2.0(+) |
支持合流参数配置 | v0.2.0(+) |
支持外部导入数据(可用于录屏) | v1.0.0(+) |
3 总体设计
3.1 基本规则
为了方便理解和使用,对于 SDK 的接口设计,我们遵循了如下的规则:
- 每一个
连麦
接口类,均以QN
开头
3.2 核心接口类
核心接口类说明如下:
接口类名 | 功能 | 备注 |
---|---|---|
QNRTCSession | 连麦核心类 | 包含连麦相关的接口 |
QNVideoView | 远端视频渲染 View | 用于渲染远端用户的画面 |
QNVideoRender | 远端视频渲染的类 | 包含视频渲染 View 和 userId 等 |
3.3 回调相关类
回调相关类说明如下:
类名 | 功能 | 备注 |
---|---|---|
QNRTCSessionDelegate | 连麦相关的所有回调 | 包括远端连麦者加入/离开房间、发布/取消发布音视频以及连麦状态等回调 |
QNRoomState | 定义了房间的状态信息 | 包括但不限于重连以及断开连接等状态 |
QNRTCErrorDomain | 定义了连麦过程中的错误码 | 包括但不限于 token 错误、房间不存在等错误信息 |
另外,统计信息回调中的 statistic
,提供了连麦过程中的统计信息,包括连麦过程中实时的音视频码率、帧率等回调信息。