电子说
2020年初爆发的疫情,催生了在线教育、视频会议、远程医疗等实时音视频应用的大规模增长,也使得服务于这些场景背后的底层框架RTC技术站上了“风口”。早在 2010 年,Google 以大约 6820 万美元收购了VoIP 软件开发商Global IP Solutions 公司,通过整合Global IP Solutions音频技术,并加入了视频功能,创立了WebRTC 项目。如今RTC已经是移动互联网应用例如直播、游戏行业的基石。随着5G通信的发展,实时音视频服务将进一步覆盖更多的生活场景。这里,我也就以我的了解,给大家介绍下RTC,方便大家一起学习交流。
什么是RTC
RTC(Real-time Communications)实时通讯,我们很容易把RTC和WebRTC(Web Real Time Communication)混淆。RTC是对实时通信的更加宽泛的统称,包含H323 SIP 私有协议等等通信标准,涵盖从端,服务器,支撑系统等一整套的通信标准,通信的形式包括实时语音,实时视频,实时文本等,而WebRTC 是由google 推出的,致力于让通过在浏览器或者各种浏览器内核中,通过JS 来实现实时通信的的基本功能,WebRTC 仅仅定义了端上的一些标准,没有定义呼叫流程,数据转发等其它规范,但是因为其简单易用,得到大规模推广应用。
WebRTC的优点
如今几乎所有的主流浏览器均已支持了WebRTC(访问https://caniuse.com/?search=WebRTC 查看WebRTC支持情况),今年年初WebRTC也被W3C和IEFT列入正式标准。不同于传统直播,WebRTC对于用户来说,无需安装任何插件和客户端,并且还支持跨平台:Windows、Linux、Max OS、Android,iOS等均可以直接使用WebRTC的解决方案来实现实时通讯。另外RTC的延迟是毫秒级,在正常的网络情况下,延迟在300ms~800ms之间,可以多方通话、实时互动。另外RTC解决方案还具备抗弱网等功能,在一些网络情况不是很理想的场景中,依然能够满足使用。
RTC与传统直播的差异
在传统直播中,一般基于RTMP标准协议,通过CDN(CDN的业务逻辑这里就不多做介绍)进行内容分发,由于缓存机制,为了用户有个较好的观看体验,往往会有个几秒甚至十几秒的延迟,主播和观众的互动也只能通过文字、送礼物等来进行弱互动。这也就是我们在观看直播带货时,用户通过文字咨询一个商品,过了很久(十几秒甚至更长时间)才收到主播的答复。通过RTC解决方案,我们可以将延迟降低到300-800ms区间,当用户通过文字咨询商品信息时,可以很快得到主播的答复,这是有利于提高直播带货的转化率。
这还仅仅是一个直播当中的弱交互场景,RTC的应用场景还有很多,在以后的内容中,我们也会针对性的去讲一些场景,并进行一些分析。
这篇文章主要是围绕告诉大家什么是RTC,RTC能解决什么问题的普及贴。接下来,还会继续围绕RTC功能模块、我们在研发当中踩到的坑以及实际的项目实战等方面来做一些技术交流与分享。
全部0条评论
快来发表一下你的评论吧 !