webrtc之旅--开篇

前言

WebRTC 至2011年开源到现在已经过10多年的发展,目前在很多场景都有应用,如会议,娱乐,教育等。从事音视频通讯相关的开发人员几乎所有人都听说过WebRTC,WebRTC之所以如此流行,我的理解是除了现在音视频行业的火热外,WebRTC包含了太多关于音视频相关的知识,从音视频采集,到音视频编解码,再到音视频传输,WebRTC像是一个百宝箱,几乎涵盖了所有有关音视频通讯相关的技术。另外,WebRTC跨平台的特性也带动了各个平台开发人员的参与。

WebRTC

WebRTC (Web Real-Time Communications) 是一项实时通讯技术,它允许网络应用或者站点,在不借助中间媒介的情况下,建立浏览器之间点对点(Peer-to-Peer)的连接,实现视频流和(或)音频流或者其他任意数据的传输。WebRTC 包含的这些标准使用户在无需安装任何插件或者第三方的软件的情况下,创建点对点(Peer-to-Peer)的数据分享和电话会议成为可能。 — 百度百科

WebRTC是 Web 实时通讯 (Web Real-Time Communications) 缩写,是一个支持在网页浏览器进行音视频实时通讯技术。2010年Google收购了GIPS公司获得该技术,并于2011年6月开源,主要由Google,Mozilla,Opera维护,后被纳入W3C(万维网联盟)标准。
WebRTC提供了音视频通话的核心技术,包括音视频采集,编解码、网络传输、显示等功能,并且支持跨平台,支持Windows、Linux、Mac、Android、iOS等平台。

音视频领域发展

WebRTC技术的开源很大的促进了音视频实时通讯行业的发展,在直播领域,WebRTC极大的减少了端到端的延迟,短延时直播应运而生,极大的提高了直播观看,连麦场景的用户体验。在视频会议、娱乐、教育、智能硬件、云游戏等行业,WebRTC也有极大的发挥空间。但是WebRTC是一个庞大的视频通讯引擎,需要网络,音视频,编解码等开发人员,要成立一个音视频团队需要投入很大的开发成本,基于这个原因,大多数没有自主研发能力的公司均会选择运营厂商提供的SDK服务,国内外许多云供应商,如阿里、腾讯、网易、字节等大厂都在对外提供音视频SDK服务,国内最早做WebRTC供应商声网也在前两年完成了上市。
最近云游戏、原宇宙、包括智能驾驶都开始使用WebRTC技术,我自己对WebRTC未来的发展也是持积极态度,WebRTC 将会运用到各个行业及场景来满足人们对实时交互体验的需求。

后续

至2017年接触WebRTC到现在已有5年有余,之前在工作中忙于各种业务开发,性能优化,bug排查定位,没有抽出时间对已了解的知识做一个整理及回顾,最近计划抽出一些时间整理一些文档,对现有知识做一次梳理与分享。
后面计划从WebRTC中涉及的概念开始,到WebRTC本地程序搭建,源码剖析各个方面对WebRTC做一次深度学习