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网络加速
- 游戏
- 实时人脸识别