基本概念

本文旨在介绍您在使用实时音视频 TRTC 服务过程中可能会涉及到一些基本概念。

应用

TRTC 通过应用的形式来管理不同的业务或项目。您可以在 TRTC 控制台 给不同的业务或项目分别创建不同的应用,从而实现业务或项目数据的隔离。每个腾讯云账号最多可以创建100个 TRTC 应用。

SDKAppID

SDKAppID(应用标识/应用 ID)是腾讯云后台用来区分不同 TRTC 应用的唯一标识,在 TRTC 控制台 创建应用时自动生成。不同 SDKAppID 之间的数据不互通。

UserID

UserID(用户标识)用于在一个 TRTC 应用中唯一标识一个用户,由开发者自行指定。
用户标识是用户登录开发者业务系统的帐号在腾讯云上的映射。通常情况下,开发者可直接使用用户名作为 UserID。
取值范围长度建议不超过32字节。请使用英文字符、数字或下划线,不能全为数字,区分大小写。

房间

房间是一个音视频空间,同一房间内的用户可以互相接收对方的实时音视频数据。
TRTC 使用房间这个虚拟的概念,用于用户之间的相互隔离。
只有在同一个房间里的用户才可以相互接收音视频。
一个用户同一时间只能在一个房间内。如果要进入另一个房间,必须从前一个房间内退出。

房间生命周期

第一个加入房间的用户为当前房间的所有者,但该用户无法主动解散房间。
通话模式下:所有用户都主动退房时,后台立即解散房间。
直播模式下:最后一个退房的用户是主播角色时,后台立即解散房间;最后一个退房的用户是观众角色时,后台等待10分钟后解散房间。
如果房间内的单个用户异常掉线,90秒后服务端会将该用户清理出当前房间。如果房间内的所有用户都异常掉线,90秒后服务端会自动解散当前房间。用户异常掉线等待时长会被纳入计费用时统计。
当用户要加入的房间不存在时,TRTC 后台会自动创建一个房间。

RoomID

RoomID(房间号/房间ID)用于在一个 TRTC 应用中唯一标识一个房间。RoomID 区分数字类型(roomId)和字符串类型(strRoomId),注意 strRoomId 和 roomId 不可以混用,“123” 和 123 在 TRTC 后台服务看来并不是同一个房间。

UserSig

UserSig(用户签名)是腾讯云设计的一种安全保护签名,用于对一个用户进行登录鉴权认证,确认用户是否真实,阻止恶意攻击者盗用您的云服务使用权。详情请参见 UserSig 相关问题 文档。

推送

推送指用户将本地的音视频数据上传给 TRTC 服务端的操作,对应“推流”。

订阅

订阅指用户向 TRTC 服务端请求拉取指定用户音视频数据的操作,对应“拉流”。

角色

TRTC 支持 主播(TRTCRoleAnchor)和 观众(TRTCRoleAudience)两种角色,二者区别在于:
主播角色既支持向服务端推送自己的音视频数据,也支持从服务端订阅并播放其他主播角色的音视频数据。
观众角色仅支持从服务端订阅并播放主播角色的音视频数据。
在通话模式下,所有进房用户都是主播角色。在直播模式下,您可以根据实际业务场景将进房用户分为主播和观众两种角色,同一个用户可以随时切换角色。

CDN 直播观看

CDN 直播观看,又称 “CDN 旁路直播”。TRTC 在云端使用旁路转码集群,将 TRTC 所使用的 UDP 协议转换为标准的直播 RTMP 协议,把 TRTC 的音视频数据推送到标准的云直播系统中,再经由 CDN 进行分发,从而实现 CDN 直播观看。详情请参见 实现 CDN 直播观看 文档。

云端录制

TRTC 采用旁路推流的方式使用 云直播 的能力为您提供全程的云端录制功能(即录音/录像),并将录制下来的文件存储到 云点播 平台,保证录制过程的可靠性和实时性。详情请参见 云端录制与回放 文档。

云端混流转码

CDN 直播观看云端录制等应用场景中,可能需要将 TRTC 房间里的多路音视频流混合成一路,您可以使用 TRTC 云服务后台的 MCU 混流转码集群来完成该项工作。MCU 集群能将多路音视频流进行按需混合,并将最终生成的视频流分发给直播 CDN 和云端录制系统。详情请参见 云端混流转码 文档。

哑终端

哑终端作为观众进入房间拉流时不会被其他 SDK 感知到(远端收不到哑终端的进出房事件通知)。