关于webrtc视频会议的解决方案
以我的经验来看视频会议分两种模式:网状模型,星型
1、网状模型
所谓的网状模型就是参加会议的人中每两个人建立一个点对点的连接。
比如:一个会议室有三个人A,B,C 基于网络模型就需要这样:
1、A和B建立连接
2、B和C建立连接
3、A和C建立连接
这样一个三个人的会议就需要建立三条连接 计算方法:3*(3-1)/2
同理:4个人的会议需要建立的连接数4*(4-1)/2 = 6 ,5个人的会议就需要 5*(5-1)/2 = 10
适用场景:这种模型只适合3-4个人参加会议的情况,因为参加会议的人每增加一个,就会增加n-1个连接(n表示参加会议的人数),这样终端的负载会急剧增加。
note: 会议人数每增加一个人,每个终端就会增加一个链接,n个人参加的会议,每个终端就需要建立n-1个连接
2、星型模型
星型模型又分为:通过服务器合成转发和通过某一个终端转发两种情况。
a 、 在3个人的时候也这个使用如下的模型:
1、A,B,C参加会议
2、A 和 B 建立连接
3、B 和 C 建立连接
4、B 转发A的音视频给C,B转发C的音视频给A
这种情况在B的情况的设备性能较高,而A和C的性能较弱的情况下使用,以B为桥梁实现3方通话,这样减轻了服务器的负担。 适用场景:这种模型只适合3个人的会议。
b、通过服务器合成转发
每一个参加会议的人都把自己采集到的音视频发到服务器端,经过服务器的合成之后,分发给每一个参加会议的人。
如下模型:
1、A,B,C参加会议
2、A,B,C分别和服务器建立连接
3、A,B,C把采集到的视音频发往服务器
4、服务器把A,B,C发过的音视频合成之后发到A,B,C
这样无论多少人参加会议,每一个与会的终端都只建立了一个连接,把负载放在服务器端,适用场景:适合4个人以上的会议
这里面有问题:不要让服务器把终端发出的数据再发送回来,如服务器不应该把A发送到服务器的音视频再发送给A,因为那样做的话A就会听(看)到自己的声音(视频),那样做是不合理的
不合理的地方请广大网友指正:243203950
关于webrtc视频会议的解决方案的更多相关文章
- TeleMCU视频会议之Android版本号WebRTC client支持
本文原创自 http://blog.csdn.net/voipmaker 转载注明出处. 最新版本号TeleMCU 添加了Android手机端WebRTC视频会议能力,Android手机安装Chro ...
- 为什么大家都在用WebRTC?
WebRTC代表网络实时通信.它是一种非常令人兴奋,强大且具有高度破坏性的尖端技术和标准.自从WebRTC诞生以来,80%的浏览器都开始支持它.有数据显示,2017年~2021年期间,WebRTC市场 ...
- WebRtc VoiceEngine代码解析
WebRtc中VoiceEngine可以完成大部分的VOIP相关人物,包括采集.自动增益.噪声消除.回声抑制.编解码.RTP传输.下边我们通过代码来解析Voe中处理流程: 创建VoiceEngine和 ...
- webrtc前景如何
首先WebRTC是什么? WebRTC --- Web browsers with Real-Time Communications (RTC). WebRTC是一个免费.开放的项目.使web浏览器通 ...
- 基于webRTC技术 音频和视频,IM解
由于原来的文章 http://blog.csdn.net/voipmaker 转载注明出处. 基于WebRTC技术可实现点对点音视频.即时通信.视频会议.最新的系统组件包含: TeleICE NAT ...
- 利用jmeter对WebRTC应用进行压力测试(java)
利用jmeter对WebRTC应用进行压力测试(java) 说明:WebRTC是一款开源的多人即时视频API,与一般的http请求不同,webrtc应用实际压力主要是码流 最近负责了一个WebRTC的 ...
- 5G时代,视频会议的未来
过去,2G打开了了移动互联网天下,3G促成了即时通信,诞生了QQ.微信等巨头,4G 带来了短视频兴起,字节跳动等公司崛起.2.3.4G的出现促成了移动互联网10年繁荣.而5G的出现,也会促成至少10年 ...
- 阿里云亮相2019联通合作伙伴大会,边缘计算等3款云产品助力5G时代产业数字化转型
4月23日,2019中国联通合作伙伴大会在上海正式开幕,本次大会以“合作不设限,共筑新生态”为主题,涉及5G.边缘计算.云计算.物联网.新媒体.人工智能.互联网化等各领域超过600家合作伙伴与3万名各 ...
- 如何用 Electron + WebRTC 开发一个跨平台的视频会议应用
在搭建在线教育.医疗.视频会议等场景时,很多中小型公司常常面临 PC 客户端和 Web 端二选一的抉择.Electron 技术的出现解决了这一难题,只需前端开发就能完成一个跨平台的 PC 端应用.本文 ...
随机推荐
- tp文件上传;org/RBAC.class.php 权限类;think/page,class,php分页类;
一.上传表单: 注意,要使用上传功能 你的表单需要设置 enctype="multipart/form-data" <form action="__URL__/up ...
- 企业app分发
http://beyondvincent.com/2014/07/30/2014-07-30-provision-ios-ipa-app-for-in-house-enterprise-distrib ...
- Yii入门☞应用
Yii 应用的静态结构 应用: require可以有返回值,Yii中经常返回数组用以配置.以前只知道引用文件成功返回1. controllerMap属性允许你指定一个控制器ID到任意控制器类,修改配置 ...
- Go语言的GOPATH与工作目录详解
这篇文章主要介绍了Go语言的GOPATH与工作目录详解,本文详细讲解了GOPATH设置.应用目录结构.编译应用等内容,需要的朋友可以参考下 GOPATH设置 go 命令依赖一个重要的环境变量:$GOP ...
- 深度学习笔记(六)finetune
转自Caffe fine-tuning 微调网络 一般来说我们自己需要做的方向,比如在一些特定的领域的识别分类中,我们很难拿到大量的数据.因为像在ImageNet上毕竟是一个千万级的图像数据库,通常我 ...
- jQuery 隐藏/显示
1.如何隐藏部分文本(简单案例) //样式 <style type="text/css"> div.ex { bac ...
- lkx开发日志2-第一次团队讨论
遇到的问题 冰球与击球手碰撞的形式有两种.第一种:击球手的速度不指向冰球圆心,这样碰撞后冰球会旋转.第二种:击球手的速度指向冰球圆心,直接科运用动量定理计算两者速度的变化.考虑到时间限制,团队假设冰球 ...
- flex自适应小例子
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 理工科应该的知道的C/C++数学计算库(转)
理工科应该的知道的C/C++数学计算库(转) 作为理工科学生,想必有限元分析.数值计算.三维建模.信号处理.性能分析.仿真分析...这些或多或少与我们常用的软件息息相关,假如有一天你只需要这些大型软件 ...
- c 头文件<ctype.h>(一)
头文件<ctype.h>中声明了一些测试字符的函数. 每个函数的参数均为int类型,参数的值必须是EOF或可用unsigned char类型表示的字符,函数返回值为int类型. 如果参数c ...