WebRTC音视频开发之——概述-WebRTC是什么(1)

一 概述

  • WebRTC是什么?
  • WebRTC发展历史
  • WebRTC作为实时通信的优点
  • WebRTC应用场景

二 WebRTC是什么?

  • WebRTC:Web Real-Time Communication,网页即时通信
  • 于2011年6月1日开源,并在Google、Mozilla、Opera的支持下被纳入万维网联盟的W3C推荐标准
  • 它通过简单的API为浏览器和移动应用程序提供实时通信(RTC)的功能

三 WebRTC发展历史

3.1 RTC开发经历了很长时间的历程

  • 很明显,实时音视频通信比文本通信更加生动有效,是现今人们通过网络进行互动交流的新方式
  • 但实时音视频技术发展很不顺利,经历了很长一段开发历程。
  • 历史上,曾需要昂贵的音视频技术授权或者花费巨大代价去开发
  • RTC技术与现有的内容,数据和服务整合一直都很困难和耗时,在网络上尤其如此

3.2 视频聊天流行

  • Gmail视频聊天在2008年开始流行
  • 2011年,Google推出视频群聊,它使用GoogleTalk服务,就像Gmail一样
  • GIPS是一个为RTC开发出许多组件的一个公司(后被Google收购)
  • 例如编解码和回声消除技术,其中回声技术是一个核心技术,只被少数科技公司掌握

3.3 WebRTC发展历程

  • WebRTC是一个由Google发起的实时通信解决方案,其中包含视频/音频采集、编解码、数据传输、音视频展示等功能
  • 当WebRTC开源后,这项技术并不那么神秘了。
  • Google开源了GIPS开发的技术,并与W3C制定了行业标准
  • 在2011年5月,爱立信实现了第一个WebRTC应用

3.4 WebRTC之前开发问题

  • 其实,以前很多网路服务公司已经使用了RTC技术,包括Skype、Facebook、Google Hangouts等产品
  • 但是需要使用者下载本地应用或者插件
  • 下载安装并升级插件是复杂的,可能出错,令人厌烦的事情
  • 插件可能很难部署、调试、排除故障等
  • 还有可能需要技术授权,集成复杂且昂贵,说服人们去安装插件是很困难的

3.5 WebRTC开发优势

  • WebRTC项目的原则是API开源、免费、标准化、浏览器内置,比现有的技术更高效
  • WebRTC虽然冠以“Web”之名,但并不受限于传统互联网应用或浏览器的终端运行环境
  • 实际上,无论终端运行环境是浏览器、桌面应用、移动设备(Android或iOS)还是IoT设备,只要IP连接可达到且符合WebRTC规范就可以互通
  • 这一点释放了大量只能终端(或运行在智能终端上的App)的实时通信能力,打开了许多对于实时交互性要求较高的应用场景的想象空间,如在线教育、视频会议、视频社交、远程协助、远程操控等,都是其合适的应用领域

四 WebRTC作为实时通信的优点

WebRTC主要应用在实时通信方面,其有点总结为如下几点:

  • 跨平台:可以在Web、Android、iOS、Windows、MacOS、linux环境下运行WebRTC应用
  • 实时传输:传输速度快、延迟低,适合实时性要求较高的应用场景
  • 音视频引擎:强大的音视频处理能力
  • 免插件:不需要安装任何插件,打开浏览器即可使用
  • 免费:虽然WebRTC技术已经较为成熟,集成了最佳的音视频引擎和十分先进的Codec,但仍是免费的
  • 强大的打洞能力:WebRTC技术包含了使用STUN、ICE、TURN、RTP-over-TCP的挂件NAT和防火墙穿透技术,并支持代理
  • 主流浏览器支持;包括Chrome、Safari、Firefox、Edge等

五 WebRTC应用场景

WebRTC的应用场景十分广泛,尤其是在网络越来越发达的情况下。音视频会议、在线教育、即时通讯工具、游戏、人脸识别等,是当下和未来的重要发展方向,5G时代的到来必然会引起对WebRTC井喷式的应用。WebRTC目前主要的应用领域如下:

  • 音视频会议
  • 在线教育
  • 照相机
  • 音乐播放器
  • 共享远程桌面
  • 录制
  • 即时通信工具
  • P2P网络加速
  • 游戏
  • 实时人脸识别