WebRTC概念

定义

一个实时通信标准

通话原理

媒体协商

在WebRTC中,参与视频通讯的双方必须先交换SDP信息,获得一个都支持的编码格式

网络协商

目的:找到一条相互通讯的链路
做法:获取外网IP地址映射,通过信令服务器交换“网络信息”

STUN

NAT会话穿越应用程序,一种网络协议。允许位于NAT后的 客户端 找出自己的公网ip,查出自己位于哪种类型的NAT之后,以及NAT为某一个 本地端口 所绑定的Internet段端口。这些信息被用来在两个同时处于NAT路由器之后的主机之间创建UDP通信。

TURN

STUN的一个拓展,主要添加了Relay功能。因为只有STUN的情况下有一定的失败率,所以需要公网服务器作为中继,对来往数据进行转发。这个转发的协议就是TURN。
STUN和TURN可以使用coturn开源项目搭建。
在WebRTC中用来描述网络信息的术语叫candidate

信令服务器

实现非唯一,可以用ws等等。一般搭建在公网,实现SDP媒体信息及Candidate网络信息交换等

API

MediaStream:媒体数据流,通过getUserMedia接口获取
WebRTC概念_第1张图片
PTCPeerConnection:此对象允许用户在两个浏览器之间直接通讯
WebRTC概念_第2张图片

过程

WebRTC概念_第3张图片
WebRTC概念_第4张图片
image.png

你可能感兴趣的:(webrtc)