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,转载请说明出处. 以下文字来 ...
随机推荐
- centos6.5安装配置fastdfs+nginx实现分布式图片服务器
一.准备 yum groupinstall -y "Development Tools"yum install -y wget libevent-devel pcre-devel ...
- centos7配置笔记
原因:前两天服务器的硬盘出故障,报错:scsi 0:0:2:0: rejecting I/O to dead device,报这个错误的时候重启过一次,撑了一个月时间,现在直接导致整个文件系统崩溃.很 ...
- Double-checked locking and the Singleton pattern--双重检查加锁失效原因剖析
以下内容摘取自http://stackoverflow.com/questions/11195389/out-of-order-writes-for-double-checked-locking Th ...
- ylbtech-Unitity-CS:Indexers
ylbtech-Unitity-CS:Indexers 1.A,效果图返回顶部 1.B,源代码返回顶部 1.B.1, // indexer.cs // 参数:indexer.txt using S ...
- 20145305 《Java程序设计》第8周学习总结
教材学习内容总结 1.NIO使用频道来衔接数据节点,可以设定缓冲区容量,在缓冲区中对感兴趣的数据区块进行标记,提供clear().rewind().flip().compact()等高级操作 2.想要 ...
- clipse在编写JSP时没有代码提示
alt /不会出提示按照下面步骤做 1.菜单window- >Preferences- >Java- >Editor- >Content Assist- >Enable ...
- svn: E175002: can not read HTTP status line
问题:eclipse连接svn:https://bdsvn-pc/svn/Project,报错svn: E175002: can not read HTTP status line 解决办法:将域名改 ...
- ElasticSearch 的 聚合(Aggregations)
Elasticsearch有一个功能叫做 聚合(aggregations) ,它允许你在数据上生成复杂的分析统计.它很像SQL中的 GROUP BY 但是功能更强大. Aggregations种类分为 ...
- LeetCode 107. Binary Tree Level Order Traversal II
Given a binary tree, return the bottom-up level order traversal of its nodes' values. (ie, from left ...
- hcatalog配置
https://cwiki.apache.org/confluence/display/Hive/HCatalog+CLI hive的配置中添加: export PATH=$PATH:$HIVE ...