Basic concepts of Tencent RTC

本文旨在介绍您在使用Tencent RTC过程中可能会涉及到一些基本概念。

应用

Tencent RTC的 Call、Conference、Live、RTC Engine、Chat产品通过应用的形式来管理不同的业务或项目。您可以在 Tencent RTC控制台 给不同的业务或项目分别创建不同的应用,具体可参考创建应用教程,从而实现业务或项目数据的隔离。

SDKAppID

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

SDKSecretKey

SDKSecretKey是与SDKAppID配对的加密密钥,用于生成用户鉴权票据UserSig,确保服务调用的合法性和安全性,在 Tencent RTC控制台 创建应用时自动生成。

UserID

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

TUICallKit、CallEngine

TUICallKit:腾讯云推出的含完整UI的实时通话组件,即Call产品,提供开箱即用的音视频通话UI组件,支持1v1通话、群组通话、自定义铃声、悬浮窗等功能,可快速集成到应用中。
CallEngine:无UI底层音视频通话引擎,开发者可基于此接口完全自定义通话交互界面,它是上层UI组件TUICallKit的基础依赖,支持自定义更多复杂通话功能。

TUIRoomKit、TUILiveKit、RoomEngine

TUIRoomKit:腾讯云推出的含完整UI的多人音视频组件,即Conference产品,提供房间管理、屏幕共享、成员控制、会议中聊天等开箱即用功能,支持多平台快速集成。
TUILiveKit:腾讯云推出的含完整UI的互动直播组件,即Live产品,提供直播间主播开播、观众互动、主播连麦/pk、弹幕、礼物、 观众连麦等核心功能,可快速集成到应用中。
RoomEngine:无UI底层音视频房间引擎,它是上层UI组件TUIRoomKit、TUILiveKit的基础依赖,支持自定义更多复杂会议及直播功能。

MAU

MAU(月活跃用户数)是每月使用Chat功能(如消息收发、群组管理)的独立用户数总和。除了Chat产品本身,Live、Call、Conference产品在使用过程中也会产生MAU。不同套餐版本对应不同免费额度,超量需升级或付费。

License

用于激活腾讯特效 SDK(如Beauty AR 产品)的授权凭证,包含服务有效期、套餐版本等信息。
正式License:需在腾讯云控制台购买美颜套餐后生成,通过 LicenseUrl(授权文件下载链接)和 LicenseKey(授权密钥)动态获取。
测试License:部分场景(如本地调试)可通过临时文件(如v_cube.license)配置,但需确保首次联网鉴权成功。

License Key

授权密钥:与 LicenseUrl 配套使用,用于验证授权文件的合法性。禁止前端明文存储,生产环境需通过服务端接口动态获取。

License Token

签名密钥:用于生成临时签名(Signature),验证前端请求的合法性,必须将 Token 迁移至服务端,通过接口获取签名,避免泄露风险。

房间

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

房间生命周期

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

RoomID

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

UserSig

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

推送

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

订阅

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

角色

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

CDN 直播观看

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

云端录制

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

云端混流转码

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

哑终端

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