最后更新:2022-06-19 01:33:17 手机定位技术交流文章
本文主要介绍了WebRTC的架构和协议堆.
为了便于理解,我们来看一个基本三角 WebRTC架构(见下图):

编辑切换为居中
不超过140字的图片注释(可选)
在这种架构中,手机被称为“浏览器M”,而笔记本电脑被称为“浏览器L”,通过网络服务器连接它们。 为了建立实时媒体通信,这两个设备需要了解彼此的媒体功能,并通过交换呼叫消息实现控制协议。
这些协议不是WebRTC标准规定的,而是由开发者自己开发的。 浏览器RTC对话的步骤如下:
首先,两个浏览器从Web服务器上下载了WebRTC程序(HTML5/JavaScript);
其次,两个浏览器通过网络服务器交换控制信号信息(使用嵌入式信号服务器)来建立媒体功能互操作性。
最后,两个浏览器直接为RTC媒体建立音频、视频和数据通道。
基于P2P的真正实用的WebRTC架构
WebRTC使用P2P媒体流,通过浏览器直接实现音频、视频和数据的连接。但是,浏览器隐藏在NAT和防火墙后面,这增加了建立P2P媒体对话的难度。这些流程和协议,像冰雪或小冰雪一样,STUN和 TURN,建立一个P2P媒体流至关重要。

免费私人电子邮件,包括「安多尔德音频视频开发手册+音频视频学习视频+学习文档包+大工厂面试问题+2022年最新学习路线图」


如何使用STUN协议创建P2P RTC媒体(如图5)简化ICE过程如下:
1.两个浏览器使用STUN协议信息,通过自己的公共IP地址与STUN服务器建立联系;
2.两个浏览器通过SDP提供/响应消息,使用调用控制消息命令交换他们找到的公共IP地址(ICE队列);
3.两个浏览器进行连接检查(ICE穿孔)以确保P2P能够连接;
4.建立联系后,可以实现RTC媒体对话和媒体交流。
5.然而,如果您有高度限制的NAT或防火墙,这个直接路径不会被建立,只到达Turn服务器。 结果是媒体通过Turn服务器分支传输(如图所示)。

WebRTC技术由互联网工程工作队(IETF)根据标准互操作通信模型和协议堆(见图7)详细定义如下:

如前所述的信令栈,它不是由WebRTC实现的,它是由开发者决定的。在这个例子中,我们将使用SIP-over-WebSocket(SIPoWS)作为消息堆栈。HTTP协议用于从浏览器下载HTML5/JavaScript程序内容;NAT堆栈解决P2P连接问题;和媒体堆栈用于发送和接收RTC音频和视频。
LETF标准设置G.711和Opus作为音频/视频解码器。视频解码器还没有授权,但H.248和VP8已获授权。媒体堆栈也被用来交换RTC数据。本例中,实时信息使用消息传递协议(MSRP),实时会议使用双层控制协议(BFCP),实时 文本服务使用T.140.
本文由 在线网速测试 整理编辑,转载请注明出处。