WebRTC 简史
WebRTC是一个由Google发起的实时通讯解决方案,其中包含音视频采集,编解码,数据传输,音视频展示等功能,我们可以通过技术快速地构建出一个音视频通讯应用。
从历史上看,WebRTC 变化很大很复杂,需要昂贵的音视频技术授权或者花费巨大代价去开发。
2011 年Google花了 6000万美金收购 GIPS 公司(GIPS公司也是一家从事音视频实时互动引擎开发的公司,其在音频编解码,网络传输方面多年的技术积累和非常大技术的优势),并将其技术重新组织,开源成为现在的 WebRTC,WebRTC 项目的指导原则是APIs应该是开源的,免费的,标准化的,浏览器内置的,比现有技术更高效的。
2021年1月26日,W3C(万维网联盟) 和 IETF (互联网工程任务组) 同时宣布 WebRTC(Web Real-Time Communications,Web 实时通信) 发布为正式标准。
WebRTC 涉足领域
在线会议、在线教育、在线面试、在线社交、在线医疗、金融证券在线开户、智能家居等等已经成为了现代人们生活中非常熟悉的一部分,将常见的线下场景转至线上,人们足不出户便能体验上述场景。这些实时互动场景在很大程度上已经改变了我们原本的生活方式。
WebRTC如何工作?
WebRTC的主要重点是提供参与者之间的实时音频和视频通信,参与者使用Web浏览器开始对话,彼此定位并绕过防火墙。
WebRTC利用嵌入在浏览器中的JavaScript API和HTML5。WebRTC应用程序的典型功能如下:
- 发送和接收流音频和视频。
- 检索使用WebRTC API向其他客户端发送和接收数据所需的网络配置数据,例如IP地址,应用程序端口,防火墙和NAT(网络地址转换器)
- 打开/关闭连接并报告错误。
- 传输媒体数据,例如图像分辨率和视频编解码器
为了发送和接收数据流,WebRTC提供了以下可在Web应用程序中使用的API:
- RTCPeerConnection用于音频和视频传输,加密和带宽配置
- RTCDataChannel用于传输通用数据
- MediaStream,用于从数码相机,网络摄像头,麦克风或共享桌面等设备访问多媒体数据流
WebRTC 示例
实现低延迟,对等传输是一项不平凡的挑战:从音视频的采集、渲染、编解码、传输、解决实时通讯的延迟,音视频同步,网络拥塞,各种性能优化,以及其他细节处理。WebRTC处理了以上所有内容,因此WebRTC可以说是Web平台最重要的新增功能之一。实际上WebRTC提供的所有组件都可以协同工作以提供一个简单而统一的API,以便开发者在浏览器中构建音视频应用程序。
WebRTC 未来趋势
随着移动互联网的、AI、5G等等新兴技术的高速发展,结合WebRTC技术,未来将衍生出更多的应用场景,改变人类的衣、食、住、行等生活方式。