写点什么

ORTC 以及 WebRTC 的未来

  • 2014-08-25
  • 本文字数:1225 字

    阅读完需:约 4 分钟

第一版稳定的 ORTC(对象 RTC)规范已经发布。问题是,它会对 WebRTC 产生什么样的影响呢?

让我们回顾一下,在 2013 年, Hookflash 的首席架构师 Robin Raymond 就表达了对于在 WebRTC 中使用 SDP (会话描述协议)的不满。他总结了自己关于 SDP 的问题,如下:

  1. 不需要——太多高层次的 API
  2. 晦涩难懂的格式——遗留下来的,而且有问题
  3. 要求没有得到应答
  4. 不兼容
  5. 缺少 API 契约
  6. 无法真正解决与遗留系统兼容性的问题

在接下来的几个月间,其他成员加入进来,成立了 W3C 对象 RTC (ORTC)社区小组,要定义“一系列 WebIDL 中的 ECMAScript API,让媒体可以从其他浏览器或者设备进行发送和接收”。该小组当前拥有 60 名成员,包括微软和 Google,并且已经产出了第一个稳定的规范草案: 针对WebRTC 的对象RTC(ORTC)API

Doug Mahugh(微软)认为“ ORTC 现在已经完成了足够多的内容,可以实现以获取经验,从而可以号召更多人来对其进行实现。” 他概述了一些原因,来说明为什么 ORTC 有用:

ORTC API 很适合“移动优先,云优先”的世界,因为它支持高级视频特性,像可伸缩的视频编码 simulcast 。这些高级视频技术已经被证实难以在 WebRTC 1.0 中的 SDP 中以可互操作的方式支持。相对而言,在 JavaScript 对象 API 中利用这些高级视频技术会更简单。

此外, ORTC FAQ 中的问题,也让大家发现需要创建新的 web 通信规范:

通过 JavaScript,ORTC 可以更好地访问更多控件。这样,在 web 开发者构建实时通信应用程序和特性的时候,就有更多能力和灵活性。比方说:分层视频编码、根据每个轨道设置编码格式等等。

并且

ORTC 的主要 API 都是用 JavaScript 编写的。想要在 WebRTC 1.0 中修改同样的控件,可能需要浏览源代码的变化。当我们问 web 开发者更喜欢哪种的时候,大多数人都说更喜欢在应用程序中可以访问更多控件,而不需要等浏览器或者其他软件厂商的更新。

既然微软和 Google 都在推动 ORTC,大家可能会想,WebRTC 会走向何方? 由于多家浏览器厂商——Google、Mozilla、Opera、微软——都已经投入大量资金来支持 WebRTC,所以它不会被抛弃,而是会做调整来支持 ORTC。据 Google 的 Justin Uberti 所说,WebRTC 1.1 会集成 ORTC(参见这个视频@ 29m20s )。因此,开发者不需要重新编写他们的RTC 应用程序,但是还是建议转而使用ORTC API,因为在浏览器中使用它更自然一些。

在GitHub 上有大量类库帮助开发者使用ORTC: 针对客户端的 JavaScript shim library for WebRTC 、针对服务端应用程序的 Node.js 库以及针对移动设备的 C++ wrapper

据 Uberti 和 Google 的 Serge Lachappelle 所说,迄今为止已经有大概 450 家公司开发了 WebRTC 应用,并且有大概 17 亿台设备支持它(参见视频@ 43m40s ),到2018 年,这个数量预计会增长到40 亿,因为在所有那些设备中,WebRTC 会被用于视频聊天,语音通话、文件共享等等,Google 的一个团队还演示通过WebRTC 操作带有3D 摄像头的路虎汽车(参见视频@ 2m36s )。

查看英文原文: ORTC and the Future of WebRTC

2014-08-25 01:556310
用户头像

发布了 340 篇内容, 共 122.5 次阅读, 收获喜欢 13 次。

关注

评论

发布
暂无评论
发现更多内容

【CSS】格仔背景

德育处主任

html css3 大前端 CSS小技巧 28天写作

HASH碰撞问题一直没真正搞懂?这下不用慌了

架构精进之路

算法 hash 七日更 28天写作

虚拟币钱包APP系统开发|虚拟币钱包软件开发

系统开发

Nginx架构赏析

旺旺

nginx 架构 中间件

当情绪生病?就嫁接一段新的记忆「幻想短篇 16/28」

道伟

28天写作

我是这样使用极客时间APP的

熊斌

极客时间 28天写作

2021开启数据结构与算法的学习之旅

Nick

学习 flag 新年计划

架构师训练营第四周作业

跳蚤

Mac 电脑安装Etcd和Go的etcd/clientv3

BigYoung

Mac etcd client Go 语言

架构师训练营第四周学习总结

跳蚤

Dockerfile ENV 使用指南

K8sCat

Docker Dockerfile ENV ARG

Spring Boot 中集成Lucence

武哥聊编程

Java springboot SpringBoot 2 28天写作 Lucence

产品经理训练营作业-第二周-产品思维和产品意识

.nil?

产品经理训练营

JVM垃圾回收机制是怎样的,何时触发YoungGC或FullGC操作?

Java鱼仔

Java 面试 JVM 垃圾回收

一起进阶一起拿高工资!Java开发进阶-log4j2日志脱敏原理分析

看点代码再上班

Java 程序员 log4j 编程开发

“苹果陷阱”无法避免,但我们已经在路上

JiangX

苹果 供应链 28天写作 制造业

「架构师训练营 4 期」 第四周 - 001

凯迪

网络出口究竟选择防火墙,还是路由器?

第九周 性能优化(三)课后作业

简简单单

产品经理训练营笔记-产品思维和产品意识(中)

.nil?

产品经理训练营

产品 0 期 - 第二周作业

Jxin

项目管理系列(9)- 项目分析与报告

Ian哥

28天写作

Elasticsearch 乐观锁并发控制

escray

elastic 七日更 28天写作 死磕Elasticsearch 60天通过Elastic认证考试

数字货币交易所软件开发|数字货币交易所系统APP开发

系统开发

区块链交易所APP开发|区块链交易所系统软件开发

系统开发

第二次作业

秦挺

如何快速提升自己的能力?高效学习让你更出类拔萃。

一笑

学习方法 28天写作

第九周 学习总结

简简单单

新荣耀历险记:带着“神装”踏上英雄试炼路

脑极体

Mysql 4种方式避免重复插入数据!

xcbeyond

MySQL MySQL使用 28天写作

碎碎念之「卡马克的反脆弱想法生成系统」

Justin

心理学 创意 28天写作 反脆弱

ORTC以及WebRTC的未来_JavaScript_Abel Avram_InfoQ精选文章