Android IOS WebRTC 音视频开发总结(二二)-- 多人视频架构模式
本文主要介绍多人视频会议服务端架构方式,文章来自博客园RTC.Blacker,转载必须说明出处,欢迎关注个人微信公众号blacker,更多详见www.rtc.help
随着移动互联网的迅速发展,很多公司都想介入在线教育、智能家居、多人视频、安防监控等领域,虽然都是视频通讯,但他们服务端的架构与点对点通讯大不想同,
大部分情况下的单人视频通话可能根本不需要用到流媒体服务,而多人视频,在线教育这些则必须用到,所以下面主要介绍多人视频中服务端架构模式,以及各自特点:
一,Mesh结构.
这是最简单的多人视频通话架构模式,所有媒体流都不需要经过服务端,客户端直接P2P,可通过webrtc建立多个PeerConnection,结构图如下:

该方案优点:
1,服务端压力最小,大多数情况下不需要用到流媒体服务。
该方案缺点:
2,客户端负载太大,不事宜扩展,特别是移动端,编解码压力会非常大.
二,Mixer结构:
视频会议基本上就是种结构,他的最大特点就是服务端做了很多事情,包括转码,混音,合屏,所以服务端负载非常大,结构图如下:

该方案优点:
1.1,客户端负载最小,与一对一负载一样,所以理论上可以支持很多人同时视频。
1.2,因为服务端有做编解码,所以可与现有产品无缝集成。
1.3,可以最大程度利用硬件能力,如硬件MCU,芯片。
该方案缺点:
1.1,服务端负载很大,建设成本很高。
1.2,延迟问题,因为服务端做了很多动作(解码,合屏,混音,编码),所以会带来延迟。
三,Router结构
该方案最大特点就是服务端只负责包转发,不负责转码,yy流媒体服务基本上就是这个功能,结构图如下.

该方案优点:
1.1,与Mixer相比服务端压力比较小,而且容易扩展。
1.2,低延迟,特别是与SVC结合能大大提升客户端体验度(貌似h265和vp9才开始集成svc)。
该方案缺点:
1.1,考虑到不同客户端需要不同的接收能力,所以真正实现下来服务端的架构也并不简单。
补充说明:
1,因为各种模式都有自己的优缺点,所以实际应用中您应该根据自己的具体业务选择适合的架构模式。
2,现在有很多开源框架和PAAS可以做上面这些事情,但是实际应用中都存在这样的问题,并不成熟。
Android IOS WebRTC 音视频开发总结(二二)-- 多人视频架构模式的更多相关文章
- Android IOS WebRTC 音视频开发总结(四六)-- 从另一个角度看国内首届WebRTC大会
文章主要从开发者角度谈国内首届WebRTC大会,支持原创,文章来自博客园RTC.Blacker,支持原创,转载必须说明出处,更多详见www.rtc.help. -------------------- ...
- 转: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 音视频开发总结(六)-- iOS开发之含泪经验
前段时间在搞webrtc iOS开发,所以将标题改为了Android IOS WebRTC 音视频开发总结, 下面都是开发过程中的经验总结,转载请说明出处(博客园RTC.Blacker): 1. IO ...
- Android IOS WebRTC 音视频开发总结(二五)-- webrtc优秀资源汇总
本文主要整理一些webrtc相关资料供学习(会持续更新),转载请说明出处,文章来自博客园RTC.Blacker,欢迎关注微信公众号:blackerteam ---------------------- ...
- Android IOS WebRTC 音视频开发总结(十)-- webrtc入门002
继续上一篇中未翻译完成的部分,主要包括下面三个部分: 1,扩展:WebRTC多方通话. 2,MCU Multipoint Control Unit. 2, 扩展:VOIP,电话,消息通讯. 注意:翻译 ...
- Android IOS WebRTC 音视频开发总结(三二)-- WebRTC项目开发建议
本文主要介绍WEBRTC开发过程中的一些现象,文章来自博客园RTC.Blacker,支持原创,欢迎关注微信公众号blacker,更多详见www.rtc.help 随着移动互联网和智能硬件的快速发展,音 ...
- Android IOS WebRTC 音视频开发总结(二九)-- 安卓噪声消除交流
Android上的音质一直被大家所困扰和诟病,这里面有很多原因, 下面是最近一位前UC同行发邮件跟我交流的一些记录,供参考,支持原创,文章来自博客园RTC.Blacker,转载请说明出处. 以下文字来 ...
随机推荐
- Nginx_修改Web服务器头信息(Header)里的Server值[转]
http://blog.rekfan.com/?p=122 黑客攻击一个网站,往往需要了解服务器的架构,网站的架构等信息,了解了这些信息,就知道网站薄弱的地方在哪里了! 为了不让对方知道自己的w ...
- C#EasyHook例子C# Hook 指定进程C#注入指定进程 z
http://bbs.msdn5.com/thread-75-1-1.html http://pan.baidu.com/s/1pJDgHcR
- PDF按模板出力,多个PDF合并
const string TEMP_PREXFIX = "Temp_"; ...
- ruby中迭代器枚举器的理解
参考<ruby编程语言>5.3迭代器和可枚举对象 迭代器一个迭代器是一个方法,这个方法里面有yield语句,这个方法里的yield语句,与传递给这个方法的块进行数据传输 yield将数据传 ...
- *(volatile unsigned long *) 语法
#define GPJ2CON (*(volatile unsigned long *) 0xE0200280) 开始对于上面的语法不太理解,但通过拆分,我们可以看的更明白: 1.(unsigned ...
- 对 HTTP 304 的理解(转-并增加自己的测试)
作者:吴俊杰 性别:男 邮箱:sshroot@126.com 文章类型:原创 博客:http://www.cnblogs.com/voiphudong/ 转自: http://www.cnblogs. ...
- [Flex] ButtonBar系列——labelFunction用户提供的函数,在每个项目上运行以确定其标签
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="ht ...
- jquery mobile导致无法修改textarea的高度
在引用了jquery mobile的js库和样式的页面中,添加textarea标签,会导致无法调整其height属性,不管是用CSS还是JS,最终都会被替换成height=52px 解决办法:在页面中 ...
- HTTP权威指南一
HTTP——因 特网的多媒体信使 每天, 都有数以亿万计的 JPEG 图片. HTML 页面. 文本文件. MPEG 电影. WAV音频文件. Java 小程序和其他资源在因 特网 上游弋. HTTP ...
- Font-Awesome for android
Font-Awesome 是为Bootstrap设计的一个图标集合字体,里面包含了300多个常用图标.使用Font-Awesome还具有如下优点: 1. 减少了图标的绘制工作 2. 可以设置图标的颜色 ...