Web Real-Time Communication(WebRTC)技术概述

WebRTC简介及实战应用 — 从0到1实现实时音视频聊天等功能 简单来说,RTCDataChannel 就是在点对点连接中建立一个双向的数据通道,从而获得文本、文件等数据的点对点传输能力。它依赖于流控制传输协议(SCTP),SCTP 是一种传输协议,类似于 TCP 和 UDP,可以直接在 IP 协议之上运行。但是,在 WebRTC 的情况下,SCTP 通过安全的 DTLS 隧道进行隧道传输,该隧道本身在 UDP 之上运行。另外总的来说 RTCDataChannel 和 WebSocket 很像,只不过 WebSocket 不是 P2P 连接,需要服务器做中转。 阅读详情


1. 前言

  WebRTC(Web Real-Time Communication——网页实时通信)是一个基于浏览器的实时多媒体通信技术。该项技术旨在使Web浏览器具备实时通信能力;同时,通过将这些能力封装并以JavaScript API的方式开放给Web应用开发人员,使得Web应用开发人员能够通过HTML标签和JavaScript API快速地开发出基于Web浏览器的实时音视频应用,而无需依赖任何第三方插件。该项技术将Web浏览器打造成一个适用于在所有用户设备(比如移动智能终端和个人电脑等)间进行实时的音视频和数据通信的通用平台。

  在WebRTC技术出现之前,基于Web浏览器的多媒体通信服务是构建在特定的浏览器插件(如Adobe Flash Player)之上的,因为浏览器所依赖的HTTP协议是一种无连接状态的协议——即浏览器与服务器建立连接,下载文件,断开连接,再显示接收到的文件。因此,浏览器不能与服务器实时动态地交换数据。无连接状态的HTTP协议导致需要实时通信的服务(如聊天等)只能采取定时访问服务器的方法(即轮询方式)来实现。然而,在用户访问量增多时,这种方式严重的消耗服务器端资源,进而严重的影响服务器的性能。由于软硬件平台日趋多样性,下列问题将在基于浏览器插件的多媒体应用中突显:1)加大IT公司对于插件和基于该插件的应用的研发和维护成本;2)加大插件开发人员对于插件和基于该插件的应用的开发、测试和维护工作;3)加大涉及到受版权保护的技术的整合难度;4)加大说服用户安装插件的难度。

  目前,WebRTC由IETF(Internet Engineering Task Force——互联网工程任务组)和W3C(World Wide Web Consortium——万维网联盟)联合负责其标准化工作。IETF定制WebRTC的互联网基础协议标准,该标准也被称为RTCWeb(Real-Time Communication in Web-browsers)。W3C则负责定制WebRTC的客户端JavaScript API接口的标准。目前参与该技术标准定制的公司主要有思科、微软、谷歌和爱立信等。其中,微软为揭示现有WebRTC存在的不足,进而推动其不断向前发展,提出了WebRTC的另一种形式,即CU-RTC-Web(Customizable, Ubiquitous Real Time Communication over the Web)。

  2. 系统构成

  WebRTC是通过将如下功能集成到现有浏览器来实现为异构系统提供统一的多媒体实时通讯平台:会话管理、音频引擎、视频引擎和网络传输。同时,WebRTC为Web开发人员提供了Web API (即JavaScript API)来开发基于Web的音视频应用;为浏览器厂商提供了WebRTC Native C++ API用于实现Web API的函数集(如图1所示)。在本章节,首先,我们介绍WebRTC的组成模块;其次,我们介绍WebRTC的API接口;最后,我们介绍组成模块与接口之间的对应关系。

  2.1 组成模块

  A. 会话管理

  WebRTC的会话管理也被称为抽象信令。抽象信令的作用是将具体业务与信令控制的分离,从而适应广大Web应用中的信令控制。会话管理的实现有两种方式:一种是以浏览器为主的实现方式ROAP(RTCWeb Offer/Answer Protocol),另一种是以Javascript为主的实现方式JSEP(Javascript Session Establishment Protocol)。前者的优点在于可以直接使用现有协议栈实现;缺点是灵活度较低,无法支持私有协议,另外,如果将过多的协议栈集成到浏览器,将使得浏览器会变得“臃肿”。后者的优势在于灵活度高,能够适用于多种协议。为提高会话管理的普适性,以及简化会话管理,W3C通过多次讨论,最终采用了JSEP(JavaScript Session Establishment Protocal)方式来进行会话管理。

  B. 音频引擎

  音频引擎负责从麦克到网络侧、网络侧到音箱的音频处理。它包含的功能主要有音频编解码和声音处理两部分。在音频编解码上,WebRTC主要采用两种语音编码格式:iSAC(internet Speech Audio Codec)和iLBC(internet Low Bitrate Codec),来分别对宽带与窄带环境的语音进行编码。在声音处理上,WebRTC主要包括回声消除、错误隐藏和降噪处理等功能,用来降低由网络抖动和丢包等对声音质量造成的影响,并尽可能降低声音延迟。

  C. 视频引擎

  视频处理引擎负责摄像机到网络侧、网络侧到屏幕显示的视频处理。它主要包括视频编解码和图像处理。在视频编解码上,目前WebRTC主要采用VP8技术(未来VP9也将被集成到WebRTC中),使得WebRTC在较低码率的环境,提供较高质量的视频。在图像处理上,WebRTC主要包括抖动缓冲和图像增强等功能,用来降低从摄像机采集到的图像的噪音。

  D. 网络传输

  网络传输负责对采集到的音视频数据进行加密、防火墙穿透和传输。WebRTC将设备采集到的音视频数据在加密的情况下采用SRTP协议进行传输,以确保信息在传输过程中的安全性。另外,WebRTC采用STUN、TURN和ICE等协议栈对VoIP网络中的防火墙或者NAT进行穿透。其中,STUN可以处理大部分NAT穿透问题;TURN是STUN协议的一个增强版,专门用于处理对称形NAT穿透问题;ICE是一个整合了STUN和TURN的框架,为VoIP或视频通话配置以及媒体传输提供可靠的服务。

  图 1 WebRTC总体架构,摘自百度百科

  2.2 封装API

  WebRTC将音视频数据从设备采集到网络传输过程中涉及的功能封装到以下3个主要API:MediaStream、PeerConnection和DataChanel。MediaStream(即getUserMedia)用于表示被获取的媒体数据,例如来自麦克风和摄像头音视频流。PeerConnection用于表示在两个浏览器之间的连接。DataChannel表示一个在两个节点之间的双向的数据通道。值得注意的是由于WebRTC的标准化工作还未完成,所以目前这几个API的名称在不同浏览器及同一浏览器的不同版本之间略有差异,比如PeerConnection在FireFox上叫做mozRTCPeerConnection,而在当前版本的Chrome上叫做webkitRTCPeerConnection。

  2.3 模块与API之间的关系 

  在这节,我们将通过WebRTC的工作原理来阐述WebRTC各个组成模块与所封装的JavaScript API之间的关联关系。图2是一个WebRTC的工作原理示意图。在图2中,有两个集成WebRTC的浏览器,一个信令服务器,一个STUN/TURN服务器。浏览器访问基于WebRTC的Web应用。信令服务器对Web应用的信令进行解析。STUN/TURN服务器对Web应用进行NAT或防火墙穿透,以建立两个客户端的通信连接。具体工作流程如下:首先,使用Web应用的双方通过PeerConnection API将呼叫和应答请求发送给信令服务器;然后,STUN/TURN服务器对呼叫双方的防火墙和NAT进行穿透;之后,MediaStream通过音视频引擎对音视频数据进行采集;最后,Web应用将采集到的音视频数据发送到DataChanel,并采用RTP/SRTP协议进行传输。


    图 2 WebRTC各个组成模块与所封装的JavaScript API之间的关联关系

  2.4 应用场景

  WebRTC的音视频应用从连接的客户端的数量角度来区分,可以分为一对一模式和多人模式。同时,WebRTC为了取得快速的发展,其势必对传统网络,例如SIP,XMPP和PSTN网络进行无缝对接。

  A. 一对一模式

  该模式是最简单的应用模式。在上文图2中阐述WebRTC模块与API之间关联关系时的例子就是一个一对一模式。该模式的工作原理描述如下。首先,基于WebRTC的Web应用通过Web服务器来进行信令解析。然后,每个浏览器将本地采集到的音视频数据发送给对端浏览器。最后,每个浏览器对本地和对端的多媒体数据进行处理和显示。

   

  图 3 一对一模式

  B. 多人模式

  相比较于一对一模式,多人模式则更加复杂。该模式与一对一模式不同的是,每个浏览器将本地采集到的音视频数据广播给其余所有浏览器(如图4(a)所示)。由于终端的处理能力,电池续航能力以及网络带宽的限制,WebRTC目前最多能够支持6个人同时进行音视频服务。为摆脱由于终端的有限能力对WebRTC多人模式中人数的限制,目前,有些公司(例如因特尔)为WebRTC的特定应用提供MCU媒体控制单元。MCU负责对不同格式的音视频进行转码和将多人模式中的音视频流整合在一起再广播给每一个终端。基于MCU的多人模式的工作流程,如图4(b)所示。



 (a)                        (b)    

  图 4(a)WebRTC原生多人通信模式,(b)基于MCU的多人通信模式。

  C. WebRTC与现有网络的互通模式

  由于在WebRTC出现之前,实时通讯业务已经取得了很大的发展。因此,WebRTC应与现有的实时通信业务无缝对接,才能取得快速的发展。为了与传统实时通信业务进行无缝对接,目前,各个厂商根据WebRTC和现有的实时通信业务开发出相应的网关设备,比如对应SIP/XMPP的服务器和PSTN(Public Switched Telephone Network——公共交换电话网络)网关。该网关负责将通过浏览器访问的Web应用和传统客户端访问的现有实时通信应用的信令进行适配,甚至多媒体格式之间的转化。具体的业务逻辑如图5所示。

   

  图 5 WebRTC与现有网络的互通模式

  3. WebRTC的发展与影响

  3.1 发展

  首先,Android系统内置的浏览器和个人电脑中主流的Web浏览器(例如Chrome,Firefox和Opera)已经支持WebRTC。根据Dialogic公布的2013年“WebRTC影响调查”报告,在2013年,Android在移动智能终端的市场占有率是69%;Chrome,Firefox和Opera三大主流Web浏览器在个人电脑的市场占有率是39%。另外,其他Web浏览器(比如,Maxthon)也将支持WebRTC。因此,WebRTC将被快速的部署在日常设备(即移动智能终端和个人电脑等)。其次,由于WebRTC的本质是一项基于Web浏览器的实时通信技术,它将最先应用在IM(Instant Messenger——即时通信)领域。由于IM应用通常应用在社交网络,这使得WebRTC可以依靠社交网络所具有的小世界网络特性(即虽然这种网络中大部份的节点彼此并不相连,但绝大部份节点之间经过少数几步就可到达——摘自维基百科)快速的被用户所使用。基于以上两点,WebRTC技术的部署和使用将呈现爆炸式的增长。

  3.2  影响

  WebRTC技术的快速普及将对现有的很多领域产生巨大的影响。 首先,受到影响的是现有的VoIP业务领域。目前我们正在经历一个硬件多样化的时代,比如可穿戴设备的兴起。这将促进适应新型设备的操作系统的涌现和加大现有操作系统的分化。因此,操作系统的异构性和繁杂性使得VoIP应用的开发、更新与维护的复杂性和成本剧增。随着WebRTC集成到浏览器中,基于Web的实时通信应用可以通过HTML标签和JavaScript API实现快速的开发,并避免了由于操作系统的异构性带来的重复开发和由于版本升级带来的维护费用以及不便。这将导致现有的应用开发人员从现有的基于浏览器插件或者原生VoIP应用模式转向使用WebRTC进行Web应用开发,进而使得现有的VoIP应用的普通用户向基于浏览器的Web应用的迁移。目前,涉及VoIP业务的客服以及在线教育领域很关注WebRTC技术在自身领域的应用。

  其次,现有的IM应用通过其拥有的大量用户,并通过构建在这些IM应用上的衍生应用形成生态圈。这些IM应用及其所形成的生态圈正在试图取代浏览器成为互联网入口。这种现象在移动智能终端表现的更加突出。然而,如上文所述,WebRTC技术的部署和使用将呈现爆炸式的增长,这将导致IM应用向IM Web应用的转变和用户向IM Web应用的迁移。因此,构建在现有IM应用的生态圈将被打破。现有的IM应用及其生态圈必将做出相应的布局调整以适应新的技术环境。

  同时,WebRTC的普及将给企业带来监管和安全问题。目前,有些公司在公司内部封锁了IM应用(比如QQ,Skype)的端口,以防止员工在工作过程中由于对音视频工具的不慎使用所造成的安全问题。基于WebRTC的新型IM Web应用,与正常的Web页面无异,所以很难检测该种IM Web应用。这给企业的监管和安全造成了巨大的隐患。

  其次,智能电视的展现形式和业务模式将受到巨大的影响。目前,智能电视主要包括智能操作系统以及显示设备。在智能电视上的主要业务也主要是对多媒体源的直播和点播。随着WebRTC的普及和涌现大量的IM Web应用,智能电视将很可能原生的包含摄像头设备。同时,视频会议业务也将像现在的对多媒体源的直播和点播业务一样,成为智能电视的主要业务。

  其次,所上文所述,由于WebRTC所支持的音视频格式的局限,以及WebRTC在多人视频会话中采用的可选网状结构的限制(目前是6人)。新型的服务供应商将产生。这些供应商主要提供1)不同视频编解码的转换;2)在多人会话中,视频流的整合与广播。目前,服务供应商及其产品有:Dialogic推出的PowerMedia XMS 2.1和英特尔推出的Collaboration Service for WebRTC。

  最后,集成了WebRTC的Web浏览器将进一步改变传统的应用、Web浏览器和操作系统的格局。Web浏览器将成为介于操作系统与Web应用的一个平台。为Web操作系统的普及进一步铺平道路。包含了WebRTC的浏览器将进一步巩固其互联网入口的地位——近些年,超级应用(例如微信)通过其拥有的大量用户和在其上的开发的衍生应用试图成为互联网入口。Web浏览器及其Web应用将成为一种生态圈。高性能浏览器的研发将成为下一个竞争热点。而浏览器的安全问题将更加凸显。

  4. 总结

  在本文中,我们首先介绍了WebRTC技术产生的意义。其次,我们展示了WebRTC技术架构中各个组成模块和所封装的JavaScript API,以及模块与JavaScript API之间的对应关系;同时,我们也阐述了WebRTC的工作模式以及与现有多媒体网络的对接模式。之后,我们根据WebRTC的载体(即Web浏览器)在移动终端和个人PC中的占有率以及这些载体对WebRTC的支持程度做出了WebRTC技术的部署和使用将呈现爆炸式的增长的判断。最后,我们阐述了WebRTC对现有实时通讯行业和智能电视行业的影响,并阐述由于WebRTC的引入将进一步改变应用、Web浏览器和操作系统三者的格局。

  作者简介:苗经纬,现为工业和信息化部电信研究院标准所工程师。在此之前,他于2006年获得大连理工大学学士学位,2009年获北京大学硕士学位。之后由教育部公派至法国攻读计算机科学博士学位,并于2013年获法国国家应用科学院博士学位。在博士学习阶段,他在所学领域的多个重要国际期刊和会议上发表十余篇文章,并参与法国国家科研项目。



WebRTC:Mesh/MCU/SFU网络架构 1. WebRTC网络架构有Mesh、MCU,SFU三种,其中: 1. Mesh:成本最低,但没有对多人实时互动场景提供很好的支持。 2. MCU:支持多人实时互动,需要对音视频流进行重新解码、混流、编码、对服务器要求高,成本以及延时也是最高。 3. SFU:支持多人实时互动,不需要在服务器端对媒体流进行编解码,因此降低了对服务器的要求,延时也低。 阅读详情

相关推荐

【人工智能】WebRTC(Web Real-Time Communication,网页实时通信)是一项由谷歌等企业推动开发的开源实时通信技术,无需安装额外插件或软件

WebRTC是一项开源实时通信技术,支持浏览器和移动应用无需插件即可实现音视频通话、数据传输和屏幕共享。其基于标准Web技术,具有跨平台兼容性,广泛应用于视频会议、在线教育等领域。核心功能包括媒体采集、连接建立和数据传输,依赖RTP、ICE等协议保障通信质量。主流浏览器如Chrome、Firefox等均原生支持WebRTC,通过标准化API降低开发门槛,仅需信令服务器辅助建立连接。该技术显著降低了实时通信应用的开发和使用成本。

奶爸的编程之路,也就一周冷个三天 145

WebRTC简介及使用

WebRTC 只是一个媒体引擎,上面有一个 JavaScript API,所以每个人都知道如何使用它(尽管浏览器实现仍然各不相同),本文对 WebRTC(网页实时通信)的相关内容进行简要介绍。WebRTC,名称源自网页实时通信(Web Real-Time Communication)的缩写,是一个支持网页浏览器进行实时语音通话或视频聊天的技术,是谷歌 2010 年以 6820 万美元收购 Global IP Solutions 公司而获得的一项技术。WebRTC 提供了实时音视频的核心技术。

明天你好的博客 3万+

webReal:web实战

webReal web实战

Web即时通信技术——WebRTC

WebRTC(Web Real-Time Communication)是一个开放的项目,旨在在网页端提供实时的音频、视频和数据通信,不需要插件或其他附加软件。它是由Google主导,并在Mozilla、W3C和IETF等组织的支持下开发。WebRTC的目标是使浏览器成为实时通信的强大平台,支持点对点(peer-to-peer)通信。官方网址:https://webrtc.org/WebRTC中文网 https://webrtc.org.cnWebRTC官网 https://webrtc.org/

qq_42241500的博客 6342

SAP中错记虚拟利润中心的调整,冲销处理实例

我非CO专业顾问。工作中遇到的问题,也会找资料,分析,测试。有时这个过程会拿到结果,解决问题。遂将过程记录下来备查。读者请谨慎参考!EC-PCA: 利润中心记账流程_9ke0-优快云博客。

专注SAP应用技术文章写作,致力于拉近用户与系统间的距离; 1795

HBF凭什么能挑战HBM?

最近AI圈聊得最多的,除了大模型迭代,就是“算力瓶颈”。大家都知道GPU不够用、HBM抢疯了,但很少有人注意到,存储层正在酝酿一场革命——高带宽闪存(HBF)。今天就结合HBM之父Joungho Kim教授的最新观点,跟大家好好盘盘这门技术:它不是HBM的替代品,却可能重塑AI推理的游戏规则,甚至在2038年超越HBM市场规模。先澄清一个核心认知:HBF不是凭空冒出来的新技术,而是站在HBM肩膀上的“优化款”。

存储随笔 2130

前端多媒体编程

webrtc

Finit的成长空间 487

从零开始:STM32C011开发板的硬件生态与快速验证

本文全面解析STM32C011开发板的硬件生态与快速验证方法,帮助开发者从零开始掌握这款基于ARM Cortex-M0+内核的微控制器。内容涵盖硬件架构解析、开发环境搭建、基础功能验证及性能优化技巧,为嵌入式开发提供实用指导。

swift5iosmith的博客 480

HTML5新特性之WebRTC

1、概述 WebRTC是“网络实时通信”(Web Real Time Communication)的缩写,它主要用来让浏览器实时获取和交换视频、音频和数据。 WebRTC共分三个API。 MediaStream(又称getUserMedia)RTCPeerConnectionRTCDataChannel getUserMedia主要用于获取视频和音频信息,后两个API用于浏

zqf_office的专栏 935

Android音频学习(十四)——加载音频设备

loadHwModule 是 Android 音频系统的核心初始化函数,负责加载音频硬件抽象层(HAL)的模块实现。它建立 AudioPolicyService 与底层硬件的桥梁,将配置文件(audio_policy_config.xml)中的标签<module>定义转化为可操作的硬件对象,加载的是音频硬件模块(HAL实现),每个模块对应一种音频设备类型,以动态库的形式存在,负责与底层音频硬件交互。

miemie2014的博客 1731

DISM进行系统修复,进度条卡在63.2%的解决方法

一时用不了软件,安装修复的时候也出现问题 DISM一直卡在63.2%,等了好久时间,直接强制退出寻找最终的解决方案

码农研究僧的博客 1万+

js获取ip地址

<span id="ip"></span> <script> /** * Get the user IP throught the webkitRTCPeerConnection * @param onNewIP {Function} listener function to expose the IP locally * @return undefined */

世界太浮夸 1604

Could not find a package configuration file provided by “boost_signals“

gmapping/slam_gmapping/gmapping/CMakeLists.txt:14 (find_package)问题在14行,注释该行。,该语句的用以为告诉项目Boost库文件所在。

weixin_72050316的博客 1027

探索WebRTC的无限可能:《Real-Time Communication with WebRTC》中文版

探索WebRTC的无限可能:《Real-Time Communication with WebRTC》中文版 去发现同类优质开源项目:https://gitcode.com/ 随着互联网技术的飞速发展,实时通信(WebRTC)已成为构建下一代互动应用的核心。它让我们能够在浏览器内实现高清音视频通话和点对点的数据传输,而无需额外的插件。现在,我们有幸迎来了一部深入浅出的实践指南——《Real-Tim...

gitblog_00014的博客 460

【LE Audio】CAP精讲[1]: 从理论到实操,CAP 协同流程入门全攻略

LEAudio生态中的CommonAudioProfile(CAP)是一个关键协同框架,它通过整合基础音频协议(BAP/VCP/MICP等)构建多设备协同能力。CAP定义了三大核心功能:音频流管理、设备组控制和统一交互服务,解决了传统蓝牙音频在多设备场景下的协同痛点。其规范历经v1.0到v1.0.1的优化,修正了角色定义、连接流程等关键模块,提升设备兼容性。CAP采用严格的语言约定(shall/must/should)和术语体系(ContextType/CCID/协同集),确保不同厂商设备能相互理解。

byte轻骑兵的技术小窝 2万+

芒果YOLO11改进145:Loss损失函数KLD:即插即用 NeurIPS顶会论文,独家首发原创新颖|通过 Kullback-Leibler 散度学习用于目标检测的高精度边界框

旋转检测Loss损失函数KLD:即插即用 NeurIPS顶会论文,独家首发原创新颖|通过 Kullback-Leibler 散度学习用于目标检测的高精度边界框

包括YOLOv5、YOLOv7、YOLOv8等模型改进 565

深入理解WebRTC : Real-time Communication Between Browsers

Web Real-Time Communication(Web实时通信,WebRTC)由一组标准、协议和JavaScript API组成,用于实现浏览器之间(端到端)的音频、视频及数据共享。 WebRTC使得实时通信变成一种标准功能,任何Web应用都无需借助第三方插件和专有软件,而是通过简单地JavaScript API即可完成。 在WebRTC中,有三个主要的知识点,理解了这三个知识点,也就...

青柿视频流媒体的博客 9121

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

官方Demo《Real time communication with WebRTC》学习笔记

学习资料:Real time communication with WebRTC 学习计划:有空就学,争取两个礼拜左右搞定 1.介绍

Haipai1998的博客 1121

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

初识WebRTC(Web Real-Time Communication)网络实时通信

WebRTC技术的诞生,有一个很重要的原因在于,在浏览器实现实时音视频通话,需要依赖相关插件或程序,而插件安全漏洞问题则更为关键

阿酷tony 764

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

WebRTC 1.0: Real-time Communication Between Browsers

IETF RTCWEB group组讨论p2pweb Media Capture Task Force讨论Media device W3C的web Real-Time communications working group讨论以下内容 Table of Contents 1. Introduction2. Conformance3. Terminology4. Peer-

wangjianhw的博客 1159

web real time communication technology

1 html5 web socket  2 microsoft signalR imc

zhaozhencn的专栏 588

android 通过 webRTC给 web页面 推送MediaStream

在Android平台上,若要将MediaStream推送到Web应用,通常涉及使用WebRTC技术,这是一种支持网页浏览器之间进行实时通信(Real-Time Communication, RTC)的开源协议。在Android端:你可能需要使用诸如libjingle(Google的WebRTC native库的Java封装)或者更现代的库如OpenWebRTC、Jitsi Meet SDK等,这些库提供了与WebRTC兼容的API。

icedrunker的博客 1101

《WebRTC 1.0: Real-Time Communication Between Browsers》学习

背景 w3c发布了一个文档,定义WebIDL格式的ECMAScript API,可实现web数据的实时传输 WebIDL:用于描述接口规范,IDL文件还可以自动生成对应语言的接口 ECMAScript API : 可以理解为JS

Haipai1998的博客 287

codelab - Real time communication tith WebRTC(1)

1. Introduction WebRTC is an open source project to enable realtime communication of audio, video and data in Web and native apps. WebRTC has several JavaScript APIs — click the links to see demos.

mandagod的博客 599

codelab - Real time communication tith WebRTC(2)

2. Overview Build an app to get video and take snapshots with your webcam and share them peer-to-peer via WebRTC. Along the way you'll learn how to use the core WebRTC APIs and set up a messaging ser

mandagod的博客 508
上一篇: TCP/IP, WebSocket 和 MQTT
下一篇: 在Windows平台上安装Node.js及NPM模块管理
bamboolsu
博客等级 码龄22年 200粉丝 394原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值