龙空技术网

什么是WebRTC以及它的技术构架是什么

vymeet云会议 159

前言:

今天各位老铁们对“pythonwebrtc”大体比较讲究,咱们都想要学习一些“pythonwebrtc”的相关内容。那么小编在网络上搜集了一些对于“pythonwebrtc””的相关文章,希望同学们能喜欢,各位老铁们快快来学习一下吧!

众所周知,浏览器本身不支持相互之间直接建立信道进行通信,都是通过服务器进行中转。比如现在有两个客户端,甲和乙,他们俩想要通信,首先需要甲和服务器、乙和服务器之间建立信道。甲给乙发送消息时,甲先将消息发送到服务器上,服务器对甲的消息进行中转,发送到乙处,反过来也是一样。这样甲与乙之间的一次消息要通过两段信道,通信的效率同时受制于这两段信道的带宽。同时这样的信道并不适合数据流的传输,如何建立浏览器之间的点对点传输,一直困扰着开发者。WebRTC应运而生。

WebRTC(Web Real-Time Communication)是什么?标准?API?还是一个项目?众说纷纭。那么WebRTC到底是什么呢?

从官网上的描述我们可以知道,WebRTC是一个开源项目,旨在使得浏览器能为实时通信(RTC)提供简单的Java接口。说的简单明了一点就是让浏览器提供JS的即时通信接口。这个接口所创立的信道并不是像WebSocket一样,打通一个浏览器与WebSocket服务器之间的通信,而是通过一系列的信令,建立一个浏览器与浏览器之间(peer-to-peer)的信道,这个信道可以发送任何数据,而不需要经过服务器。并且WebRTC通过实现MediaStream,通过浏览器调用设备的摄像头、话筒,使得浏览器之间可以传递音频和视频。

WebRTC是由谷歌推广的实时音视频技术栈,是音视频领域搜索热度最高的技术。它有多重身份,既是W3C的标准,也是一个开源项目,还有一个对应的IETF工作组(RTCWEB)。在WebRTC出现之前,音视频通信是高不可攀的领域,需要大量的专业积累才能入门,而现在,越来越多的开发者通过WebRTC来深入了解RTC技术。

这是官网给出的WebRTC架构图,其中

紫色部分是Web开发者API层;

蓝色实线部分是面向浏览器厂商的API层;

蓝色虚线部分浏览器厂商可以自定义实现。

对于开发人员来说,WebRTC就是一组API。经常有人说WebRTC是JavaScript API的媒体引擎,准确说WebRTC是一个带有JavaScript API的媒体引擎。但这并不是全部。WebRTC并不止仅限于JavaScript。有很多系统是用C,Java,Python,C#,Erlang,Dart,甚至PHP所写。在移动端,原生软件在其客户端WebRTC SDK实现中使用的是Objective-C,Swift或者Java。但是最主要的是JavaScript。

它是一种非常令人兴奋,强大且具有高度破坏性的尖端技术和标准。WebRTC利用一组可在桌面和移动浏览器中使用的无插件API,并逐渐得到所有主要现代浏览器供应商的支持。WebRTC 实时通信技术是目前最新的语音视频通信技术,实现了多场景,多环境的完美结合。它可以实现视频通信,语音通信,和数据的交互。

结语:vymeet云会议支持100方互动,万人视频直播,免费体验请登录官网,,加入会议id:888888888,随时可以进行测试体验。电话: 400-080-5766 微信:meet200010

标签: #pythonwebrtc