以我的經驗來看視頻會議分兩種模式:網狀模型,星型
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
