一種加速顯示對方視頻的視頻通話系統(tǒng)及視頻通話方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機(jī)網(wǎng)絡(luò)技術(shù)領(lǐng)域,特別涉及一種加速顯示對方視頻的視頻通話系統(tǒng)及視頻通話方法。
【背景技術(shù)】
[0002]隨著網(wǎng)絡(luò)寬帶的快速提升以及硬件設(shè)備的發(fā)展和普及,視頻通話的市場也進(jìn)入了發(fā)展的快車道。視頻通話需要兩臺聯(lián)網(wǎng)(3G、互聯(lián)網(wǎng)、3G互聯(lián)網(wǎng))的終端設(shè)備(如智能手機(jī)、PC、平板電腦等),通過集成軟件或第三方軟件來實(shí)現(xiàn)音、視頻實(shí)時雙向傳輸。
[0003]現(xiàn)有的視頻通話的視頻流傳輸方式主要包括:通過服務(wù)器進(jìn)行轉(zhuǎn)發(fā),或者使用直接連接的方式。由于視頻占用大量帶寬,為降低服務(wù)器成本及減少延時,視頻通話優(yōu)先采用直接連接的方式進(jìn)行視頻流的傳輸,當(dāng)無法建立直接連接時,再考慮服務(wù)器轉(zhuǎn)發(fā)的方式。但是,很大一部分的NAT設(shè)備是無法建立直接連接的,必須使用服務(wù)器中轉(zhuǎn)。在進(jìn)行連接方式選擇的過程中,終端一直處于等待狀態(tài),直到選擇完成后,才能顯示對方的視頻圖像。由于連接方式選擇并非瞬間完成,需要收集各種類型的IP地址和端口,延長了視頻顯示的等待時間。
【發(fā)明內(nèi)容】
[0004]本發(fā)明針對上述現(xiàn)有技術(shù)中存在的問題,提出一種加速顯示對方視頻的視頻通話系統(tǒng)及視頻通話方法,其在盡量節(jié)省帶寬的基礎(chǔ)上,加速顯示對方視頻圖像,減少了視頻等待時間。
[0005]為解決上述技術(shù)問題,本發(fā)明是通過如下技術(shù)方案實(shí)現(xiàn)的:
本發(fā)明提供一種加速顯示對方視頻的視頻通話方法,其包括以下步驟:
511:第一客戶端通過服務(wù)器向第二客戶端發(fā)送視頻通話請求;
512:第二客戶端接受所述視頻通話請求,通過服務(wù)器中轉(zhuǎn)的方式進(jìn)行所述第一客戶端和所述第二客戶端之間的實(shí)時視頻流傳輸;
S13:對所述第一客戶端和所述第二客戶端進(jìn)行連通性檢測,檢測是否可以進(jìn)行直接連接(P2P連接);
S14:若連通成功,將所述實(shí)時視頻流傳輸?shù)姆绞礁臑橹苯舆B接的方式;若連通不成功,則不進(jìn)行任何操作。
[0006]較佳地,所述步驟Sll進(jìn)一步包括:
Sm:第一客戶端向服務(wù)器發(fā)送視頻通話請求,所述第一客戶端通過所述服務(wù)器收集第一候選項列表;
S112:所述服務(wù)器將所述視頻通話請求轉(zhuǎn)發(fā)給第二客戶端,并將所述第一候選項列表發(fā)送給所述第二客戶端。
[0007]較佳地,所述步驟S12進(jìn)一步包括:
S121:第二客戶端收到所述服務(wù)器轉(zhuǎn)發(fā)的所述視頻通話請求,所述第二客戶端通過所述服務(wù)器收集第二候選項列表;
S122:所述第二客戶端接受所述視頻通話請求,所述服務(wù)器將所述第二候選項列表發(fā)送給所述第一客戶端,所述第一客戶端和所述第二客戶端通過服務(wù)器中轉(zhuǎn)的方式進(jìn)行實(shí)時視頻流傳輸。
[0008]較佳地,所述步驟S13具體為:對所述第一客戶端的所述第一候選項列表中的IP地址和所述第二客戶端的所述第二候選項列表中的IP地址進(jìn)行連通性檢測,檢測第一客戶端和第二客戶端之間是否可以通過直接連接的方式進(jìn)行連接。
[0009]較佳地,所述步驟S13進(jìn)一步為:對所述第一客戶端的所述第一候選項列表中的每一 IP地址與所述第二客戶端的所述第二候選項列表中的每一 IP地址進(jìn)行組合匹配,若任一組合在預(yù)設(shè)時間內(nèi)收到應(yīng)答,則連通成功,停止連通性檢測;若所有組合在預(yù)設(shè)時間內(nèi)都未收到應(yīng)答,則連通不成功。
[0010]本發(fā)明還提供一種加速顯示對方視頻的視頻通話系統(tǒng),其包括:第一客戶端、第二客戶端以及服務(wù)器,其中:
所述第一客戶端通過服務(wù)器中轉(zhuǎn)向所述第二客戶端發(fā)送視頻通話請求;所述服務(wù)器用于中轉(zhuǎn)所述第一客戶端與所述第二客戶端之間的視頻通話請求;當(dāng)所述第二客戶端接受所述第一客戶端的所述視頻通話請求時,所述第一客戶端與所述第二客戶端之間通過所述服務(wù)器中轉(zhuǎn)的方式進(jìn)行實(shí)時視頻流傳輸。
[0011]較佳地,所述服務(wù)器包括中繼服務(wù)器與STUN服務(wù)器;
所述中繼服務(wù)器用于中轉(zhuǎn)所述第一客戶端與所述第二客戶端之間的視頻通話請求;所述STUN服務(wù)器用于使所述第一客戶端和所述第二客戶端通過其收集第一候選項列表以及第二候選項列表,以便于所述第一客戶端和所述第二客戶端對所述第一候選項列表和所述第二候選項列表進(jìn)行連通性檢查;
當(dāng)檢查到所述第一客戶端和第二客戶端之間可以建立直接連接時,所述第一客戶端和所述第二客戶端改為通過直接連接的方式進(jìn)行實(shí)時視頻流傳輸。
[0012]較佳地,所述第一候選項列表和所述第二候選性列表包括分配的IP地址和端口。
[0013]較佳地,所述IP地址包括本地IP地址、外網(wǎng)IP地址。
[0014]相較于現(xiàn)有技術(shù),本發(fā)明具有以下優(yōu)點(diǎn):
(I)本發(fā)明提供的視頻通話系統(tǒng)及視頻通話方法,首先采用服務(wù)器轉(zhuǎn)發(fā)的方式盡快開始視頻流,然后再進(jìn)行連通性檢查,嘗試建立直接連接,從而在盡量節(jié)省帶寬的基礎(chǔ)上,減少了視頻等待的時間,提升了用戶體驗;
(2 )本發(fā)明的視頻通話系統(tǒng)及視頻通話方法,簡化了服務(wù)器的結(jié)構(gòu),簡化了視頻流傳輸過程,節(jié)省了時間。
[0015]當(dāng)然,實(shí)施本發(fā)明的任一產(chǎn)品并不一定需要同時達(dá)到以上所述的所有優(yōu)點(diǎn)。
【附圖說明】
[0016]下面結(jié)合附圖對本發(fā)明的實(shí)施方式作進(jìn)一步說明:
圖1為現(xiàn)有的視頻通話方法的流程圖;
圖2為本發(fā)明的視頻通話方法的流程圖;
圖3為本發(fā)明的視頻通話方法的步驟示意圖; 圖4為本發(fā)明的視頻通話系統(tǒng)的示意圖。
[0017]標(biāo)號說明:1_第一客戶端,2-第二客戶端,3-服務(wù)器;
31-中繼服務(wù)器,32-STUN服務(wù)器。
【具體實(shí)施方式】
[0018]下面對本發(fā)明的實(shí)施例作詳細(xì)說明,本實(shí)施例在以本發(fā)明技術(shù)方案為前提下進(jìn)行實(shí)施,給出了詳細(xì)的實(shí)施方式和具體的操作過程,但本發(fā)明的保護(hù)范圍不限于下述的實(shí)施例。
[0019]現(xiàn)有的ICE (Interactive Connectivity Establishment)協(xié)議建立視頻連接的方法為:能直連就直連,必要時通過STUN (Sess1n Traversal Utilities for NAT)協(xié)議(RFC5389)協(xié)商,再不行使用 TURN (Traversal Using Relays NAT)協(xié)議(RFC5766)進(jìn)行中繼轉(zhuǎn)發(fā)。結(jié)合圖1,其基于SIP (Sess1n Initiat1n Protocol)協(xié)議(RFC3261)的視頻通話的流程如下:
1、第一客戶端向TURN服務(wù)器收集第一ICE候選項列表;
2、第一客戶端向第二客戶端發(fā)送視頻通話請求(invite指令),通過SDP攜帶第一ICE候選項列表;
3、第二客戶端收到服務(wù)器轉(zhuǎn)發(fā)的視頻通話請求,收集第二ICE候選項列表,然后發(fā)送2000K指令進(jìn)行應(yīng)答,并通過SDP攜帶第二 ICE候選項列表,至此雙方都獲取了對方的ICE候選項列表;
4、對第一客戶端和第二客戶端進(jìn)行連通性檢查;
5、連通檢查結(jié)束,即協(xié)商結(jié)束,第一客戶端發(fā)送更新指令(reinvite指令),更新SDP信息,修改視頻流的傳送方式,第二客戶端回應(yīng)2000K,從而確定雙方最終采用的視頻流的傳輸?shù)刂罚?br> 6、開始視頻流的傳輸(RTP),若ICE協(xié)商后確定的傳輸?shù)刂窞榉?wù)器中繼地址(Relayed Address),則說明視頻流通過TURN服務(wù)器進(jìn)行轉(zhuǎn)發(fā);若協(xié)商成功后確定的傳輸?shù)刂窞榉?wù)器反射地址(Server Reflexive Address),則說明視頻流采用直接連接的范式進(jìn)行傳輸。
[0020]ICE協(xié)商過程并非瞬間完成,首先需要收集各種類型的IP地址和端口,然后再進(jìn)行連通性檢查,只有ICE協(xié)商完成后,終端才開始發(fā)送和接收視頻流,而后才能顯示對方的視頻圖像。在這個協(xié)商過程中,終端一直處于等待狀態(tài),無任何視頻圖像顯示。且仍有一定比例的NAT設(shè)備無法建立直