频道 Channel
频道是一个音视频空间,同一频道内的用户可以互相收发音视频。频道名和频道信息都由你自定义。打开与销毁
- 第一个用户加入时,频道若未打开会自动打开
- 也可以提前手动打开 —— 需要预先设置频道扩展属性时用得上
- 频道开启后 2 小时内无人加入,或最后一个用户离开 2 小时后,自动销毁
用户 User
SRTC 没有自己的用户体系。 所有用户信息由你定义,SRTC 只认 Token 里签发的uid。
uid 与频道的关系有两条规则:
- 一个 uid 可以同时加入多个不同频道
- 同一个 uid 加入同一个频道时,后加入的会顶掉先加入的
流轨道 Track
每一路音频、每一路视频都是一个流轨道。一个用户可以:- 发布多个本地轨道(摄像头、屏幕共享、麦克风……)
- 订阅多个远端轨道
desc 字段标记这一路是摄像头还是屏幕共享,接收端据此决定怎么渲染。
订阅是显式的
加入频道不等于自动收到所有画面。你需要主动订阅想看的轨道,或开启自动订阅。这样设计是为了让你能按需控制带宽 —— 比如九宫格只订阅当前页的九路,翻页时再切换。消息通道
除了音视频,SRTC 还提供两条消息通道。它们的区别只有一个:收发消息时,人在不在频道里。
发送必须走后端是有意设计的:消息先经过你的服务端,你才有机会做敏感词过滤、频率限制、权限校验这些业务规则。
同一个 uid 可以在多台设备上同时连 IM,每个连接有独立的
sid —— 所以「发给某个人」和「发给某台设备」是两件事。
- 客户端用法:Web 频道消息
- 服务端接口:服务端 API · IM 消息