TRTC 即 Tencent RTC,中文名是腾讯实时音视频,源自 QQ 音视频团队,是基于 QQ 十几年来 的音视频技术积累,在腾讯云上部署售卖的 RTC 云服务,致力于帮助企业快速搭建低成本、高品质、 跨平台的实时音视频互动能力的完整解决方案。 功能上支持语音通话、视频通话、连麦互动、美颜滤镜、旁路推流、视频录制、混流转码、交互式 白板、桌面分享、截图、鉴黄等,并提供微信小程序、 WebRTC、APP、PC、MAC 等全平台互联互 通能力,很好地应用于云游戏、云会议、快直播、实时音视频 PaaS 服务等领域。
技术定义上,一般我们对端到端的通信,按延时情况分为以下三种:
TRTC的核心是端到端1000ms以内的音视频技术,适用于实时性要求高的业务,例如腾讯云搭建于TRTC之上的业务
云端游戏渲染,利用 TRTC 传输,打开浏览器即可实时在线玩游戏。
利用 TRTC 实现云端会议系统,跨省、跨国随时异地开会办公。
CDN 2.0,高并发、低延时、标准化的下一代内容分发网络 。
RTC 云服务 PaaS 解决方案,覆盖两大核心场景:多人实时互动、十万人低延时直播。
具体应用场景
10人以内互动:1V1、1V4、1VN ()N<10
10-100 人互动
100 人以上互动
以小程序和web也就是浏览器之间的的视频通讯为例 很显然,有着一个小难点,跨平台了。这时候,我们可以用到TRTC在微信小程序端的SDK和web端的SDK,先去和TRTC云服务进行通讯,由TRTC云服务去对双方的音视频数据进行处理和传输。
SDK是什么? SDK是软件开发工具包,由开发人员使用其工具包提供的接口,去对接TRTC的云服务。同时,各平台的SDK由于使用协议和规则不同,使用方面在风格统一的模式下,又略有差异。
云服务是什么? 这个的涉及面比较广,粗略的说一下吧,一则是云服务器,以TRTC为例,通过TRTC的SDK,可以访问到TRTC的专有服务器。二则,是云计算,同样以TRTC为例,音视频压缩算法,协议转换交互,状态控制推送等。简单来讲就是,你通过SDK访问我服务器,我通过你的设置和链接,进通讯处理和传输。
由此可知,TRTC本质上就是一个音视频通讯的云服务,TRTC的SDK则是你使用它的工具和桥梁。
提供多平台互通、高品质、可定制实时视频通话服务,无论手机 QQ / 微信小程序 / 公众号 / QQ 浏览器,还是其它所有接入了 TBS 的 App(20000+) 中,在无需音视频技术基础的情况 下,都可以通过本方案从零开始即刻搭建出音视频通信平台。
腾讯实时音视频(TRTC)服务在快直播领域,提供基于 CDN 2.0,平滑上下麦,单房间支持 10 万人并发<1000ms 低延迟播放解决方案。
麦上低延时、麦下 CDN,腾讯实时音视频(TRTC)服务支持通过旁路直播节省带宽费用,实现
商用的音视频解决方案,出于取证、质检以及审核的要求,可能会有录制需求。腾讯云实时音视 频服务提供全程的云端录制服务,录制下来的视频可以通过 云点播平台 获取。
SDKAppID
应用标志的ID,是腾讯云后台用来区分不同TRTC应用的唯一标志,可以借助辅助开发,实现快速跑通demo同时生成SDKAppID。一个ID可以在云直播、云点播中共同使用,但是不同ID之间的数据是不互通的。
UserID
用户标志,用于在一个TRTC应用中唯一标志的用户。可以用来作为登录音视频的账号,开发者可以直接使用用户名作为UserID,但是其取值范围最好不超过32个字节,需要使用英文字符、数字或下划线,泵全为数字。在音视频开发过程中,通过判断UserID的不同可以给房间添加成员。
RoomID
房间ID是一个音视频的空间,同一房间的用户可以互相接收对方的实时视频数据。在开发中用来作为主播的推流房间,粉丝的拉流房间。需要注意的是,TRTC房间是一个虚拟概念,用于用户之间的相互隔离,不同房间的用户不能接收音视频,且一个用户同时只能进入一个房间。取值范围:1 - 4294967295。
对于类似的狼人杀的音视频功能,第一个加入房间的用户成为房主,但是不能主动解散房间。只有所有用户都主动退出房间后或者房间所有用户都掉线,30秒后服务端会自动解散当前房间。而单个用户掉线,在30秒后就会自行解散。
UserSig
用户签名,是腾讯云设计的一种安全保护签名,用于对一个用户进行登录鉴权认证,确认用户是否真实,阻止恶意攻击盗用者盗用用户云服务的使用权。密钥采用的是HMAC SHA256 加密算法,结合SDKAppID,SECRETKEY和 EXPIRETIME三个关键信息计算得出,只用攻击者不能伪造UserSIg,就无法盗用您的云服务流量。也可以在实时控制台切换老版本的ECDSA-SHA256加密形式。
推送
推送只用户将本地音视频数据上传给TRTC服务端的操作,相当于主播,对应推流过程。
订阅
TRTC支持主播anchor和观众audience两种角色,主播既支持向服务端推送自己的音视频数据,也支持从服务端订阅并播放其他主播角色的影视数据。而观众仅支持从服务端订阅并播放主播角色的音视频数据。
角色
TRTC支持主播anchor和观众audience两种角色,主播既支持向服务端推送自己的音视频数据,也支持从服务端订阅并播放其他主播角色的影视数据。而观众仅支持从服务端订阅并播放主播角色的音视频数据。
但是观众可以通过切换身份的形式同主播进行连麦,或者在通话模式下,所有进房间的用户均为“主播”角色。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。