关键概念
本文介绍使用声网 RTC SDK 需要了解的流程或概念。
RTC (Real-Time Communication) 指实时通信技术。这种技术可以让信息发送方与接收方的任何通信服务几乎同时发生。相比泛指的通信,RTC 更加聚焦实时性,可以在极短的时间内传输音频、视频、数据等信息,从而实现实时交流和互动。
声网的 RTC SDK 是提供音视频实时互动云服务的产品,支持多平台多设备运行,可实现一对一单聊、多人群聊,同时具备纯语音通话、高清视频通话和互动直播功能。
流程
使用控制台
使用声网音视频服务首先需要在控制台创建音视频项目,详见开通声网服务。
控制台:声网提供给开发者管理声网各项服务的工具。控制台提供直观的界面,方便开发者在使用声网各项服务时进行充值、查询、管理等操作。
App ID:声网为开发项目生成的字符串,是项目的唯一标识。
App 证书:又名 App Certificate,它是声网控制台为开发项目生成的随机字符串,用于开启 Token 鉴权,并作为生成 Token 的参数之一。
Token:也称为动态密钥,是在加入频道时用于校验用户权限的一组字符串。
在控制台获取 App ID、App 证书和 Token 后,就可以开始尝试实现音视频通信的基本流程了。
音视频基本流程
下图展示了利用声网 RTC SDK 实现音视频互动的工作流程。
流:一路流是一系列数字编码的连续信号,包含音频或视频数据。
频道:由开发者调用声网提供的 API 创建的、用于传输实时数据的通道。
发布:指频道中的用户将音视频数据发送到频道的操作。
订阅:指频道中的用户接收频道内已发布的音视频流的操作。
用户 ID:App ID 一致的前提下,用户 ID 是用户的唯一标识符。
用户角色:用于定义频道内用户是否有发流权限,分别有主播和观众两种用户角色。
- 主播:频道内有发流权限的用户。
- 观众:频道内没有发流权限的用户。观众只能订阅远端音视频流,不能发布音视频流。
连接 (RtcConnection):SDK 与 RTC 频道间的连接。当你需要在多个频道中发布或接收多路流时,一个连接用于指定一个目标频道。
SD-RTN™:是 Software-Defined Real-Time Network 的缩写,即软件定义实时网,这是声网自建的底层实时传输网络。
概念
轨道
轨道 (track) 包含了特定的音频或视频信息,由输入源 (source)、过滤器 (filter) 和输出端 (sink/renderer) 三个部分组成;根据在 RTC 流程中功能的不同,又可分为上行轨道(发送端)和下行轨道(接收端)。
输入源:位于轨道的起始端,表示本地待发布的音视频数据,可以是摄像头、屏幕采集、麦克风,也可以是从文件解析得到的音频/视频等。
过滤器:对音视频进行一系列处理,包括:前处理和后处理,以及将处理后的音视频信号传输到输出端。过滤器可以连接多个输入源或者多个输出端。
输出端:位于轨道的末端,通常轨道会在此处结束,比如编码器、渲染器等。