WebRTC--- `Web browsers with Real-Time Communications (RTC)`html
WebRTC是一个开源项目,能够在`Web`和本机应用程序中实现音频,视频和数据的实时通讯。html5
在Firefox,Opera和Chrome桌面和Android上。WebRTC也可用于iOS和Android上的本机应用程序。web
有了WebRTC ,不须要任何插件或第三方软件来处理典型问题,例如数据丢失、链接中断和NAT遍历。api
webRTC 适用领域浏览器
webRTC采用的协议
实时数据通讯意味着两个用户设备之间的快速链接。公共链接采用视频或音频序列帧的形式,将其一每秒30至60次的速率传输给另外一个用户设备,以得到良好的质量。所以,必须了解,快速发送最新的数据帧比确保每一个单个帧都到达更重要。网络
这就是为何WebRTC应用程序可能会错过某些帧,以便保持良好的链接速度。架构
这也就是WebRTC应用程序使用UDP(用户数据报协议)做为传输层协议的缘由。框架
可是为何创建UDP是不可靠的传输层,由于没法肯定如下状态:frontend
音频和视频WebRTC链接不是最可靠的,而是在两个用户设备之间传输最快的。在能够承受的范围内保证数据的快速传输,这意味着UDP是音频和视频流应用程序的最佳选择。tcp
这张图来源于webRTC入门,应该每一个人最开始接触webRTC时都会知道架构图,它描述了RTCPeerConnection的做用。
图中能够看出一共三个不一样的层:
传输组件容许在不一样类型的网络中创建链接,而语音视频引擎是负责将音频视频流从声卡和摄像机传输到网络的框架。对于web开发人员来讲,最重要的部分是WebRTC API。
下一篇将讲解webRTC API。