webrtc
WebRTC实现了基于网页的语音对话或视频通话,目的是无插件实现web端的实时通信的能力。
WebRTC提供了视频会议的核心技术,包括音视频的采集、编解码、网络传输、展示等功能,并且还支持跨平台,包括linux、windows、mac、android等。
- WebRTC三角形
如何使用webrtc
建立WebRTC连接需要如下几个步骤:
- 获取本地媒体(getUserMedia(),MediaStream API)
- 在浏览器和对等端(其它浏览器或终端)之间建立对等连接(RTCPeerConnection API)
- 将媒体和数据通道关联至该连接
- 交换会话描述(RTCSessionDescription)
信令
在WebRTC中,信令起着举足轻重的作用。但实现没有标准化,比如http、websocket、xmpp等。
1、信令的作用
- 协商媒体功能和设置
- 标识和验证会话参与者的身份(交换SDP对象中的信息:媒体类型、编解码器、带宽等元数据)
- 控制媒体会话、指示进度、更改会话、终止会话
- 双占用分解
简单地说,信令就是协调通讯的过程,一旦信令服务建立好了,两个客户端之间建立了连接,理论上它们就可以进行点对点通讯了。
2、信令的传输
WebRTC要求在两个对等端建立双向的信令通道,通常有三种方式来传输WebRTC信令:http、websocket、数据通道
http方式如下:
websocket代理信令传输:
https://zhuanlan.zhihu.com/p/490239698