webRTC脱坑笔记(一)— 初识webRTC

webRTC概述

WebRTC--- `Web browsers with Real-Time Communications (RTC)`html

WebRTC是一个开源项目,能够在`Web`和本机应用程序中实现音频,视频和数据的实时通讯。html5

在Firefox,Opera和Chrome桌面和Android上。WebRTC也可用于iOS和Android上的本机应用程序。web

有了WebRTC ,不须要任何插件或第三方软件来处理典型问题,例如数据丢失、链接中断和NAT遍历。api

webRTC 适用领域浏览器

  • 实时营销
  • 实时广告
  • 后台通讯( CRM、ERP、SCM、FFM )
  • HR管理
  • 社交网络
  • 约会服务
  • 在线医疗咨询
  • 金融服务监控
  • 多人游戏
  • 实时广播
  • 在线教育

webRTC采用的协议
实时数据通讯意味着两个用户设备之间的快速链接。公共链接采用视频或音频序列帧的形式,将其一每秒30至60次的速率传输给另外一个用户设备,以得到良好的质量。所以,必须了解,快速发送最新的数据帧比确保每一个单个帧都到达更重要网络

这就是为何WebRTC应用程序可能会错过某些帧,以便保持良好的链接速度。架构

这也就是WebRTC应用程序使用UDP(用户数据报协议)做为传输层协议的缘由。框架

可是为何创建UDP是不可靠的传输层,由于没法肯定如下状态:frontend

  • 数据的顺序
  • 数据的交付状态
  • 每个数据包的状态

音频和视频WebRTC链接不是最可靠的,而是在两个用户设备之间传输最快的。在能够承受的范围内保证数据的快速传输,这意味着UDP是音频和视频流应用程序的最佳选择。tcp

webRTC体系架构

这张图来源于webRTC入门,应该每一个人最开始接触webRTC时都会知道架构图,它描述了RTCPeerConnection的做用。

图中能够看出一共三个不一样的层:

  • web开发人员的API:包括RTCPeerConnection、RTCDataChannel和 MediaStrean对象
  • 浏览器厂商的API
  • 供浏览器厂商以hook方式复写的API

传输组件容许在不一样类型的网络中创建链接,而语音视频引擎是负责将音频视频流从声卡和摄像机传输到网络的框架。对于web开发人员来讲,最重要的部分是WebRTC API。

下一篇将讲解webRTC API。

参考资料:
webRTC教程
Getting Started with WebRTC

相关文章
相关标签/搜索