基于WebRTC研发的产品(EasyRTC)现状与未来发展趋势

Posted TSINGSEE

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于WebRTC研发的产品(EasyRTC)现状与未来发展趋势相关的知识,希望对你有一定的参考价值。

随着2017年微软与苹果表态在其浏览器或系统产品对WebRTC技术的支持,WebRTC越来越多地出现在广大互联网开发人员的视野中。但是很多开发者对WebRTC的现状、实现其实并不是很明白,为此我们将基于WebRTC的应用前景和产品开发做一个简单的梳理。

说到WebRTC,作为谷歌2011年发布的一个开源项目,它提供了基于API的web浏览器和移动应用程序之间的移动信息通信,包括了音频、视频、文件数据等的传输,并消除了对本地插件和其他安装程序的需求,使得用户下载及使用变得友好。自2011年到现在为止,这十余年间WebRTC在音视频行业被广泛应用,但是由于各行业及厂家的发展方向不同,所以虽然大都是基于WebRTC开发,但是他们都各有特色,都加入了受专利保护的回声消除、抗丢包和低延时等技术。

WebRTC.png

自2020年浏览器的发展和兼容性发生了变化,WebRTC的延时性、安全性得到了提升和保护,尤其是疫情爆发后,实时视频的需求比之前增长了30倍,这更刺激了WebRTC产品的持续快速发展。

而且基于WebRTC的研发产品不受限于传统的互联网应用或浏览器的终端运行环境。实际上WebRTC无论终端运行环境是PC、androidios还是设备,只要达到WebRTC的规范都可以互通。所以基于WebRTC研发的产品在延展性、应用场景和使用终端上,基本都能兼容,这就使得在线教育、视频会议、远程医疗、在线直播等应用场景得到了极大发展。

image.png

TSINGSEE青犀视频基于WebRTC技术目前也已经研发出EasyRTC-SFU、EasyRTC-MCU音视频实时通话系统。SFU的模式是呼叫中所有的参与者都与服务器侧的媒体服务器建立媒体连接,将媒体流发送到媒体服务器,媒体服务器将媒体流(根据需要)选择性转发给需要接收该媒体流的所有参与者。

EasyRTC会议回看录像列表播放.png

SFU模式的优点是终端编码运算和上行网络带宽消耗大大减少,并且媒体服务器可以根据要求将媒体流(需支持SVC)的不同分层选择性地发送给接收者,适当减少接收者侧下行网络带宽的消耗,并提供一定的“可定制性”用户体验。缺点(或“代价”)是媒体服务器需要受理所有媒体连接请求,接收所有参与者发布的流并转发给所有订阅者,产生服务器侧运营压力。

77.png

MCU的模式是呼叫中所有的参与者都与服务器侧的媒体服务器建立媒体连接,并将媒体流发送到媒体服务器,媒体服务器将所有收到的媒体流进行混流混音后,发送给所有需要接收的参与者。MCU模式相对SFU模式的优点,是终端解码运算和下行网络带宽消耗进一步减少,并且天然具有转码能力,可以放宽终端采用音视频编解码格式的限制,使终端可以选择对自身最友好的编解码格式,大大提高终端生存能力。并且由于将所有终端的媒体混合在一起,可以实现服务器侧所见即所得的录制和向外部流媒体服务器推流。

MCU的缺点(或“代价”)是媒体服务器需要实时将所有接收的媒体流解码混合再编码,会带来更大的计算力开销。

image.png

现在基于WebRTC研发的产品最大优势是标准化,它提供了所有需要进行实时通信的终端统一的、开放的实时通信能力描述和连接建立标准。不足的地方则是由于各厂家浏览器兼容性不一,需要集成的APP中的SDK不同,这就致使目前的音视频产品的互通性会存在一些问题。

所以在未来,作为终端技术规范,虽然WebRTC只是实时通信解决方案中的一部分,但却是最贴近用户的一部分,也许是最重要的一部分。终端技术规范的标准化,是一个很好的开始。就连一向以封闭的技术生态而闻名的Apple都开始拥抱WebRTC了,这也将促进WebRTC技术的发展和普及,会有越来越多的互联网应用基于WebRTC构建实时通信服务。

image.png

像类似VR、AR、自动驾驶等新应用场景的出现,也会给WebRTC技术带来新的需求和动力,应用场景的商业化成功也将为技术发展持续注入活力和物质资源。譬如近年来直播连麦、网上课堂、远程控制(抓娃娃机)等基于互联网的视频应用的猛烈发展和火热,一次次催动着基于互联网的实时音视频通信技术的发展,呼唤着WebRTC这样的统一、开放、透明的标准规范成熟和落地。

以上是关于基于WebRTC研发的产品(EasyRTC)现状与未来发展趋势的主要内容,如果未能解决你的问题,请参考以下文章

EasyRTC的Web开发过程中如何创建新的空分支?

EasyRTC实现基于WebRTC技术实现的即时通信类应用

全新EasyRTC平台功能开发:如何基于websocket实现视频客服通信

EasyRTC的Web开发过程中如何创建新的空分支?

WebRTC开源技术平台新版EasyRTC如何获取推流信息列表?

新版EasyRTC会议录像播放下载功能的实现逻辑