一種多人網(wǎng)絡(luò)視頻會(huì)話方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及多人視頻會(huì)話技術(shù)領(lǐng)域,更具體地說(shuō),涉及一種多人網(wǎng)絡(luò)視頻會(huì)話方法及系統(tǒng)。
【背景技術(shù)】
[0002]多人視頻會(huì)話系統(tǒng)是一個(gè)多對(duì)多的網(wǎng)絡(luò)會(huì)話系統(tǒng),隨著網(wǎng)絡(luò)技術(shù)的的迅速發(fā)展,多人視頻會(huì)話系統(tǒng)得到了廣泛的應(yīng)用和發(fā)展。為實(shí)現(xiàn)多人視頻會(huì)議或多人視頻聊天,主要有以下幾種方式:1)硬件實(shí)現(xiàn)視頻會(huì)話:該種方式成本高,維護(hù)費(fèi)用高,且需要專用網(wǎng)絡(luò);2)軟件實(shí)現(xiàn)視頻混音:該種方式處理效率和畫質(zhì)較低,能同時(shí)處理的視頻路數(shù)少(一般低于16路)。
[0003]而現(xiàn)有多人網(wǎng)絡(luò)視頻會(huì)話方法主要是通過(guò)軟件實(shí)現(xiàn)視頻會(huì)話,如圖1所示,如一臺(tái)PC個(gè)人機(jī)最多只能顯示9路視頻,當(dāng)某一視頻會(huì)話房間內(nèi)的客戶端達(dá)到9個(gè)人的時(shí)候,只能通過(guò)控制房間人數(shù)來(lái)達(dá)到視頻顯示的目的,故現(xiàn)有視頻會(huì)話方法由于個(gè)人PC機(jī)性能的限制,不能顯示超過(guò)一定路數(shù)的視頻,且?guī)拤毫Υ?,無(wú)法自由選擇需要顯示的與會(huì)者的視頻,完全不能滿足大型會(huì)議的要求。
【發(fā)明內(nèi)容】
[0004]本發(fā)明要解決的技術(shù)問(wèn)題在于,針對(duì)現(xiàn)有技術(shù)的上述網(wǎng)絡(luò)帶寬壓力大且不能自由選擇需要顯示的與會(huì)者的視頻的缺陷,提供一種多人網(wǎng)絡(luò)視頻會(huì)話方法及系統(tǒng)。
[0005]本發(fā)明解決其技術(shù)問(wèn)題所采用的技術(shù)方案是:提供一種多人網(wǎng)絡(luò)視頻會(huì)話方法,包括如下步驟:
[0006]S1、同一視頻會(huì)話房間內(nèi)的多個(gè)客戶端通過(guò)房間信令服務(wù)器建立會(huì)話連接,房間信令服務(wù)器將接收到的所述視頻會(huì)話房間的信息存儲(chǔ)于后臺(tái)數(shù)據(jù)庫(kù),并通知控制服務(wù)器和中轉(zhuǎn)服務(wù)器獲取所述視頻會(huì)話房間的信息;
[0007]S2、每一所述客戶端分別發(fā)送相應(yīng)的需求信息至所述控制服務(wù)器,所述控制服務(wù)器將接收到的所述需求信息存儲(chǔ)于所述后臺(tái)數(shù)據(jù)庫(kù),并通知所述中轉(zhuǎn)服務(wù)器獲取所述需求信息;
[0008]S3、每一所述客戶端分別發(fā)送視頻數(shù)據(jù)給所述中轉(zhuǎn)服務(wù)器,所述中轉(zhuǎn)服務(wù)器從所述后臺(tái)數(shù)據(jù)庫(kù)中獲取存儲(chǔ)的視頻會(huì)話房間的信息和與所述視頻會(huì)話房間的信息相對(duì)應(yīng)的需求信息,并根據(jù)所述需求信息,把分發(fā)給每一客戶端的至少一路視頻數(shù)據(jù)轉(zhuǎn)發(fā)至相應(yīng)的客戶端。
[0009]在上述多人網(wǎng)絡(luò)視頻會(huì)話方法中,所述需求信息為需求同一視頻會(huì)話房間內(nèi)的所述多個(gè)客戶端中的至少一個(gè)客戶端的視頻數(shù)據(jù)。
[0010]在上述多人網(wǎng)絡(luò)視頻會(huì)話方法中,多個(gè)客戶端建立會(huì)話連接的步驟包括:
[0011]S11、由第一客戶端向房間信令服務(wù)器發(fā)出創(chuàng)建房間的請(qǐng)求指令,所述房間信令服務(wù)器接收到所述請(qǐng)求指令后創(chuàng)建視頻會(huì)話房間;
[0012]S12、所述房間信令服務(wù)器向所述第一客戶端請(qǐng)求參與會(huì)話的至少一個(gè)客戶端發(fā)起創(chuàng)建房間的通知,邀請(qǐng)參與會(huì)話的至少一個(gè)客戶端加入所述視頻會(huì)話房間;
[0013]S13、所述參與會(huì)話的至少一個(gè)客戶端分別發(fā)送應(yīng)答指令至所述房間信令服務(wù)器,所述應(yīng)答指令包括同意或拒絕;
[0014]S14、所述第一客戶端和同意參與會(huì)話的客戶端通過(guò)所述房間信令服務(wù)器建立會(huì)話連接。
[0015]還提供一種多人網(wǎng)絡(luò)視頻會(huì)話系統(tǒng),包括房間信令服務(wù)器、控制服務(wù)器、中轉(zhuǎn)服務(wù)器、后臺(tái)數(shù)據(jù)庫(kù)以及多個(gè)客戶端組,每一客戶端組包括位于同一視頻會(huì)話房間內(nèi)的通過(guò)房間信令服務(wù)器建立會(huì)話連接的多個(gè)客戶端,并由所述后臺(tái)數(shù)據(jù)庫(kù)存儲(chǔ)視頻會(huì)話房間的信息,其中:所述控制服務(wù)器包括需求信息接收模塊和消息通知模塊,所述中轉(zhuǎn)服務(wù)器包括視頻數(shù)據(jù)接收模塊和視頻數(shù)據(jù)轉(zhuǎn)發(fā)模塊;
[0016]所述需求信息接收模塊,用于接收同一視頻會(huì)話房間內(nèi)的多個(gè)客戶端發(fā)送的需求信息,并將所述需求信息存儲(chǔ)于所述后臺(tái)數(shù)據(jù)庫(kù);
[0017]所述消息通知模塊,用于通知所述控制服務(wù)器和中轉(zhuǎn)服務(wù)器從所述后臺(tái)數(shù)據(jù)庫(kù)中獲取所述需求息;
[0018]所述視頻數(shù)據(jù)接收模塊,用于接收同一視頻會(huì)話房間內(nèi)的多個(gè)客戶端發(fā)送的視頻數(shù)據(jù);
[0019]所述視頻數(shù)據(jù)轉(zhuǎn)發(fā)模塊,用于從所述后臺(tái)數(shù)據(jù)庫(kù)中獲取存儲(chǔ)的視頻會(huì)話房間的信息和與所述視頻會(huì)話房間的信息相對(duì)應(yīng)的需求信息,并根據(jù)所述需求信息,把分發(fā)給每一客戶端的至少一路視頻數(shù)據(jù)轉(zhuǎn)發(fā)至相應(yīng)的客戶端。
[0020]在上述多人網(wǎng)絡(luò)視頻會(huì)話系統(tǒng)中,所述需求信息為需求同一視頻會(huì)話房間內(nèi)的所述多個(gè)客戶端中的至少一個(gè)客戶端的視頻數(shù)據(jù)。
[0021]在上述多人網(wǎng)絡(luò)視頻會(huì)話系統(tǒng)中,所述房間信令服務(wù)器包括房間創(chuàng)建單元,每一客戶端包括會(huì)話發(fā)起單元和會(huì)話響應(yīng)單元:
[0022]所述會(huì)話發(fā)起單元,用于向房間信令服務(wù)器發(fā)出創(chuàng)建房間的請(qǐng)求指令;
[0023]所述房間創(chuàng)建單元,用于根據(jù)接收到所述請(qǐng)求指令后創(chuàng)建視頻會(huì)話房間;
[0024]所述會(huì)話響應(yīng)單元,用于發(fā)送應(yīng)答指令至所述房間信令服務(wù)器,所述應(yīng)答指令包括同意或拒絕。
[0025]實(shí)施本發(fā)明的多人網(wǎng)絡(luò)視頻會(huì)話方法及系統(tǒng),具有以下有益效果:通過(guò)房間信令服務(wù)器、控制服務(wù)器以及中轉(zhuǎn)服務(wù)器這三臺(tái)服務(wù)器分別獨(dú)立工作,并能夠根據(jù)每一客戶端的需求進(jìn)行控制轉(zhuǎn)發(fā)視頻數(shù)據(jù),在房間信令服務(wù)器創(chuàng)建的同一視頻會(huì)話房間內(nèi)的多個(gè)客戶端建立會(huì)話連接后,再由控制服務(wù)器接收每一客戶端的需求信息并存儲(chǔ)在后臺(tái)數(shù)據(jù)庫(kù)中,中轉(zhuǎn)服務(wù)器則從后臺(tái)數(shù)據(jù)庫(kù)中獲取相應(yīng)房間內(nèi)的所有客戶端的需求信息并根據(jù)該需求信息對(duì)每一客戶端上傳的視頻數(shù)據(jù)進(jìn)行分發(fā),最后把分發(fā)給每一客戶端的至少一路視頻數(shù)據(jù)轉(zhuǎn)發(fā)給相應(yīng)的客戶端,保障了每個(gè)客戶端可以根據(jù)需求查看所需要的視頻內(nèi)容,降低了帶寬的壓力。
【附圖說(shuō)明】
[0026]下面將結(jié)合附圖及實(shí)施例對(duì)本發(fā)明作進(jìn)一步說(shuō)明,附圖中:
[0027]圖1是現(xiàn)有技術(shù)的某一客戶端的顯示界面示意圖;
[0028]圖2是本發(fā)明一種多人網(wǎng)絡(luò)視頻會(huì)話方法實(shí)施例的流程示意圖;
[0029]圖3是同一視頻會(huì)話房間內(nèi)的多個(gè)客戶端建立會(huì)話連接的流程示意圖;
[0030]圖4是同一視頻會(huì)話房間內(nèi)的多個(gè)客戶端建立會(huì)話連接的結(jié)構(gòu)示意圖;
[0031]圖5是同一視頻會(huì)話房間內(nèi)的多個(gè)客戶端進(jìn)行需求信息傳送的結(jié)構(gòu)示意圖;
[0032]圖6是同一視頻會(huì)話房間內(nèi)的多個(gè)客戶端進(jìn)行視頻數(shù)據(jù)傳送的結(jié)構(gòu)示意圖;
[0033]圖7是本發(fā)明一種多人網(wǎng)絡(luò)視頻會(huì)話系統(tǒng)中某一客戶端的顯示界面示意圖。
【具體實(shí)施方式】
[0034]為了對(duì)本發(fā)明的技術(shù)特征、目的和效果有更加清楚的理解,現(xiàn)對(duì)照附圖詳細(xì)說(shuō)明本發(fā)明的【具體實(shí)施方式】。
[0035]如圖2所示,為本發(fā)明一種多人網(wǎng)絡(luò)視頻會(huì)話方法實(shí)施例的流程示意圖,在該實(shí)施例中,該多人網(wǎng)絡(luò)視頻會(huì)話方法包括如下步驟:
[0036]S1、同一視頻會(huì)話房間內(nèi)的多個(gè)客戶端通過(guò)房間信令服務(wù)器建立會(huì)話連接,房間信令服務(wù)器將接收到的視頻會(huì)話房間的信息存儲(chǔ)于后臺(tái)數(shù)據(jù)庫(kù),并通知控制服務(wù)器和中轉(zhuǎn)服務(wù)器實(shí)時(shí)獲取該視頻會(huì)話房間的信息。在該步驟中,先由房間信令服務(wù)器創(chuàng)建視頻會(huì)話房間,多個(gè)客戶端進(jìn)入該視頻會(huì)話房間建立會(huì)話連接,而視頻會(huì)話房間的信息,如該視頻會(huì)話房間的房間號(hào)以及該房間內(nèi)所有參與會(huì)話的客戶端的ID信息等都會(huì)存儲(chǔ)在后臺(tái)數(shù)據(jù)庫(kù)中。
[0037]S2、每一客戶端分別發(fā)送相應(yīng)的需求信息至控制服務(wù)器,控制服務(wù)器將接收到的需求信息存儲(chǔ)于后臺(tái)數(shù)據(jù)庫(kù),并通知中轉(zhuǎn)服務(wù)器獲取需求信息。在該步驟中,后臺(tái)數(shù)據(jù)庫(kù)中存儲(chǔ)的視頻會(huì)話房間的信息與該房間內(nèi)的多個(gè)參與會(huì)話連接的客戶端發(fā)送的需求信息是相對(duì)應(yīng)的。
[0038]S3、每一客戶端分別發(fā)送視頻數(shù)據(jù)給中轉(zhuǎn)服務(wù)器,中轉(zhuǎn)服務(wù)器從后臺(tái)數(shù)據(jù)庫(kù)中獲取存儲(chǔ)的視頻會(huì)話房間的信息和與視頻會(huì)話房間的信息相對(duì)應(yīng)的需求信息,并根據(jù)需求信息,把分發(fā)給每一客戶端的至少一路視頻數(shù)據(jù)轉(zhuǎn)發(fā)至相應(yīng)的客戶端。
[0039]在上述中,由房間信令服務(wù)器創(chuàng)建視頻會(huì)話房間,并將視頻會(huì)話房間的信息存儲(chǔ)在后臺(tái)數(shù)據(jù)庫(kù)中,可以理解的是,房間信令服務(wù)器是可以創(chuàng)建多個(gè)視頻會(huì)話房間的,后臺(tái)數(shù)據(jù)庫(kù)中存儲(chǔ)有每一視頻會(huì)話房間的信息(如包括房間號(hào),在該房間內(nèi)參與會(huì)話的各個(gè)客戶端的ID號(hào)等),在同一視頻會(huì)話房間內(nèi),包括多個(gè)客戶端,這多個(gè)客戶端可以是便攜式電腦、手機(jī)、臺(tái)式