Skip to content

名词解释

客户端

客户端是用户或业务应用使用的一端,用来连接目标设备、查看音视频、发起对讲、发送控制命令或承接业务交互。

在常见接入里,手机 App、桌面 App、Web 管理台或基于 Flutter / React Native / Android / HarmonyOS / iOS SDK 开发的应用都属于客户端。客户端拿到 remote_idtoken 后连接目标设备。

设备端

设备端是运行在嵌入式设备上的一端,用来让这台设备接入 TiRTC,并把设备上的音视频、对讲或控制能力开放给客户端。

摄像头、门铃、对讲设备、智能音箱、Linux 嵌入式设备或设备网关都可以作为设备端。设备端用 device_iddevice_secret_key 启动 SDK;客户端连接它以后,可以查看音视频、进行对讲、收发命令或使用其他设备侧能力。

4G 定向卡

4G 定向卡是“4G 定向物联网卡”的简称,指运营商或物联网卡服务商为指定业务用途提供的 SIM 卡及网络服务。这类卡通常只能访问事先配置的业务地址,不能像普通 4G 卡一样访问任意互联网地址。

域名或 IP 地址白名单是常见的限制方式:白名单中的地址可以访问,其他互联网地址不能访问。

4G 白名单网络

4G 白名单网络是设备使用上述白名单访问规则时所处的网络环境。设备可以直接使用 4G 定向卡联网,也可以通过 Wi-Fi 接入使用这类卡的路由器;只要当前出口受同一白名单限制,网络属性就相同。

这个名称描述的是设备当前的出口网络,不是设备通过 4G 还是 Wi-Fi 联网。

受限网络

受限网络是 TiRTC 文档对上述网络属性的统一称呼:设备当前只能访问预先加入白名单的域名或 IP 地址,无法访问其他互联网地址。

4G 白名单网络是受限网络的常见场景,但受限网络不限于 4G。其他网络具有相同的访问限制时,也属于受限网络。弱信号、网速慢、NAT 或没有公网 IP 不属于这里所说的受限网络。

设备处于受限网络时,需要在启动 TiRTC C SDK 前设置对应的网络信息,具体方法见配置 4G 设备网络信息

AppId

AppId 是客户端应用的唯一标识。

AppId 标识接入 TiRTC 的业务 App。同一个业务 App 可以有 Android、HarmonyOS、iOS、Flutter、React Native 等多个客户端技术栈,它们可以使用同一个 AppId

AppId 不表示某个用户、某台设备或某一次连接。

AccessKeyId

AccessKeyId 是应用级凭证标识。

它用来标识这次签发或接入属于哪个 TiRTC 应用。服务端签发连接 token 时会用到它,TiRTC 也会用它识别对应的应用级凭证。

AccessKeyId 本身不是密钥,和 SecretKeyId 配套使用。

SecretKeyId

SecretKeyId 是应用级密钥。

它用于服务端签名和鉴权,属于敏感信息。你的业务服务端可以使用它签发连接 token,但不要把它下发到客户端,也不要写进客户端代码、日志、截图或工单。

device_id

device_id 是设备的稳定标识。

device_id 标识具体设备,常用于设备管理、授权判断、远端目标识别和排查定位。

常见设备连接场景里,客户端要连接某台设备时,remote_id 就是这台设备的 device_id

device_secret_key

device_secret_key 是设备级密钥。

它和 device_id 一起用于证明设备身份,属于敏感信息,应只保存在设备端和服务端的受控位置。

不要把 device_secret_key 当成普通配置随意传递,也不要打印到日志、聊天记录、截图或工单里。

client_id

client_id 是设备端启动时上报的硬件或生产标识,由你自己生成和维护。

设备端启动前必须设置 client_id;未设置会导致启动失败。client_id 长度必须为 1 到 64 个可打印 ASCII 字符。

client_id 应当稳定、可追溯,能在你的生产或售后系统里定位到一台实物设备。常见取值包括生产序列号、MAC、ICCID、IMEI、芯片标识,或由产品线、批次、序列号等稳定字段组合生成。

同一个 device_id 首次启动后会绑定当次上报的 client_id;后续启动同一个 device_id 时,必须继续使用同一个 client_id

remote_id

remote_id 是客户端发起连接时填写的目标标识。

remote_id 回答的是“这次要连谁”。客户端拿到 token 后,会配合 remote_id 发起连接。

常见设备连接场景里,remote_id 就是目标设备的 device_id。例如目标设备的 device_idPRODFENGXXXX,客户端连接时 remote_id 就传 PRODFENGXXXX。服务端签发 token 时绑定的目标,也应当和客户端传入的 remote_id 保持一致。

token

token 是客户端发起一次连接时使用的短时凭证。

它由你的业务服务端签发。服务端在签发前应先完成自己的业务授权判断,例如当前用户是否有权限访问目标设备。

签发 token 不依赖目标设备是否在线。客户端真正发起连接时,目标设备才需要启动并在线。

客户端只需要把 token 当成一段不透明字符串使用,不应在客户端拼装、解析或改写它。

stream

stream 表示同一条连接里“一路一路”的数据,例如主视频一路、子视频一路、主音频一路、对讲音频一路。

TiRTC 用 stream_id 标识同一条连接里的每一路数据,并用媒体类型区分这一路数据里的帧是音频、视频还是流消息。

stream 包括这些类型:

类型说明示例
音频流持续传输音频帧的 stream主音频、对讲音频
视频流持续传输视频帧的 stream主视频、子视频
流消息stream_id 的业务自定义消息帧字幕片段、叠字文本、和某路音视频同步的状态提示

流消息

流消息是在一条已建立的 TiRTC 连接上,沿指定 stream_id 传输的业务自定义字节数据。

它适合表达“这段轻量数据属于某一路流”,例如字幕片段、叠字文本或和某路音视频同步的状态提示。流消息不是命令通道;如果你要表达请求、控制指令或处理结果,优先使用命令消息。

stream_id

stream_id 是同一条连接里某一条 stream 的编号。

客户端用它声明要播放、订阅、退订或请求关键帧的是哪一路远端音频或视频;设备端也用它标识正在发送、请求或停止的是哪一路流。

stream_id 的取值范围是 015。在同一条连接里,音频和视频不能共用同一个 stream_id

流消息也带 stream_id,但它不要求独占一个新的 stream_id。消息可以放到某一路已有音视频 stream_id 上,也可以单独约定一个 stream_id 专门承载消息;关键是两端按同一套约定解析。

TiRTC 开发文档