Android IOS WebRTC 音视频开发总结(四五)-- ORTC背后的真相
本文主要介绍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背后的真相的更多相关文章
- 转:Android IOS WebRTC 音视频开发总结 (系列文章集合)
随笔分类 - webrtc Android IOS WebRTC 音视频开发总结(七八)-- 为什么WebRTC端到端监控很关键? 摘要: 本文主要介绍WebRTC端到端监控(我们翻译和整理的,译 ...
- Android IOS WebRTC 音视频开发总结(八十五)-- 使用WebRTC广播网络摄像头视频(下)
本文主要介绍WebRTC (我们翻译和整理的,译者:weizhenwei,校验:blacker),最早发表在[编风网] 支持原创,转载必须注明出处,欢迎关注我的微信公众号blacker(微信ID:bl ...
- Android IOS WebRTC 音视频开发总结(八十三)-- 使用WebRTC广播网络摄像头视频(上)
本文主要介绍WebRTC (我们翻译和整理的,译者:weizhenwei,校验:blacker),最早发表在[编风网] 支持原创,转载必须注明出处,欢迎关注我的微信公众号blacker(微信ID:bl ...
- Android IOS WebRTC 音视频开发总结(四六)-- 从另一个角度看国内首届WebRTC大会
文章主要从开发者角度谈国内首届WebRTC大会,支持原创,文章来自博客园RTC.Blacker,支持原创,转载必须说明出处,更多详见www.rtc.help. -------------------- ...
- Android IOS WebRTC 音视频开发总结(六)-- iOS开发之含泪经验
前段时间在搞webrtc iOS开发,所以将标题改为了Android IOS WebRTC 音视频开发总结, 下面都是开发过程中的经验总结,转载请说明出处(博客园RTC.Blacker): 1. IO ...
- Android IOS WebRTC 音视频开发总结(二四)-- p2p调用堆栈
本文主要分析webrtc音视频点对点部分的代码结构,文章来自博客园RTC.Blacker,转载请说明出处. 前段时间在查一个偶尔断线的问题(这种问题最蛋疼,不好重现,只能凭经验去搞),所以理了下web ...
- Android IOS WebRTC 音视频开发总结(二三)-- hurtc使用说明
本文主要介绍如何测试基于浏览器和手机的视频通话程序,转载请说明出处,文章来自博客园RTC.Blacker,更多详见www.blackerteam.com 很多人想测试浏览器(包括浏览器版本和桌面e ...
- Android IOS WebRTC 音视频开发总结(六十)-- 您为什么招不到适合的音视频人才
本文主要介绍音视频行业招聘现状,文章最早发表在我们的微信公众号上,详见这里,欢迎关注微信公众号blackerteam,更多详见www.blackerteam.com 有过音视频人才招聘经验的应该都深有 ...
- Android IOS WebRTC 音视频开发总结(五七)-- 网络传输上的一种QoS方案
本文主要介绍一种QoS的解决方案,文章来自博客园RTC.Blacker,欢迎关注微信公众号blacker,更多详见www.rtc.help QoS出现的背景: 而当网络发生拥塞的时候,所有的数据流都有 ...
随机推荐
- js对象继承
方法: 1.原型链继承 2.使用对象冒充继承
- Android系统onKeyDown监控/拦截/监听/屏蔽返回键、菜单键和Home键
在Android系统中用来显示界面的组件(Component)为Activity,也就是说只有重写Activity的onKeyDown方法来监控/拦截/屏蔽系统的返回键(back).菜单键(Menu) ...
- C++ operator 知识点 2
http://blog.csdn.net/szlanny/article/details/4295854 operator它有两种用法,一种是operator overloading(操作符重载),一 ...
- GDI+ 中发生一般性错误。
GDI+ 中发生一般性错误. “/wechat”应用程序中的服务器错误. GDI+ 中发生一般性错误. 说明: 执行当前 Web 请求期间,出现未经处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及 ...
- linux查看和开放某端口
查看某端口是否已打开: netstat -nulp //UDP端口netstat -ntlp //TCP端口 或者:lsof -i:port-num 开放某端口: 在/etc/sysconfig/ip ...
- Linux设置服务自启动(转载)
From:http://www.cnblogs.com/nerxious/archive/2013/01/18/2866548.html 有时候我们需要Linux系统在开机的时候自动加载某些脚本或系统 ...
- Android之SQLite
在模拟器运行的情况下,进入cmd运行adb shell 可进入模拟器的linux系统输入 lite3 mars_test_db 可进入sqlite模式.schema或者.sch 查看有哪些表 SQLi ...
- java 、android 知识图谱
java知识图谱: android知识图谱: 照此图练习,神功自成.....
- [Flex] ButtonBar系列——垂直布局
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="ht ...
- zabbix 修改输出web前端图片的日期格式
zabbix并没有给定一个全局或者用户级别的时间格式定义方式. 实在看不惯的话,可以自己修改源代码来实现修改. 暂时研究了半小时,先把展示图片修改了. 后续有更严谨的方案,再更新此文吧. ------ ...