Android IOS WebRTC 音视频开发总结(十)-- webrtc入门002
继续上一篇中未翻译完成的部分,主要包括下面三个部分:
1,扩展:WebRTC多方通话.
2,MCU Multipoint Control Unit.
2, 扩展:VOIP,电话,消息通讯.
注意:翻译的时候不是逐字逐句的,而是按照自己的理解翻译的,同时为了便于理解,也加入一些自己组织的语言.
转载请说明出处: http://www.cnblogs.com/lingyunhu.
英文来自:http://www.html5rocks.com/en/tutorials/webrtc/infrastructure/
1对1扩展: WebRTC多方通话
或许你可以先看看Justin Uberti提出的IETF标准.REST API for access to TURN Services.
1对1通话之外的用户使用情形很容易想象,例如:大学之间的视频会议,或者是公共事件处理,一个人说几百个人听.在网状结构的网络中webrtc客户端能够使用
多个RTCPeerConnections与其他各个客户端之间建立连接,talky.io用的就是这种方法,客户端不多的时候这种方式效果非常好,
只不过这样会占用很大部分的带宽和CPU,特别是对手机端而言.

完整的网状拓扑:每个人彼此相连
另外,webrtc客户端能够选择一个客户端直接发送流数据给其他客户端,在这种星状网络结构中,可以直接做一个发布发布服务端,客户端将流发给服务端,
服务端再推送给各个客户端,以减轻客户端压力,特别是移动端,webrt.org提供了一个例子.(sample client application)
从Chrome 31和Opera18开始,来自一个RTCPeerConnection的流数据能够作为其他端点的输入源,Demo链接(simpl.info/multi),这种能够支持更灵活的架构,
因为他使客户端能够选择和哪个远程端点建立呼叫链接.
多点控制单元
大量客户端视频通话的更好处理方案是使用Multipoint Control Unit,他是一个服务器,主要是用来在各客户端之间发布流媒体数据,
MCU能处理视频会议中不同的分辨率,帧率,编码.能够处理转码,做选择性的流媒体转发,混音,音视频数据的录制,
对多人视频来说这里有很多问题要处理,如多人视频怎么显示?混音怎么处理?
像 vLine这样的云平台也正在试着优化网络路由.
如果可能您也可以通过买一个MCU硬件包来创建您自己的路由服务.

cisco MCU背面图.
扩展:VOIP,电话和消息
webrtc的标准化属性使得通过浏览器与其他通讯平台的进行通讯是可能的,如电话,视频会议.
SIP就是VOIP和视频会议的信令协议,如果sip客户端要与webrtc客户端之间建立通讯,首选必须有一个服务端来转换信令,
当然如果您的webrtc客户端用的也是sip协议就不用转接了,通讯建立后,就是流媒体的转接,因为两边音视频编码不一样,
所以需要有一个服务端做码流转换,如webrtc用的是VP8视频编码,一般视频会议用的都是H264.
PSTN (Public Switched Telephone Network),他是普通模拟电话的电路交换网络,因此如果webrtc客户端想与电话互通,首先得经过PSTN网关.
同样,webrtc客户端要与遵循Jingle协议的IM客户端互通,其必须有服务器来转换信令,其中Jingle由Google开发的,在XMPP基础上扩展,以支持音视频,Google Talk中用到的就是Jingle. Jingle,不过想与QQ之间互通就有点难了,QQ用的自己定义的格式,不过他们也不想也外面的产品直接互通,至于原因你懂的.
已经有很多产品通过充分利用webrtc来与外部产品进行通讯,如:
sipML5:开源的javascript sip客户端.
jsSIP:javascript sip库.
Phono:开源javascript电话库.
Zingaya:一种嵌入式手机部件
Twilio:语音和消息.
Uberconference:会议.
sipML5的开发者已经创建了webrtc2sip网关,还有webrtc通过使用OpenBTS cell在电话和电脑之间通讯.
更多...
WebRTC codelab: 一步步的操作告诉你怎么创建一个文本和视频的聊天应用,他用的是运行在Node上的Socket.io信令服务.
2013 Google I/O WebRTC presentation with WebRTC tech lead, Justin Uberti.
Chris Wilson's SFHTML5 presentation: Introduction to WebRTC Apps.
这本书(WebRTC Book)给出了详细介绍关于数据和信令通道, 也包括网络拓扑图的细节.
WebRTC and Signaling: What Two Years Has Taught Us: TokBox的博客介绍了为什么没有在规范中定义信令是一个好主意.
Ben Strong's presentation A Practical Guide to Building WebRTC Apps 提供了许多WebRTC的拓扑结构和基础设施架构.
The WebRTC chapter in Ilya Grigorik's High Performance Browser Networkinggoes deep into WebRTC architecture, use cases and performance.
以上如果错误和遗漏,欢迎纠正和补充,不胜感激.
Android IOS WebRTC 音视频开发总结(十)-- webrtc入门002的更多相关文章
- Android IOS WebRTC 音视频开发总结(八十五)-- 使用WebRTC广播网络摄像头视频(下)
本文主要介绍WebRTC (我们翻译和整理的,译者:weizhenwei,校验:blacker),最早发表在[编风网] 支持原创,转载必须注明出处,欢迎关注我的微信公众号blacker(微信ID:bl ...
- Android IOS WebRTC 音视频开发总结(八十三)-- 使用WebRTC广播网络摄像头视频(上)
本文主要介绍WebRTC (我们翻译和整理的,译者:weizhenwei,校验:blacker),最早发表在[编风网] 支持原创,转载必须注明出处,欢迎关注我的微信公众号blacker(微信ID:bl ...
- 转:Android IOS WebRTC 音视频开发总结 (系列文章集合)
随笔分类 - webrtc Android IOS WebRTC 音视频开发总结(七八)-- 为什么WebRTC端到端监控很关键? 摘要: 本文主要介绍WebRTC端到端监控(我们翻译和整理的,译 ...
- Android IOS WebRTC 音视频开发总结(四六)-- 从另一个角度看国内首届WebRTC大会
文章主要从开发者角度谈国内首届WebRTC大会,支持原创,文章来自博客园RTC.Blacker,支持原创,转载必须说明出处,更多详见www.rtc.help. -------------------- ...
- Android IOS WebRTC 音视频开发总结(六)-- iOS开发之含泪经验
前段时间在搞webrtc iOS开发,所以将标题改为了Android IOS WebRTC 音视频开发总结, 下面都是开发过程中的经验总结,转载请说明出处(博客园RTC.Blacker): 1. IO ...
- WebRTC 音视频开发
WebRTC 音视频开发 webrtc Android IOS WebRTC 音视频开发总结(七八)-- 为什么WebRTC端到端监控很关键? 摘要: 本文主要介绍WebRTC端到端监控(我们翻译 ...
- Android IOS WebRTC 音视频开发总结(三二)-- WebRTC项目开发建议
本文主要介绍WEBRTC开发过程中的一些现象,文章来自博客园RTC.Blacker,支持原创,欢迎关注微信公众号blacker,更多详见www.rtc.help 随着移动互联网和智能硬件的快速发展,音 ...
- Android IOS WebRTC 音视频开发总结(二四)-- p2p调用堆栈
本文主要分析webrtc音视频点对点部分的代码结构,文章来自博客园RTC.Blacker,转载请说明出处. 前段时间在查一个偶尔断线的问题(这种问题最蛋疼,不好重现,只能凭经验去搞),所以理了下web ...
- Android IOS WebRTC 音视频开发总结(二三)-- hurtc使用说明
本文主要介绍如何测试基于浏览器和手机的视频通话程序,转载请说明出处,文章来自博客园RTC.Blacker,更多详见www.blackerteam.com 很多人想测试浏览器(包括浏览器版本和桌面e ...
- Android WebRTC 音视频开发总结
www.cnblogs.com/lingyunhu/p/3621057.html 前面介绍了WebRTCDemo的基本结构,本节主要介绍WebRTC音视频服务端的处理,,转载请说明出处(博客园RTC. ...
随机推荐
- Win7玩游戏偶尔自动跳转到桌面的解决办法[转]
新装的win7旗舰版SP1,怎么玩wow (魔兽世界.极品飞车.全屏游戏.按键精灵.挂机)总是过一会就自己返回桌面了.刚开始以为是显卡的毛病,更新了驱动还是一样(在这之前,排除病毒,其他驱动问题).因 ...
- 证据对抗、证据链标准 z
证据链乃诉讼中应对证据冲突的法宝 大部分当事人知道“证据链”这一诉讼专用术语,但几乎所有当事人将“证据链”理解成了人证.书证.物证,鉴定结论等证据的组合,将“证据链”视为不同种类证据依次出击的“组 ...
- 庭审全程文字实录 z
备受关注的深圳快播公司涉黄案两日来在北京市海淀法院开庭审理,快播CEO王欣(微博).事业部总经理吴铭.事业部副总经理张克东.事业部副总经理兼市场部总监牛文举出庭接受审理. 面对传播淫秽物品牟利罪的指控 ...
- 区分DPI、分辨率(PPI)、图像的物理大小、像素宽度
分辨率都知道,越高越清晰. 一.描述分辨率的单位有: dpi(点每英寸).lpi(线每英寸)和ppi(像素每英寸).但只有lpi是描述光学分辨率的尺度的.虽然dpi和ppi也属于分辨率范畴内的单 ...
- 常用开源Jabber(XMPP) IM服务器介绍(转)
1. Openfire (Wildfire) 3.x授权: GPL or 商用操作系统平台:所有(使用Java开发)XMPP Jabber 协议实现情况:98%Tim 评价:安装和使用非常简单,安 ...
- C语言 段位
C语言允许在一个结构体中以位为单位来指定其成员所占内存长度,这种以位为单位的成员称为"位段"或"位域" 在结构体中位段的定义格式为: unsignede < ...
- 常用的 Android Studio 快捷键
Android Studio 开发常用快捷键: 整理了使用 Android Studio 开发工具时常用到的一些快捷键,使用快捷键可以极大提高开发效率. 常用的 Android Studio 快捷键: ...
- 如何使weblogic11g类似weblogic923一样统一使用一个boot.properties文件
如何使weblogic11g类似weblogic923一样 统一使用一个boot.properties文件 1.在weblogic域下创建文件boot.properties输入用户密码例如:usern ...
- HDU 5521 [图论][最短路][建图灵感]
/* 思前想后 还是决定坚持写博客吧... 题意: n个点,m个集合.每个集合里边的点是联通的且任意两点之间有一条dis[i]的边(每个集合一个dis[i]) 求同时从第1个点和第n个点出发的两个人相 ...
- 【转】nginx配置location总结及rewrite规则写法
原文:http://seanlook.com/2015/05/17/nginx-location-rewrite/ 1. location正则写法 location = / { # 精确匹配 / ,主 ...