WebRTC 学习笔记

/ 技术文章 / 0 条评论 / 460浏览

WebRTC 学习笔记

全称是: Web browser Real Time Communication。

最初是谷歌2010年以6820万美元收购Global IP Solutions(GIPS)公司而获得的一项技术,它使得Web中的实时通讯成为可能,是一项能够在浏览器内部进行实时音频和视频通信的技术。

当浏览器实现对应音视频组件后,开发者可以容易地通过JS API 实现他们自己的RTC web 应用。

现在已经被推为W3C的标准,名称为WebRTC,是现阶段Html5无插件多媒体通信的唯一手段。

相关网站

github: https://github.com/webrtc Demo: https://appr.tc/

WebRTC相关API介绍

功能划分

  1. 获取音频和视频数据
  2. 传输音频和视频数据
  3. 传输任意二进制数据

API划分:三个JS接口

  1. MediaStream (又叫getUserMedia)
  2. RTCPeerConnection (C++)
  3. RTCDataChannel

好用的库

https://simplewebrtc.com/ https://simplewebrtc.com/notsosimple.html

拓扑结构

虽然WebRTC号称支持点对点通信,当然做的也很好,但是在真实的生产环境中,鉴于多媒体交流的复杂度,仍旧需要一些服务器帮助视频通话能够应付复杂的网络环境、多浏览器间的兼容问题,以及视频编解码问题

  1. Signaling
  1. STUN Server: 查找浏览器的网络信息,处理NAT,防火墙等问题
  2. TURN Server: 处理视频编解码问题

参考: https://www.html5rocks.com/en/tutorials/webrtc/basics/ https://www.html5rocks.com/en/tutorials/webrtc/infrastructure/#after-signaling-using-ice-to-cope-with-nats-and-firewalls https://github.com/webrtc/samples