Web实时通信(WebRTC)是标准,协议和JavaScript API的集合,两者的组合可实现浏览器(对等)之间的对等音频,视频和数据共享。WebRTC无需依赖第三方插件或专有软件,而是将实时通信转变为任何Web应用程序都可以通过简单的JavaScript API加以利用的标准功能。

交付丰富,高质量的RTC应用程序,例如音频和视频电话会议以及对等数据交换,需要在浏览器中提供许多新功能:音频和视频处理功能,新的应用程序API,以及对六种新功能的支持。网络协议。值得庆幸的是,该浏览器将这种复杂性的大部分从三个主要API中抽象出来:

  • MediaStream:获取音频和视频流
  • RTCPeerConnection:音频和视频数据的通信
  • RTCDataChannel:任意应用程序数据的通信

它只需要十几行JavaScript代码,任何Web应用程序都可以通过对等数据传输实现丰富的电话会议体验。这就是WebRTC的承诺和力量!但是,列出的API只是冰山一角:信令,对等设备发现,连接协商,安全性以及新协议的整个层只是将它们整合在一起的一些组件。

不足为奇的是,支持WebRTC的体系结构和协议还决定了其性能特征:连接建立等待时间,协议开销和传递语义,仅举几例。实际上,与所有其他浏览器通信不同,WebRTC通过UDP传输其数据。但是,UDP只是一个起点。要使浏览器中的实时通信成为现实,它需要花费比原始UDP多得多的费用。让我们仔细看看。

已经为1B +用户启用了WebRTC:最新的Chrome和Firefox浏览器为所有用户提供WebRTC支持!话虽这么说,WebRTC也在浏览器API级别以及传输和协议级别上都在积极构建中。因此,未来几章中讨论的特定API和协议可能仍会更改。

WebRTC的标准和发展

在浏览器中启用实时通信是一项雄心勃勃的工作,并且可以说是自一开始以来Web平台最重要的新增功能之一。WebRTC脱离了熟悉的客户端到服务器的通信模型,这导致了浏览器中网络层的完全重新设计,并且带来了一个全新的媒体堆栈,这是实现高效,实时处理所必需的音频和视频。

结果,WebRTC体系结构由十几种不同的标准组成,涵盖了应用程序和浏览器API,以及使其工作所需的许多不同的协议和数据格式:

  • Web实时通信(WEBRTC)W3C工作组负责定义浏览器API。
  • Web浏览器中的实时通信(RTCWEB)是IETF工作组,负责定义协议,数据格式,安全性和所有其他必要方面,以实现浏览器中的对等通信。

WebRTC不是空白标准。尽管其主要目的是实现浏览器之间的实时通信,但其设计还使其可以与现有的通信系统集成:IP语音(VOIP),各种SIP客户端,甚至公共交换电话网(PSTN) , 仅举几个。WebRTC标准没有定义任何特定的互操作性要求或API,但它们确实尝试在可能的情况下重用相同的概念和协议。

换句话说,WebRTC不仅要为浏览器带来实时通信,还要把所有的Web功能都带给电信世界——2012年的市场价值为4.7万亿美元!毫不奇怪,这是一项重大发展,许多现有的电信供应商,企业和初创公司正在密切关注这一发展。WebRTC不仅仅是另一个浏览器API。

WebRTC用例和性能

实现低延迟,对等传输是一项不平凡的工程挑战:NAT遍历和连接性检查,信令,安全性,拥塞控制以及无数其他细节需要处理。WebRTC代表我们处理了以上所有内容,因此,自成立以来,WebRTC可以说是Web平台最重要的新增功能之一。实际上,这不仅是WebRTC提供的各个部分,而且所有组件都可以协同工作以提供一个简单而统一的API,以便在浏览器中构建对等应用程序这一事实。

但是,即使具有所有内置服务,设计高效且高性能的对等应用程序仍需要进行大量仔细的考虑和计划:对等并不意味着就其本身而言就具有高性能。如果有的话,对等点之间带宽和延迟的增加的可变性,以及媒体传输的高要求以及不可靠的传送的特殊性,使它成为一个更加艰巨的工程挑战。

总结

随着移动互联网的、AI、5G等等新兴技术的高速发展,结合WebRTC技术,未来将衍生出更多的应用场景,改变人类的衣、食、住、行等生活方式。

webRTC的标准与发展的更多相关文章

  1. LIFI热火下的VLC基本链路、标准及发展问题

    和白炽及荧光灯相比,白光发光二极管(LED)具有寿命长.光效高.功耗低.无辐射.安全性好.可靠性高等特点,被称为"绿色照明"并得到迅猛发展.白光LED在未来市场极具竞争力.世界范围 ...

  2. Android IOS WebRTC 音视频开发总结(五四)-- WebRTC标准之父谈WebRTC

    本文主要是整理自国内首届WebRTC大会上对Daniel的一些专访,转载必须说明出处,欢迎关注微信公众号blacker,更多说明详见www.rtc.help 说明:以下内容主要整理自InfoQ的专访, ...

  3. 视频基础知识:浅谈视频会议中H.264编码标准的技术发展

    浅谈视频会议中H.264编码标准的技术发展 浅谈视频会议中H.264编码标准的技术发展 数字视频技术广泛应用于通信.计算机.广播电视等领域,带来了会议电视.可视电话及数字电视.媒体存储等一系列应用,促 ...

  4. Android IOS WebRTC 音视频开发总结(四二)-- webrtc开发者大会

    本文主要介绍11月要在北京举办的webrtc开发者全球大会,文章来自博客园RTC.Blacker,支持原创,转载必须说明出处,更多详见www.rtc.help 其实两个月前就有圈内朋友跟我介绍这个大会 ...

  5. 基于webrtc技术session border controler (SBC)

    由于原来的文章 http://blog.csdn.net/voipmaker  转载注明出处. 我建了一个通信学习 交流群. 45211986, 欢迎增加. WebRTC技术致力于在浏览器端实现实时音 ...

  6. (译)WebRTC实战: STUN, TURN, Signaling

    http://xiaol.me/2014/08/24/webrtc-stun-turn-signaling/ 原文:WebRTC in the real world: STUN, TURN and s ...

  7. 痞子衡嵌入式:并行接口NAND标准(ONFI)及SLC Raw NAND简介

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是ONFI标准及SLC Raw NAND. NAND Flash是嵌入式世界里常见的存储器,对于嵌入式开发而言,NAND主要分为两大类:S ...

  8. 痞子衡嵌入式:并行接口NAND互操作性标准(JEDEC-JESD230)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是JESD230标准. 众所周知,最早也最流行的Raw NAND接口标准是ONFI标准,痞子衡在 并行接口NAND标准(ONFI)及SLC ...

  9. 关于标准的知识 GB ISO 等内容

    1. 来自百度知道: GB:GB 即"国标"的汉语拼音缩写,为中华人民共和国国家标准的意思. ISO:国际标准化组织的英语简称.其全称是International Organiza ...

随机推荐

  1. 创建Akamai CDN

    背景说明: XX全球版项目CDN, 原有改之前:主CDN为Akamai,备CDN为Cloudflare. 计划改之后:主CDN为Cloudflare,备CDN为Akamai. 原因:Akamai CD ...

  2. CSP_J 纪念品题解

    题目: 小伟突然获得一种超能力,他知道未来 T 天 N 种纪念品每天的价格.某个纪念品 的价格是指购买一个该纪念品所需的金币数量,以及卖出一个该纪念品换回的金币数量. 每天,小伟可以进行以下两种交易无 ...

  3. 组建Redis集群遇到`GLIBC_2.14' not found和ps -ef 不显示用户名

    RHEL6.9组建Redis sentinel集群遇到两个问题 今天在组件Redis sentinel 集群时,遇到两个问题,之前已经组建多次,都没碰到类似问题,在解决这两个问题时,耗费些时间. 问题 ...

  4. POJ 1016 Numbers That Count 不难,但要注意细节

    题意是将一串数字转换成另一种形式.比如5553141转换成2个1,1个3,1个4,3个5,即21131435.1000000000000转换成12011.数字的个数是可能超过9个的.n个m,m是从小到 ...

  5. 2、nacos

    1.Nacos官方文档的说明已经很清晰了. https://nacos.io/zh-cn/docs/quick-start-spring-cloud.html 2.前提条件 https://nacos ...

  6. idea中快捷键的设置

    IDEA快捷方式改成eclipse的 File -> Settings -> Keymap 这里选Eclipse 然后Applay 即可: 快速生成main方法设置以及System.out ...

  7. ffiddler抓取手机(app)https包

    很多同学有看过原文,但是按照原文还是没有设置成功(我就是其中一个)然后查了网上资料,在某些选项上进行增加,填写,配置通过.(和原文略有不同) 安装Fiddler,我们正常的流程在feiddler中设置 ...

  8. Vue权限路由实现总结

    前言 年前完工了做了半年的铁路后台管理系统,系统整体业务比较复杂,这也是我到公司从 0 到 1 的 一个完整系统实践,做这个系统过程中踩了不少坑,也学到了很多. 做完这个系统没多久,紧接着又一个系统来 ...

  9. python 常用命令sys.exit()

    Python的程序有两中退出方式:os._exit(), sys.exit() os._exit()会直接将python程序终止,之后的所有代码都不会继续执行. sys.exit()会引发一个异常:S ...

  10. 从0到1认识XHTML

    XHTML概念 XHTML是一种可扩展超文本标记语言,与HTML(超文本标记语言)类似,不过在语法上更加严格.XHTML是以XML(是一种必须正确标记且格式良好的标记语言)应用方式定义的HTML,与h ...