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,转载请说明出处. 以下文字来 ...
随机推荐
- JAVA 数组算法(复制、查找、插入)
一.复制数组算法 //数组复制算法 public class Test{ public static void main(String[] args){ int[] arrA = {100,800,5 ...
- Windows 64位下安装Redis详细教程
方法/步骤 在D盘新建文件夹[redis],右键解压Redis ZIP包,把所有文件解压到redis文件夹中.(其他盘符也可以滴^_^) 文件介绍: redis-benchmark.exe ...
- JS正则实例
<html> <body> </body> </html> <script> var strSrc = "xxa1b01c001y ...
- 解决CI框架的Disallowed Key Characters错误提示
用CI框架时,有时候会遇到这么一个问题,打开网页,只显示 Disallowed Key Characters 错误提示.有人说 url 里有非法字符.但是确定 url 是纯英文的,问题还是出来了.但清 ...
- [Flex] PopUpButton系列 —— 添加按钮图标
<?xml version="1.0" encoding="utf-8"?><!--为主按钮添加默认图标 PopUpButtonIcon.mx ...
- MyEclipse运行时自动保存
今天第一次用MyEclipse,我发现我的代码明明修改了,但运行结果发现总是修改前的代码结果.后来发现,是代码修改后必须保存,再点运行.这个功能明显不合适,所以需要更改MyEclipse的配置.红框是 ...
- 关于WebView的内存泄露问题
在一个Activity中包含着一个WebView,通过WebView不停的访问Web页面,会发现内存会一直增长,退出此Activity,甚至杀死此Activity,内存依然没有被释放.这就导致,即使是 ...
- List集合分组
var ArticleList = new Services.Data.SearchService().GetArticleBaseList(ref param); IEnumerable<IG ...
- android View 自动 GONE 问题
首先说一下 view visibility VISIBLE.INVISIBLE.GONE的区别: 可见(visible) XML文件:android:visibility="visible& ...
- Battery-historian 参数说明
部分参数说明 battery_level 电量,可以看出电量的变化.比如上图中的数据显示刚开始电量是100%,然后在第11秒-12秒中间的某个时刻降到了99%. plugged 充电状态,这一栏显示是 ...