1、WebRTC是什么
WebRTC是Google开源的一款支持浏览器进行实时音视频通话的开发框架,为Web开发者提供了简单易用的JS接口,Web开发不需要关注音视频采集、处理、编码、传输具体细节,只需调用WebRTC提供的JS接口即可实现音视频通话。WebRTC核心层是C++编写,应用层接口是JS编写,可以做到跨平台,包括Windows、MacOS、Android 、IOS,各个平台的浏览器都可使用WebRTC进行音视频通话。
2、WebRTC架构
WebRTC的架构主要包括三个部分,一、WebRTC核心层;二、JS接口层,浏览器提供了js的API层---也就是说浏览器对webrtc的核心层的C++ API做了一层封装,封装成为了javascript接口,三、web接入层,如下图所示:
Web浏览器集成了WebRTC框架后,Web浏览器为开发提供了js接口,Web开发者通过调用浏览器提供的JS接口从而调用WebRTC的接口实现音视频通话。
2.1、WebRTC C++接口层
WebRTC库提供给浏览器javascript层的核心功能API接口,比如:连接、P2P进行连接、传输质量、设备管理。
2.2、会话管理层
音视频通话的上下文管理层,音频、视频、非音视频的数据传输,都通过session层处理,实现相关逻辑。
2.3、音频引擎