本文旨在介绍您在使用实时音视频 TRTC 服务过程中可能会涉及到一些基本概念。
应用
SDKAppID
UserID
UserID(用户标识)用于在一个 TRTC 应用中唯一标识一个用户,由开发者自行指定。
用户标识是用户登录开发者业务系统的账号在腾讯云上的映射。通常情况下,开发者可直接使用用户名作为 UserID。
取值范围长度建议不超过32字节。请使用英文字符、数字或下划线,不能全为数字,区分大小写。
房间
房间是一个音视频空间,同一房间内的用户可以互相接收对方的实时音视频数据。
TRTC 使用房间这个虚拟的概念,用于用户之间的相互隔离。
只有在同一个房间里的用户才可以相互接收音视频。
同一个 UserID 同一时间只能在一个房间内,如果有相同 UserID 进入同一个房间,前一个 UserID 将会被移出房间。
房间生命周期
第一个加入房间的用户为当前房间的所有者,但该用户无法主动解散房间。
通话模式下:所有用户都主动退房时,后台立即解散房间。
直播模式下:最后一个退房的用户是主播角色时,后台立即解散房间;最后一个退房的用户是观众角色时,后台等待10分钟后解散房间。
如果房间内的单个用户异常掉线,90秒后服务端会将该用户清理出当前房间。如果房间内的所有用户都异常掉线,90秒后服务端会自动解散当前房间。用户异常掉线等待时长会被纳入计费用时统计。
当用户要加入的房间不存在时,TRTC 后台会自动创建一个房间。
RoomID
RoomID(房间号/房间ID)用于在一个 TRTC 应用中唯一标识一个房间。RoomID 区分数字类型(roomId)和字符串类型(strRoomId),注意 strRoomId 和 roomId 不可以混用,“123” 和 123 在 TRTC 后台服务看来并不是同一个房间。
UserSig
推送
推送指用户将本地的音视频数据上传给 TRTC 服务端的操作,对应“推流”。
订阅
订阅指用户向 TRTC 服务端请求拉取指定用户音视频数据的操作,对应“拉流”。
角色
TRTC 支持 主播(TRTCRoleAnchor)和 观众(TRTCRoleAudience)两种角色,二者区别在于:
主播角色既支持向服务端推送自己的音视频数据,也支持从服务端订阅并播放其他主播角色的音视频数据。
观众角色仅支持从服务端订阅并播放主播角色的音视频数据。
在通话模式下,所有进房用户都是主播角色。在直播模式下,您可以根据实际业务场景将进房用户分为主播和观众两种角色,同一个用户可以随时切换角色。
CDN 直播观看
CDN 直播观看,又称 “CDN 旁路直播”。TRTC 在云端使用旁路转码集群,将 TRTC 所使用的 UDP 协议转换为标准的直播 RTMP 协议,把 TRTC 的音视频数据推送到标准的云直播系统中,再经由 CDN 进行分发,从而实现 CDN 直播观看。详情请参见 实现 CDN 直播观看 文档。
云端录制
云端混流转码
在 CDN 直播观看和云端录制等应用场景中,可能需要将 TRTC 房间里的多路音视频流混合成一路,您可以使用 TRTC 云服务后台的 MCU 混流转码集群来完成该项工作。MCU 集群能将多路音视频流进行按需混合,并将最终生成的视频流分发给直播 CDN 和云端录制系统。详情请参见 云端混流转码 文档。
哑终端
哑终端作为观众进入房间拉流时不会被其他 SDK 感知到(远端收不到哑终端的进出房事件通知)。