web服务器配置(web服务器配置实验总结)

1. 引言

近年来,直播竞答、网络游戏直播等新的实时音视频通讯场景不断推陈出新,并成为引领互联网娱乐风向的弄潮儿。实时音视频应用的爆发,也使得WebRTC(Web Real-Time Communication,网页实时通信技术,)技术成为了人们关注的焦点。如何打造自己的WebRTC 服务器呢?下面我先来介绍一下WebRTC 服务器的一些基本内容:

开源的WebRTC 服务器介绍WebRTC服务端整体分析通信优化WebRTC的未来展望

首先,我们会先来了解下一些开源的服务器是怎么做的,我们做事情,在没有头绪的基础上,参考和模仿可能是一种必然流程,毕竟站在巨人的肩膀上,我们的视野才更加开阔。

其次,通过形形色色的开源服务器介绍和理解,我们初步的去分析一个WebRTC 服务器究竟包含哪些模块,又是一个什么样的组织架构和层次关系。后面在服务器搭建后面临的丢包和多人通话问题又有什么解决方式。最后就是展望一下整个WebRTC未来发展。

2. 开源的WebRTC 服务器介绍

我们进入第一部分:WebRTC开源服务器介绍,这个模块我选择了我认为很有代表意义的3种类型的WebRTC 开源服务器

大而全的Kurento务实主义的Licode小而美的Mediasoup大而全的Kurento

之所以称Kurento为大而全,是因为Kurento 强大的滤镜和计算机视觉,我们看这张图:

web服务器配置(web服务器配置实验总结)

基本模块

图中我列出了基本的组件:

RTP/Rtcp媒体打包协议Dtls加密协议ICEP2P 传输协议SDP系统控制协议,控制整个系统的运行行为

Rtp/Rtcp Dtls ICE是基本组件相对实现比较容易,这个我们不做过多介绍,我们着重介绍下SDP 这个协议

SDP 演进

SDP 伴随着WebRTC 的发展,经历了很多变化,我把这个过程归纳为两个阶段:

PlanA单流时代PlanB/UnifiedPlan多流时代PlanA

每个stream 对应一个peer 多个stream 对应多个peer,整体运行图如下:

web服务器配置(web服务器配置实验总结)

PlanB SDP

PlanB 和 PlanA 相比,基本组织形式是相同的。我们看标红的地方,PlanB 组织多流的方式是通过msid来完成,每个msid 对应一条媒体流. 每个msid下面是自己的传输信息,所以在PlanB 方案下,我们可以通过msid来标记用户。

我们再来看看UnifiedPlan,下面是一个UnifiedPlan 部分SDP:

web服务器配置(web服务器配置实验总结)
传输层

先看图:

web服务器配置(web服务器配置实验总结)

客户端同时发送多种码率到服务端,然后服务端进行选择性转发,这种方案,发送端上传压力大,而且编码压力也大,但是,这是唯一一种WebRTC 支持的针对多人通话的技术。

下面我们看看如何开启这种技术:

Chrome 端 包括js 和 native 源码端:

Chrome并没有提供直接的接口用于开启多流方案,我们在Chrome 系列中只能通过修改的本段的SDP 来开启多流方案,如图:

通过修改SDP 加入SIM 标志开启多流,开启几条,就多加入几条ssrc 信息

Firefox 端:

Firefox 提供了直接的接口用于开启多流方案,如下图:

web服务器配置(web服务器配置实验总结)

Firefox直接通过RtpSender 的 SetParameters 接口开启多流,简单方便,这也是Firefox 相比较Chrome更好的地方,更加遵从WebRTC标准。

另外在Rtp的传输上Chrome和Firefox 是不同的:

>>>Chrome:

通过ssrc 对应多流方案,每个ssrc对应一种多流

a=ssrc-group:SIM2098403539(low) 2098403540(medium) 2098403541(high)

>>>Firefox:

通过urn:ietf:params:rtp-hdrext:sdes:rtp-stream-idRtp协议头的扩展来完成多流和ssrc 的对应关系,进而完成传输。

不同运营商
web服务器配置(web服务器配置实验总结)

中国运营商主要有电信 移动和联通,另外包括很多小运营上和结构运营商,运营商很多,而且由于运营商之间的网络宽口问题,跨网通信延迟大,网络不稳定,针对这种情况,我们基于DNS重定向,分配给用户运行商相同的服务器,这里说一句,运营商分类的判断,需要很久的运维经验和数据作为支撑,这也是我们的PP云的优势所在,我们PP云有十几年的运营数据作为支撑,这些数据不仅帮我们构建更加快速的服务器网络,而且还可以帮我们为用户定位到最优的服务器,进而解决最后一英里的网络传输问题。

5 WebRTC 未来展望为AI 赋能

AI 的发展,赋予了WebRTC更多的应用空间,比如基于人脸和语音识别的网站和APP 登录系统,前端通过WebRTC 进行视频数据的采集和传输,后台通过AI智能分析比对结果,进而完成登录,简单,方便。

安防领域

我们知道安防领域比较多的协议包括ONVIF,GB28181 RTSP,这几个协议在网页端无法直接观看,智能借助于插件,插件面临兼容和安全问题,体验很差,有的摄像头支持RTMP观看,但是很遗憾,2020年flash 将退出历史舞台,HLS延时大,而无插件,极速都是WebRTC 的优势所在,我相信不救的将来WebRTC 在安防领域会占据一席之地。

6. 结语:

WebRTC1.0 已经定稿,这为WebRTC的未来发展提供了方向,并且WebRTC 无论是应用还是社区都处于高速发展状态,并且Google也在不断地提供和完善WebRTC 的相关功能,我相信WebRTC 的未来无可限量。

本站部分内容由互联网用户自发贡献,该文观点仅代表作者本人,本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

如发现本站有涉嫌抄袭侵权/违法违规等内容,请联系我们举报!一经查实,本站将立刻删除。