前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >TRTC Android端开发接入学习之什么是TRTC(二)

TRTC Android端开发接入学习之什么是TRTC(二)

原创
作者头像
腾讯云-hongyang
修改2020-09-10 13:10:23
2.4K0
修改2020-09-10 13:10:23
举报
文章被收录于专栏:音视频学习

什么叫TRTC

TRTC 即 Tencent RTC,中文名是腾讯实时音视频,源自 QQ 音视频团队,是基于 QQ 十几年来 的音视频技术积累,在腾讯云上部署售卖的 RTC 云服务,致力于帮助企业快速搭建低成本、高品质、 跨平台的实时音视频互动能力的完整解决方案。 功能上支持语音通话、视频通话、连麦互动、美颜滤镜、旁路推流、视频录制、混流转码、交互式 白板、桌面分享、截图、鉴黄等,并提供微信小程序、 WebRTC、APP、PC、MAC 等全平台互联互 通能力,很好地应用于云游戏、云会议、快直播、实时音视频 PaaS 服务等领域。

什么叫实时

技术定义上,一般我们对端到端的通信,按延时情况分为以下三种:

  • <1000ms,称为实时,常见的应用有语音通话、视频通话、视频会议等。
  • 1000-3000ms,称为准实时,常见的应用有即时通讯、电子邮件等。
  • >3000ms,称为伪实时,常见的应用有短信、传真、直播等。

TRTC可用于什么场景

TRTC的核心是端到端1000ms以内的音视频技术,适用于实时性要求高的业务,例如腾讯云搭建于TRTC之上的业务

  • 云游戏

云端游戏渲染,利用 TRTC 传输,打开浏览器即可实时在线玩游戏。

  • 云会议

利用 TRTC 实现云端会议系统,跨省、跨国随时异地开会办公。

  • 快直播

CDN 2.0,高并发、低延时、标准化的下一代内容分发网络 。

  • 实时音视频PaaS服务

RTC 云服务 PaaS 解决方案,覆盖两大核心场景:多人实时互动、十万人低延时直播。

具体应用场景

10人以内互动:1V1、1V4、1VN ()N<10

  • 教育:一对一专人教育,1V2 1V4小班课
  • 泛互:1V1、多人通话,语聊,狼人杀,相亲,约会,桌游等
  • 金融/政企/企业:客服会议

10-100 人互动

  • 教育:大班课、超级小班课
  • 泛互:连麦、直播小房间、聊天室、小公会
  • 企业:业务大会、跨区异地会议

100 人以上互动

  • 教育:大型公开课、大班课
  • 泛互:直播大房间、大公会、万人大房间

TRTC产品特质

TRTC流程图
TRTC流程图

以小程序和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+) 中,在无需音视频技术基础的情况 下,都可以通过本方案从零开始即刻搭建出音视频通信平台。

  • 支持终端用户在微信公众号、微信小程序、手机 QQ、QQ 浏览器、Chrome、Safari、App 等 快速发起/接受/断开音视频通话
  • 可通过< webrtc-room>自定义组件快速实现小程序与 WebRTC 互通
  • 支持窄带、宽带语音链接,保证高质量音频通信。
  • 支持 1080P 超高清视频,云端流控策略优化,保证高质量视频通信。

十万人低延时直播

腾讯实时音视频(TRTC)服务在快直播领域,提供基于 CDN 2.0,平滑上下麦,单房间支持 10 万人并发<1000ms 低延迟播放解决方案。

TRTC直播流程
TRTC直播流程

CDN旁路直播

麦上低延时、麦下 CDN,腾讯实时音视频(TRTC)服务支持通过旁路直播节省带宽费用,实现

TRTC  CDN旁路直播(整个TRTC端作为CDN数据源)
TRTC CDN旁路直播(整个TRTC端作为CDN数据源)

云端视频录制

商用的音视频解决方案,出于取证、质检以及审核的要求,可能会有录制需求。腾讯云实时音视 频服务提供全程的云端录制服务,录制下来的视频可以通过 云点播平台 获取。

基本概念

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 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么叫TRTC
  • 什么叫实时
  • TRTC可用于什么场景
  • TRTC产品特质
    • 基础音视频通话
      • 十万人低延时直播
        • CDN旁路直播
          • 云端视频录制
          • 基本概念
          相关产品与服务
          云直播
          云直播(Cloud Streaming Services,CSS)为您提供极速、稳定、专业的云端直播处理服务,根据业务的不同直播场景需求,云直播提供了标准直播、快直播、云导播台三种服务,分别针对大规模实时观看、超低延时直播、便捷云端导播的场景,配合腾讯云视立方·直播 SDK,为您提供一站式的音视频直播解决方案。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档