WebRTC-扫盲

前言

需要学会的硬技能
1、学会翻墙
2、学会用WireShark抓包
3、音视频相关知识

一、WebRTC概述?

WebRTC(Web Real-Time Communication网页实时通信技术)是一系列为了建立端到端文本或者随机数据的规范,标准,API和概念的统称。这些对等端通常是由两个浏览器组成,但是WebRTC也可以被用于在客户端和服务器之间建立通信连接,或者在任何其他可以实施WebRTC标准的设备之间进行通信建立。WebRTC是一个开源项目,可在浏览器中实现无插件的实时通信(RTC)。它包括用于高质量通信的基本构建模块,例如用于语音和视频聊天应用的网络,音频和视频组件。这些组件在浏览器中实现时,可以通过JavaScript API访问,使开发人员能够轻松实现自己的RTC Web应用程序。

一次WebRTC点对点通信包含四个过程:找到对方、协商、建立连接、开始通信。
举个不恰当的,小红和小明谈恋爱了,上课的时候他们想传纸条说话?这个时候一般有以下几个步骤:
1、(找到对方)找到教室内对方的位置
2、(协商)可能有些同学会恶作剧,替换了纸条或在纸条中篡改内容,所以他们俩协定了没有风险的情况才通信
3、(建立连接)通过同学传递纸条建立传递路径
4、(开始通信)可以互相传纸条通信了

二、WebRTC的目标是什么?

WebRTC旨在为开发社区提供开放,高质量的实时通信技术。在WebRTC之前,这种类型的RTC技术仅适用于能够负担昂贵的许可费用或通过AdobeFlash等专有插件的大型公司。WebRTC将为新一波视频,语音和数据Web应用程序打开大门。目前国内各大一二线音视频相关的公司都有做基于WebRTC的音视频研发。

三、WebRTC支持哪些平台?

windows、linux、mac、iOS、Android、Web,几乎主流平台都支持了,跨平台的强大。

四、WebRTC开发现状

WebRTC的开发现状其实并不像大多数人所想象的那么简单,人们普遍的认为WebRTC的代码是开源的所以花很少的时间就能将其集成到项目中去,并且Google这么大的公司的产品质量一定没问题。但是在项目进行中,大家都会发现,WebRTC并不是一块Google白送到面前的肉。首先,编译WebRTC的源码就是一个比较大的挑战,搭建其复杂的编译环境往往会遇到很多意想不到的问题,导致当初计划用几个星期的时间来搞定项目,却发现这几个星期连编译都没搞定。还有,WebRTC中很多的参数都是由GIPS公司的工程师们依靠经验所设定的值,这就会出现卡顿、延时、回声、丢包、多人视频不稳定等问题,并且由于公网的稳定性或机型适配等外在因素,以上问题在项目上线后会更加严重。总而言之,WebRTC虽然提供了一套音视频实时通讯的解决方案,但是在实际应用中,由于网络传输、设备适配以及多方通话上都存在很多问题,效果并不理想。

参考资料:
【前端实时音视频】WebRTC入门概览
WebRTC现状以及多人视频通话分析

你可能感兴趣的:(WebRTC-扫盲)