Skip to content

概览

接入 TiRTC 时,设备端、客户端和业务服务端需要分别完成一部分工作。先用本页了解各端如何建立连接,再根据当前任务进入具体指南。

只想先运行官方 Demo、快速查看效果时,从运行示例项目开始。准备把 TiRTC 接入自己的产品时,按下面的步骤完成 SDK 接入和连接。

先完成 SDK 接入和连接

TiRTC 从 SDK 接入到实现功能的步骤

音视频、对讲和消息都需要使用一条已经建立的 TiRTC 连接。开始实现这些功能前,先完成三步:

  1. 接入并初始化 SDK。 设备端和客户端分别按照目标平台完成工程配置,并确认 SDK 可以正常初始化或启动。
  2. 准备连接条件。 设备端启动并进入可连接状态。业务服务端完成登录鉴权和设备归属判断,再为客户端签发连接 token。这两项可以同时准备;客户端发起连接前,两项都要完成。
  3. 建立连接。 客户端用目标设备的 device_id 作为 remote_id 发起连接。客户端按照当前平台的连接建立标志确认结果,设备端以收到 on_conn_accepted(hconn) 为准。两端都确认成功后,这条连接才可以用于音视频、对讲和消息。

连接建立后,根据产品需要播放音视频、实现语音对讲、收发命令消息或流消息。这些功能互不依赖,可以单独实现,也可以组合使用。不同客户端 SDK 支持的功能有所不同,进入具体指南前先确认适用平台。

接下来做什么

第一次接入 TiRTC

如果设备端或客户端还没有接入 SDK,从这里开始:

  1. 设备端按照 C SDK 接入完成工程配置和启动准备。
  2. 客户端根据使用的平台,完成 WebFlutterReact NativeAndroidiOSHarmonyOS SDK 接入。
  3. 两端都准备好后,按照连接设备完成设备启动、token 签发和连接确认。

已经建立连接

连接成功后,直接进入需要实现的功能:

  • 播放设备端发送的音视频:播放音视频
  • 把客户端麦克风采集的声音发送给设备端:语音对讲
  • 在两端之间收发带命令字的控制数据:收发命令消息
  • 沿指定的流编号 stream_id 收发自定义数据:收发流消息,适用于 Flutter、React Native、Android、HarmonyOS、iOS 和 C SDK。

需要自行部署 RTC 服务

只有自行部署和运维 RTC 服务时,才需要接入自定义 RTC 服务。客户端直接连接设备端时,可以跳过这部分。

需要模拟设备进行联调

没有真实设备,或者希望先在可控环境中验证连接和各项功能时,使用 CLI 进行接入联调

接入结果不符合预期

按照排查接入问题逐步检查,先找出最早没有完成的步骤。

各端需要完成什么

  • 设备端: 配置设备身份并启动 TiRTC C SDK。设备应用负责采集和编码媒体,再把完整媒体帧交给 SDK 传输;同时按照产品需要收发音视频和消息。
  • 客户端: 接入 Web、Flutter、React Native、Android、iOS 或 HarmonyOS SDK,取得连接 token 并连接目标设备。连接成功后,使用 SDK 提供的音视频输出、本地音频输入和消息 API 实现播放、对讲或消息功能。界面和本地数据处理由应用实现。
  • 业务服务端: 校验客户端身份和设备归属,使用应用级凭证为获准访问的目标设备签发短期连接 token。应用级密钥不放在客户端或设备端。
  • TiRTC: 建立并维护两端连接,在连接上承载实时音视频、命令和流消息传输。

确认 SDK、连接和功能状态

SDK 启动、连接建立和功能可用是三个不同的结果,需要分别确认:

  • SDK 已经启动。 C SDK 以收到 TIRTC_EVENT_SYS_STARTED 为准;TiRtcStart() 返回 0 只表示启动请求已提交。客户端按照对应平台初始化接口的结果判断。
  • 连接已经建立。 客户端按照当前平台的连接建立标志判断,设备端以收到 on_conn_accepted(hconn) 为准。
  • 功能已经可用。 按照对应指南中的返回值、状态、回调和可观察结果判断。连接成功不代表订阅、送流、播放或其他功能已经完成。

如果某一步没有达到上述结果,先处理这一步。不要在 SDK 尚未启动或连接尚未建立时,直接排查后面的订阅、编解码或渲染。

TiRTC 开发文档