什么是腾讯云实时音视频?TRTC是怎么实现的?

腾讯实时音视频(Tencent Real-Time Communication,TRTC)拥有QQ十几年来在音…

【腾讯云】1核2G云服务器,首年99元

腾讯实时音视频(Tencent Real-Time Communication,TRTC)拥有QQ十几年来在音视频技术上的积累,致力于帮助企业快速搭建低成本、高品质音视频通讯能力的完整解决方案。

腾讯实时音视频,将腾讯21年来在网络与音视频技术上的深度积累,以多人音视频通话和低延时互动直播两大场景化方案,通过腾讯云服务向开发者开放,致力于帮助开发者快速搭建低成本、低延时、高品质的音视频解决方案

<<腾讯云9.9元畅享实时音视频2万分钟

<<腾讯云一站式实时音视频方案,满足不同场景需求

1、什么是腾讯云实时音视频TRTC

我们先从TRTC这个名字的含义来分析:腾讯实时音视频(Tencent Real-Time Communication,TRTC),这是官方对TRTC的定义。

首先,我们从名字来解析什么是TRTC:

T —— Tencent 腾讯

R-T —— Real-Time 实时的

C —— Communication 传播 / 交流 / 通信

显而易见,这就是一款做实时音视频通信的产品,其次,我们知道,产品都会各有各的专长,就像IM专注于做实时通讯一样,TRTC做的,就是为实时音视频直播提供技术和服务。这其中,除了多人音视频通话和会议等,当然也包括了屏幕实时分享、音视频实时直播等。

这时候会发现我们忽略了第一个T,也就是Tencent 腾讯,说到腾讯,我们的第一反应就是,QQ、微信,这两款产品,可以说都是以即时通信为基准,所以说,即时通信这一块,可以说腾讯有着很强的资历,QQ和微信的音视频通话不就是用的TRTC么,多人视频多人语音什么的我们用了多久了。

接下来,从技术的角度去分析,什么是TRTC

刚刚我们已经了解到TRTC的定义是实时音视频通信,那么它是如何实现的呢?

就是腾讯提供了一个RTC云服务,你可以仅仅通过SDK和应用之间的交互,就能实现音视频实时通讯。

首先我们了解一下各平台和TRTC服务之间的交互: 

TRTC产品架构交互图

以小程序和web也就是浏览器之间的的视频通讯为例:

很显然,有着一个小难点,跨平台了。这时候,我们可以用到TRTC在微信小程序端的SDK和web端的SDK,先去和TRTC云服务进行通讯,由TRTC云服务去对双方的音视频数据进行处理和传输。

SDK是什么? SDK是软件开发工具包,由开发人员使用其工具包提供的接口,去对接TRTC的云服务。同时,各平台的SDK由于使用协议和规则不同,使用方面在风格统一的模式下,又略有差异。

云服务是什么? 这个的涉及面比较广,粗略的说一下吧,一则是云服务器,以TRTC为例,通过TRTC的SDK,可以访问到TRTC的专有服务器。二则,是云计算,同样以TRTC为例,音视频压缩算法,协议转换交互,状态控制推送等。简单来讲就是,你通过SDK访问我服务器,我通过你的设置和链接,进通讯处理和传输。

由此可知,TRTC本质上就是一个音视频通讯的云服务,TRTC的SDK则是你使用它的工具和桥梁。

2、TRTC是如何实现的

作为一名程序员,那当然要先了解TRTC如何实现的

以web App之间的视频通讯为例,上面了解到可以通过SDK去联系TRTC云服务,那么,具体是如何进行联系的呢?

首先,我们来看一下这张图: 

SDK调用流程时序/流程图

那么很显然,从生命周期的角度上来讲,我们从加入房间,到退出房间可以为本地音视频通话的一个生命周期,接下来,按照生命周期步骤,一步步来说。

加入房间,很显然,这是一切的开始,音视频即时通讯,都会有一个房间,通过这个房间,TRTC云服务才能知道,接收到的某个人的音视频信息要发给哪些人。一个小的团体,或者是两个人,或者是多个人,互相之间进行沟通,这就是房间的概念。

发布文件流,加入房间之后,我们需要给房间内的其他人发送本地音视频数据流给到云服务,然后再由云服务经过处理后转发到房间内的其他用户。

订阅远程流,这时候,其他的用户需要有一个订阅的处理,利用SDK接收云服务器端,别的用户发送过来经过处理的音视频,然后展现和播放。(官方建议在进入房间之前订阅,避免时间差导致没有接收到关键进房信息)

在通讯过程中,可以取消发布本地数据流,可用于取消后重新发布别的本地数据流,达到切换效果,但是不会影响订阅流。

退出房间,生命周期结束,SDK会自动取消订阅远程流和取消发布本地流(但是官方建议先取消发布本地流【unpublish】)。

至此,每个客户端都走一遍这样的流程,一个完整的音视频通话的过程到这儿就全部结束了。

我们总结一下:

1、TRTC是用来实现实时音视频通信的云服务。

2、通过官方SDK调用TRTC云服务实现音视频通讯。

3、以房间为概念推送和接收音视频数据流。

本文固定链接:http://www.yuntue.com/post/4858.html | 云服务器 ,转载请注明出处!

关于作者: yuntue

云服务器(www.yuntue.com)是一家专门做阿里云服务器代金券、腾讯云服务器优惠券的网站,这里你可以找到阿里云服务器腾讯云服务器、滴滴云、百度云、七牛云、小鸟云、华为云、京东云等云服务器价格信息,我们会为你提供性价比最高的云服务器和域名、数据库、CDN、免费邮箱等企业常用互联网资源。

为您推荐

发表评论

电子邮件地址不会被公开。 必填项已用*标注