博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于webrtc视频会议的解决方案
阅读量:6305 次
发布时间:2019-06-22

本文共 1034 字,大约阅读时间需要 3 分钟。

以我的经验来看视频会议分两种模式:网状模型,星型

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

转载于:https://www.cnblogs.com/Haijunzhu/p/4238447.html

你可能感兴趣的文章
《树莓派开发实战(第2版)》——1.1 选择树莓派型号
查看>>
在 Linux 下使用 fdisk 扩展分区容量
查看>>
结合AlphaGo算法和大数据的量化基本面分析法探讨
查看>>
如何在 Ubuntu Linux 16.04 LTS 中使用多个连接加速 apt-get/apt
查看>>
《OpenACC并行编程实战》—— 导读
查看>>
机器学习:用初等数学解读逻辑回归
查看>>
如何在 Ubuntu 中管理和使用逻辑卷管理 LVM
查看>>
Oracle原厂老兵:从负面案例看Hint的最佳使用方式
查看>>
把自己Github上的代码添加Cocoapods支持
查看>>
C语言OJ项目参考(2493)四则运算
查看>>
零基础入门深度学习(二):神经网络和反向传播算法
查看>>
find和xargs
查看>>
数据结构例程—— 交换排序之快速排序
查看>>
WKWebView代理方法解析
查看>>
IOS定位服务的应用
查看>>
[SMS&WAP]实例讲解制作OTA短信来自动配置手机WAP书签[附源码]
查看>>
IOS中图片(UIImage)拉伸技巧
查看>>
【工具】系统性能查看工具 dstat
查看>>
基于zepto或jquery的手机端弹出框成功,失败,加载特效
查看>>
php引用(&)
查看>>