本文主要介绍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. 加密--win7下安装openssl

    http://www.cnblogs.com/ZhouL3777/archive/2012/10/21/2732890.html http://www.cnblogs.com/ZhouL3777/ar ...

  2. Guava 12-数学运算

    范例 int logFloor = LongMath.log2(n, FLOOR); int mustNotOverflow = IntMath.checkedMultiply(x, y); long ...

  3. C#引用类型详细剖析(转)

    C#引用类型和值类型的区别——值类型和引用类型在内存中的部署 经常听说,并且经常在书上看到:值类型部署在栈上,引用类型部署在托管堆上.实际上并没有这么简单. MSDN上说:托管堆上部署了所有引用类型. ...

  4. EXPDP

    源地址:http://blog.csdn.net/zftang/article/details/6387325

  5. C++学习11 类和new、delete操作符 类与const关键字

    如果你是Java.C#.PHP程序员,那么会对 new 非常熟悉,在这些编程语言中,只能通过 new 来创建对象. 在C++中,你可以像定义变量一样来创建对象,如: Student stu; //对象 ...

  6. 异步任务神器 Celery 简明笔记

    转自:http://www.jianshu.com/p/1840035cb510 异步任务 异步任务是web开发中一个很常见的方法.对于一些耗时耗资源的操作,往往从主应用中隔离,通过异步的方式执行.简 ...

  7. nyoj 61 传纸条

    点击打开链接 传纸条(一) 时间限制:2000 ms  |  内存限制:65535 KB 难度:5 描述 小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题.一次素质拓展活动中,班上同学安排做 ...

  8. C++容器类概述

    原文转自:http://blog.csdn.net/wangxiaolong_china/article/details/8362540 什么是容器 首先,我们必须理解一下什么是容器,在C++ 中容器 ...

  9. JQuery上传插件uploadify整理(Events)

    Arguments fileThe file object being cancelled onCancel:调用calcel方法.$('#upload').uploadify('cancel'); ...

  10. UIButton 详解

    1)创建 UIButton *btn1 = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 风格有如下 typedef enum { UIButt ...