java webrtc视频会议_关于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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值