基本概念

最近更新时间:2024-12-18 10:23:12

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

应用

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

SDKAppID


SDKAppID
(应用标识/应用 ID)是腾讯云后台用来区分不同 TRTC 应用的唯一标识,在 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

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 感知到(远端收不到哑终端的进出房事件通知)。