本文主要介绍ORTC(Object Real-time Communication),支持原创,文章来自博客园RTC.Blacker,支持原创,转载必须说明出处,更多详见www.rtc.help。

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

一个WebRTC就已经搞得我们晕头转向的,现在又弄出个ORTC(去年已经提出这个概念了),他们之间有什么关系和差别呢?

直白一点说就是:一些浏览器厂商刚开始不太愿意配合搞HTML5中的RTC规范(比如微软,因为动了他的奶酪),google和firefox就只能自己先搞了,

搞了两年其他人看到这个东西是个趋势,也有点想参与了,但不好意思说出来,所以就开始挑WebRTC的问题,比如:

1,sdp格式晦涩难懂——这是事实,我每次都要对着文档去查。

2,太多高层次的API,以及没有严格的标准规范,火狐和chome一些写法还搞得不一样。

3,无法真正解决历史遗留系统得兼容性问题。

4,要求没有得到应答。

5,等等等等。

正因为存在这么多问题,所以之前那些不怎么积极的厂商就可以名正言顺的插进来一起搞了,各家都派个代表进来,成立个标准组织,制订些新的标准,就这样ORTC就诞生了,其实也可以称作是WebRTC2.0或WebRTC3.0,只不过进来的门派多了,规格要提高,干脆改个全新的名字,这样ORTC就诞生了.

下面我们看看WebRTC和ORTC各自的官网对比:

--------------------------------------------------

--------------------------------------------------

从官网上我们可以知道下面几个信息:

1,他们的本质和使命没有多大差别,主要是组织结构上加了几个新成员(主要是加上了之前不愿配合的那几个人)。

2,www.webrt.org官网需要FQ才能打开,www.ortc.org可直接打开,原因你懂的。

---------------------------------------------------

下面再来看看他们的api构成:

--------------------------------------------------

--------------------------------------------------

这两张图说明:他们的api并没有太大差别,最终都是围绕connection,track,candidate进行。

---------------------------------------

对我们开发人员来说要注意的就是:

不管他名字怎么改(以后可能会有ARTC,BRTC,CRTC),我们用的代码都是那一套,底层操作,如音视频采集,编解码,传输这些都一样,

我们用的都是google提供的webrtc,因为不管是微软还是苹果,一时半会,一年半载不可能将他的东西开源出来,呵呵。

-----------------------------------------------------

所以通过ORTC这个概念的诞生我们可以看到WebRTC已经越来越火,包括一些大的厂商已经开始重兵进入,比如因特尔。

很多人可能以为因特尔是做硬件的,怎么会跟webrtc这种软件开发扯上关系,想想下面这个问题你就明白了:

WebRTC只是个客户端,做视频会议需要用到服务端,需要MCU,而这种东西是可以通过硬件实现,硬件就是芯片,芯片是谁生产的?

所以为了更好支持WebRTC,因特尔连客户端sdk都给我们封装好了,直接用它的东西就行,见下图:

-------------------------------------------------

当然了除了因特尔这些做硬件的大佬外,还有很多提供音视频sdk的厂商也在用webrtc这套东西,下面是反编译某大佬sdk中的部分代码结构:

------------------------------------------------

从我们接触的情况看国内做音视频相关开发的公司,没几家没用过WebRTC这套东西的,只不过用的程度不一样罢了,还有他们对外宣传的时候都会说是什么什么团队,高手解决了什么难题,达到了什么效果,绝对不会说用了webrtc的东西,呵呵,这也是国情使然。

------------------------------------------

再引申一些相像空间:google当年开源WebRTC 的时候肯定想到这些问题,比如有人偷偷用了他们的东西,又死不承认,然后改完又不继续开源,

而且他那些语音处理都是核心技术,所以这些时候换成你是CEO你会怎么做?

所以他可能会将某些核心的模块没有开源出来,或者用一个次品代码,等时机成熟再将核心的东西放出来,估计换成是你你也会这么做,呵呵!

所以说到这里再谈谈我对WebRTC的看法:

“WebRTC就是屠龙刀,用好了威力无穷,用不好后患无穷,所以学会用火找到会用的人很重要”。

-------------------------------------------

支持原创,支持blacker,喜欢这系列的文章或想与我交流RTC开发的相关问题,请关注我的微信公众号blacker,或扫描下方二维码:

,谢谢

Android IOS WebRTC 音视频开发总结(四五)-- ORTC背后的真相的更多相关文章

  1. 转:Android IOS WebRTC 音视频开发总结 (系列文章集合)

    随笔分类 - webrtc   Android IOS WebRTC 音视频开发总结(七八)-- 为什么WebRTC端到端监控很关键? 摘要: 本文主要介绍WebRTC端到端监控(我们翻译和整理的,译 ...

  2. Android IOS WebRTC 音视频开发总结(八十五)-- 使用WebRTC广播网络摄像头视频(下)

    本文主要介绍WebRTC (我们翻译和整理的,译者:weizhenwei,校验:blacker),最早发表在[编风网] 支持原创,转载必须注明出处,欢迎关注我的微信公众号blacker(微信ID:bl ...

  3. Android IOS WebRTC 音视频开发总结(八十三)-- 使用WebRTC广播网络摄像头视频(上)

    本文主要介绍WebRTC (我们翻译和整理的,译者:weizhenwei,校验:blacker),最早发表在[编风网] 支持原创,转载必须注明出处,欢迎关注我的微信公众号blacker(微信ID:bl ...

  4. Android IOS WebRTC 音视频开发总结(四六)-- 从另一个角度看国内首届WebRTC大会

    文章主要从开发者角度谈国内首届WebRTC大会,支持原创,文章来自博客园RTC.Blacker,支持原创,转载必须说明出处,更多详见www.rtc.help. -------------------- ...

  5. Android IOS WebRTC 音视频开发总结(六)-- iOS开发之含泪经验

    前段时间在搞webrtc iOS开发,所以将标题改为了Android IOS WebRTC 音视频开发总结, 下面都是开发过程中的经验总结,转载请说明出处(博客园RTC.Blacker): 1. IO ...

  6. Android IOS WebRTC 音视频开发总结(二四)-- p2p调用堆栈

    本文主要分析webrtc音视频点对点部分的代码结构,文章来自博客园RTC.Blacker,转载请说明出处. 前段时间在查一个偶尔断线的问题(这种问题最蛋疼,不好重现,只能凭经验去搞),所以理了下web ...

  7. Android IOS WebRTC 音视频开发总结(二三)-- hurtc使用说明

    本文主要介绍如何测试基于浏览器和手机的视频通话程序,转载请说明出处,文章来自博客园RTC.Blacker,更多详见www.blackerteam.com   很多人想测试浏览器(包括浏览器版本和桌面e ...

  8. Android IOS WebRTC 音视频开发总结(六十)-- 您为什么招不到适合的音视频人才

    本文主要介绍音视频行业招聘现状,文章最早发表在我们的微信公众号上,详见这里,欢迎关注微信公众号blackerteam,更多详见www.blackerteam.com 有过音视频人才招聘经验的应该都深有 ...

  9. Android IOS WebRTC 音视频开发总结(五七)-- 网络传输上的一种QoS方案

    本文主要介绍一种QoS的解决方案,文章来自博客园RTC.Blacker,欢迎关注微信公众号blacker,更多详见www.rtc.help QoS出现的背景: 而当网络发生拥塞的时候,所有的数据流都有 ...

随机推荐

  1. bug_ _图片_android.view.InflateException: Binary XML file line #1: Error inflating class <unknown>

    =========== 1   java.lang.RuntimeException: Unable to start activity ComponentInfo{com.zgan.communit ...

  2. 使用WebStorm/Phpstorm实现remote host远程开发

    如果你的开发环境是在远程主机上,webstorm可以提供通过ftp/ftps/sftp等方式实现远程同步开发.这样我们可以就抛弃ftp. winscp等工具,通过webstorm编辑远程文件以及部署, ...

  3. OOP三个基本特征:封装、继承、多态

    面向对象的三个基本特征是:封装.继承.多态. 封装 封装最好理解了.封装是面向对象的特征之一,是对象和类概念的主要特性. 封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类 ...

  4. jsp页面编译成Servlet类文件

    package org.apache.jsp; import javax.servlet.*; import javax.servlet.http.*; import javax.servlet.js ...

  5. EF中使用SQL语句或存储过程

    EF中使用SQL语句或存储过程 1.无参数查询var model = db.Database.SqlQuery<UserInfo>("select* from UserInfoe ...

  6. 九度OJ1084

    这道题一旦想开,其实思想十分简单的. 首先考虑n为奇数的情况,不难知f(n)=f(n-1).(只需要把n的所有拆分式-1即可……) 然后考虑n为偶数的情况,将拆分式划分为两种情况:一种是式子中带1的, ...

  7. HttpRequestValidationException (0x80004005) 的三种可能的解决方法

    从客户端中检测到有潜在危险的 Request.Form 值 从客户端(txtSupplement="<textarea name="cont...")中检测到有潜在 ...

  8. 项目管理: Maven 让事情变得简单

    http://maven.apache.org/,  Maven其实就是为java实现的一个构建工具.他比Ant更高端. 目前,绝大多数开发人员都把 Ant 当作 Java 编程项目的标准构建工具.遗 ...

  9. ORA-00245: control file backup failed; target is likely on a local file system (转载)

    环境:DB VERSION: 11.2.0.4.0RAC 2 nodes 问题:邮件显示rman备份失败,查看rman备份日志 Starting Control File and SPFILE Aut ...

  10. ASP.Net软件工程师基础(二)

    1.封装 答:属性封装了字段,通过get和set访问器限制字段对外开放的程度:将重复的代码封装成方法,实现DCR原则(Don't Copy yourself):方法的参数组合可以用类实现,即在方法中不 ...