WebRTC概念
Web Real-Time Communication,web实时通信技术。简单说就是在web浏览器里边引入实时通信,包括音视频通话等。
WebRTC提供了视频会议的核心技术,包括音视频采集、编解码、网络传输、显示等功能,支持跨平台:Windows,Linux,Mac,Android,尤其是在实时通信方面的很多技术可以灵活嫁接到非RTC类流媒体系统中,例如,在低带宽下的视频抖动控制,图像效果增强,通用NAT穿透过程等等。
WebRTC结构
从WEB-RTC方面分析WEBRTC在浏览器上的接口结构,在浏览器端主要实现了三个接口:
1,MediaStream,实现对本地音视频资源的封装,表示一个媒体流数据,一个MediaStreamTrack表示MediaStream中的一个媒体源,如音频、视频、字幕等;
接口名称为getUserMedia,该接口为上层提供同步的音视频流
2,RTCPeerConnection,语音或者视频通话过程,包含呼叫。应答、穿透、加密、传输及会话管理等一系列流程,一个RTCPeerConnection代表对话过程中的一端;
主要是用来处理点到点之间的连接和数据传输,使整个过程能够稳定且高效。在RTCPeerConnection下,封装了大量的编解码、通信协议的工作来实现整个实时通信过程,甚至是在不能提 供稳定带宽情况下的实时通信,主要功能点包括:
- 丢包补偿(packet loss concealment)
- 回音消除(echo cancellation)
- 自适应带宽(bandwidth adaptivity)
- 视频抖动缓冲器(dynamic jitter buffering)
- 自动增益控制(automatic gain control)
- 噪声降低和抑制(noise reduction and suppression)
- 图像清理(image 'cleaning')(!暂且这么翻译吧)
3,RTCDataChannel,在RTCPeerConnection之上,传输自定义数据。
WebRTC架构
WebRTC架构图(网上摘取)
(1)Web开发者API层;
(2)蓝色实线部分是面向浏览器厂商的API层
(3)蓝色虚线部分浏览器厂商可以自定义实现
这里有一个讲的很详细的博客,分享下:https://blog.csdn.net/fishmai/article/details/69681595
本文地址:http://www.45fan.com/a/luyou/99759.html