不對(duì)稱組網(wǎng)系統(tǒng)視頻呼叫方法及終端、服務(wù)器和系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種不對(duì)稱組網(wǎng)系統(tǒng)視頻呼叫方法及終端、服務(wù)器和系統(tǒng)。不對(duì)稱組網(wǎng)系統(tǒng)包括支持NAT的第一終端、中間服務(wù)器以及不支持NAT的第二終端,視頻呼叫方法包括:在第一終端與中間服務(wù)器間的網(wǎng)絡(luò)地址轉(zhuǎn)換連通性檢測(cè)完成時(shí),第一終端向第二終端發(fā)送關(guān)鍵幀請(qǐng)求;第一終端接收第二終端響應(yīng)關(guān)鍵幀請(qǐng)求而返回的關(guān)鍵幀,解析后續(xù)的差別幀而正常顯示第二終端發(fā)來的視頻。通過上述方式,本發(fā)明能夠有效減少視頻無法正常顯示的時(shí)間,給用戶更好的業(yè)務(wù)體驗(yàn)。
【專利說明】不對(duì)稱組網(wǎng)系統(tǒng)視頻呼叫方法及終端、服務(wù)器和系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信領(lǐng)域,特別是涉及一種不對(duì)稱組網(wǎng)系統(tǒng)視頻呼叫方法及終端、月艮務(wù)器和系統(tǒng)。
【背景技術(shù)】
[0002]視頻編解碼的傳輸,如H.264的媒體傳輸采用實(shí)時(shí)傳輸協(xié)議(Real-timeTransport Protocol, RTP)方式,而RTP是承載在用戶數(shù)據(jù)包協(xié)議(User DatagramProtocol,UDP)之上,由于UDP是無連接,不可靠的傳輸協(xié)議,因此視頻流包在網(wǎng)絡(luò)上傳輸,容易出現(xiàn)丟包的情況。
[0003]在視頻傳輸中,一副畫面可以分成關(guān)鍵幀和差別幀(P幀)進(jìn)行傳輸,關(guān)鍵幀是視頻傳輸?shù)年P(guān)鍵,后續(xù)的P幀的解碼都是依靠關(guān)鍵幀來完成的。如果關(guān)鍵幀丟失,P幀無法解碼,解碼器也就無法正常解析收到的視頻畫面。
[0004]H.264相關(guān)標(biāo)準(zhǔn)中定義媒體關(guān)鍵幀請(qǐng)求機(jī)制,即當(dāng)一段解碼器發(fā)現(xiàn)丟失關(guān)鍵幀后,可以主動(dòng)向另外一個(gè)端發(fā)送關(guān)鍵幀請(qǐng)求而獲取關(guān)鍵幀實(shí)現(xiàn)正常解碼。但是,這種方式,無法正常顯示對(duì)方視頻的時(shí)間相對(duì)比較長(zhǎng)。另外,對(duì)于一端是支持網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)的終端,而另一端是不支持NAT的終端的組網(wǎng)系統(tǒng)來說,NAT連通性檢測(cè)也可能導(dǎo)致關(guān)鍵幀的丟失,如果仍采用上述的方式來處理,支持NAT的終端在接收到視頻請(qǐng)求應(yīng)答后會(huì)持續(xù)較長(zhǎng)時(shí)間無法正常顯示對(duì)方視頻。
【發(fā)明內(nèi)容】
[0005]本發(fā)明主要解決的技術(shù)問題是不對(duì)稱組網(wǎng)系統(tǒng)下,如何縮短支持NAT終端在接收到視頻請(qǐng)求應(yīng)答后無法正常顯示對(duì)方視頻的時(shí)間。
[0006]有鑒于此,本申請(qǐng)?zhí)峁┮环N不對(duì)稱組網(wǎng)系統(tǒng)視頻呼叫方法及終端、服務(wù)器和系統(tǒng),能夠有效減少視頻無法正常顯示的時(shí)間,給用戶更好的業(yè)務(wù)體驗(yàn)。
[0007]第一方面,提供一種不對(duì)稱組網(wǎng)系統(tǒng)視頻呼叫方法,所述不對(duì)稱組網(wǎng)系統(tǒng)包括支持網(wǎng)絡(luò)地址轉(zhuǎn)換的第一終端、中間服務(wù)器以及不支持網(wǎng)絡(luò)地址轉(zhuǎn)換的第二終端,所述方法包括:在所述第一終端與所述中間服務(wù)器間的網(wǎng)絡(luò)地址轉(zhuǎn)換連通性檢測(cè)完成時(shí),所述第一終端向所述第二終端發(fā)送關(guān)鍵幀請(qǐng)求;所述第一終端接收所述第二終端響應(yīng)所述關(guān)鍵幀請(qǐng)求而返回的關(guān)鍵幀,解析后續(xù)的差別幀而正常顯示所述第二終端發(fā)來的視頻。
[0008]結(jié)合第一方面,在第一方面的第一種可能的實(shí)現(xiàn)方式中:所述向所述第二終端發(fā)送關(guān)鍵幀請(qǐng)求的步驟包括:所述第一終端在媒體層面或信令層面發(fā)出關(guān)鍵幀請(qǐng)求,并通過所述中間服務(wù)器轉(zhuǎn)發(fā)給所述第二終端。
[0009]結(jié)合第一方面,在第一方面的第二種可能的實(shí)現(xiàn)方式中:所述在所述第一終端與所述中間服務(wù)器間的網(wǎng)絡(luò)地址轉(zhuǎn)換連通性檢測(cè)完成之前,所述方法還包括:所述第一終端通過所述中間服務(wù)器向所述第二終端發(fā)出視頻請(qǐng)求,所述視頻請(qǐng)求攜帶視頻編解碼信息以及所述第一終端的網(wǎng)絡(luò)地址轉(zhuǎn)換連通性檢測(cè)候選地址;所述第一終端接收攜帶所述中間服務(wù)器的網(wǎng)絡(luò)地址轉(zhuǎn)換連通性檢測(cè)候選地址的請(qǐng)求應(yīng)答消息,開始與所述中間服務(wù)器進(jìn)行網(wǎng)絡(luò)地址轉(zhuǎn)換連通性檢測(cè)。
[0010]第二方面,提供一種不對(duì)稱組網(wǎng)系統(tǒng)視頻呼叫方法,所述不對(duì)稱組網(wǎng)系統(tǒng)包括支持網(wǎng)絡(luò)地址轉(zhuǎn)換的第一終端、中間服務(wù)器以及不支持網(wǎng)絡(luò)地址轉(zhuǎn)換的第二終端,所述方法包括:在所述第一終端與所述中間服務(wù)器間的網(wǎng)絡(luò)地址轉(zhuǎn)換連通性檢測(cè)完成時(shí),所述中間服務(wù)器向所述第二終端發(fā)送關(guān)鍵幀請(qǐng)求;所述中間服務(wù)器接收所述第二終端響應(yīng)所述關(guān)鍵幀請(qǐng)求而返回的關(guān)鍵幀,并將所述關(guān)鍵幀轉(zhuǎn)發(fā)給所述第一終端,以使所述第一終端能夠正常顯示第二終端發(fā)來的視頻。
[0011]結(jié)合第二方面,在第二方面的第一種可能的實(shí)現(xiàn)方式中:所述中間服務(wù)器向所述第二終端發(fā)送關(guān)鍵幀請(qǐng)求的步驟包括:所述中間服務(wù)器在媒體層面或信令層面向所述第二終端發(fā)送關(guān)鍵幀請(qǐng)求。
[0012]結(jié)合第二方面,在第二方面的第二種可能的實(shí)現(xiàn)方式中:所述在所述第一終端與所述中間服務(wù)器間的網(wǎng)絡(luò)地址轉(zhuǎn)換連通性檢測(cè)完成之前,還包括:所述中間服務(wù)器接收所述第一終端的視頻請(qǐng)求,所述視頻請(qǐng)求攜帶視頻編解碼信息以及所述第一終端的網(wǎng)絡(luò)地址轉(zhuǎn)換連通性檢測(cè)候選地址;所述中間服務(wù)器刪除所述視頻請(qǐng)求中的網(wǎng)絡(luò)地址轉(zhuǎn)換連通性檢測(cè)候選地址后將所述視頻請(qǐng)求轉(zhuǎn)發(fā)給所述第二終端。
[0013]結(jié)合第二方面的第二種可能的實(shí)現(xiàn)方式,在第二方面的第三種可能的實(shí)現(xiàn)方式中:所述將所述視頻請(qǐng)求轉(zhuǎn)發(fā)給所述第二終端的步驟之后,還包括:所述中間服務(wù)器接收來自所述第二終端的請(qǐng)求應(yīng)答消息,添加自身的網(wǎng)絡(luò)地址轉(zhuǎn)換連通性檢測(cè)候選地址到所述請(qǐng)求應(yīng)答消息中,然后將請(qǐng)求應(yīng)答消息轉(zhuǎn)發(fā)給所述第一終端。
[0014]第三方面,提供一種支持網(wǎng)絡(luò)地址轉(zhuǎn)換的終端,所述支持網(wǎng)絡(luò)地址轉(zhuǎn)換的終端與不支持網(wǎng)絡(luò)地址轉(zhuǎn)換的終端通過中間服務(wù)器進(jìn)行視頻呼叫,所述支持網(wǎng)絡(luò)地址轉(zhuǎn)換的終端包括請(qǐng)求模塊和接收模塊,其中:所述請(qǐng)求模塊用于在所述支持網(wǎng)絡(luò)地址轉(zhuǎn)換的終端與所述中間服務(wù)器間的網(wǎng)絡(luò)地址轉(zhuǎn)換連通性檢測(cè)完成時(shí),向所述不支持網(wǎng)絡(luò)地址轉(zhuǎn)換的終端發(fā)送關(guān)鍵幀請(qǐng)求;所述接收模塊用于接收所述不支持網(wǎng)絡(luò)地址轉(zhuǎn)換的終端響應(yīng)所述關(guān)鍵幀請(qǐng)求而返回的關(guān)鍵幀,解析后續(xù)的差別幀而正常顯示所述不支持網(wǎng)絡(luò)地址轉(zhuǎn)換的終端發(fā)來的視頻。
[0015]結(jié)合第三方面,在第三方面的第一種可能的實(shí)現(xiàn)方式中:所述請(qǐng)求模塊用于在媒體層面或信令層面發(fā)出關(guān)鍵幀請(qǐng)求,并通過所述中間服務(wù)器轉(zhuǎn)發(fā)給所述不支持網(wǎng)絡(luò)地址轉(zhuǎn)換的終端。
[0016]結(jié)合第三方面,在第三方面的第二種可能的實(shí)現(xiàn)方式中:所述請(qǐng)求模塊用于通過所述中間服務(wù)器向所述不支持網(wǎng)絡(luò)地址轉(zhuǎn)換的終端發(fā)出視頻請(qǐng)求,所述視頻請(qǐng)求攜帶視頻編解碼信息以及所述支持網(wǎng)絡(luò)地址轉(zhuǎn)換的終端的網(wǎng)絡(luò)地址轉(zhuǎn)換連通性檢測(cè)候選地址;所述接收模塊用于接收攜帶所述中間服務(wù)器的網(wǎng)絡(luò)地址轉(zhuǎn)換連通性檢測(cè)候選地址的請(qǐng)求應(yīng)答消息,開始與所述中間服務(wù)器進(jìn)行網(wǎng)絡(luò)地址轉(zhuǎn)換連通性檢測(cè)。
[0017]第四方面,提供一種服務(wù)器,支持網(wǎng)絡(luò)地址轉(zhuǎn)換的終端與不支持網(wǎng)絡(luò)地址轉(zhuǎn)換的終端通過所述服務(wù)器進(jìn)行視頻呼叫,所述服務(wù)器包括請(qǐng)求模塊和轉(zhuǎn)發(fā)模塊,其中:所述請(qǐng)求模塊用于在所述支持網(wǎng)絡(luò)地址轉(zhuǎn)換的終端與所述服務(wù)器間的網(wǎng)絡(luò)地址轉(zhuǎn)換連通性檢測(cè)完成時(shí),向所述不支持網(wǎng)絡(luò)地址轉(zhuǎn)換的終端發(fā)送關(guān)鍵幀請(qǐng)求;所述轉(zhuǎn)發(fā)模塊用于接收所述不支持網(wǎng)絡(luò)地址轉(zhuǎn)換的終端響應(yīng)所述關(guān)鍵幀請(qǐng)求而返回的關(guān)鍵幀,并將所述關(guān)鍵幀轉(zhuǎn)發(fā)給所述支持網(wǎng)絡(luò)地址轉(zhuǎn)換的終端,以使所述支持網(wǎng)絡(luò)地址轉(zhuǎn)換的終端能夠正常顯示所述不支持網(wǎng)絡(luò)地址轉(zhuǎn)換的終端發(fā)來的視頻。
[0018]結(jié)合第四方面,在第四方面的第一種可能的實(shí)現(xiàn)方式中:所述請(qǐng)求模塊用于在媒體層面或信令層面向所述不支持網(wǎng)絡(luò)地址轉(zhuǎn)換的終端發(fā)送關(guān)鍵幀請(qǐng)求。
[0019]結(jié)合第四方面,在第四方面的第二種可能的實(shí)現(xiàn)方式中:所述轉(zhuǎn)發(fā)模塊用于接收所述支持網(wǎng)絡(luò)地址轉(zhuǎn)換的終端的視頻請(qǐng)求,所述視頻請(qǐng)求攜帶視頻編解碼信息以及所述支持網(wǎng)絡(luò)地址轉(zhuǎn)換的終端的網(wǎng)絡(luò)地址轉(zhuǎn)換連通性檢測(cè)候選地址,刪除所述視頻請(qǐng)求中的網(wǎng)絡(luò)地址轉(zhuǎn)換連通性檢測(cè)候選地址后將所述視頻請(qǐng)求轉(zhuǎn)發(fā)給所述不支持網(wǎng)絡(luò)地址轉(zhuǎn)換的終端。
[0020]結(jié)合第四方面的第二種可能的實(shí)現(xiàn)方式,在第四方面的第三種可能的實(shí)現(xiàn)方式中:所述轉(zhuǎn)發(fā)模塊用于接收來自所述不支持網(wǎng)絡(luò)地址轉(zhuǎn)換的終端的請(qǐng)求應(yīng)答消息,添加所述服務(wù)器的網(wǎng)絡(luò)地址轉(zhuǎn)換連通性檢測(cè)候選地址到所述請(qǐng)求應(yīng)答消息中,然后將請(qǐng)求應(yīng)答消息轉(zhuǎn)發(fā)給所述支持網(wǎng)絡(luò)地址轉(zhuǎn)換的終端。
[0021]第五方面,提供一種網(wǎng)絡(luò)系統(tǒng),所述網(wǎng)絡(luò)系統(tǒng)包括上述第三方面以及第三方面的任一種可能的實(shí)現(xiàn)方式中的支持網(wǎng)絡(luò)地址轉(zhuǎn)換的終端和第四方面以及第四方面的任一種可能的實(shí)現(xiàn)方式中的服務(wù)器,還包括不支持網(wǎng)絡(luò)地址轉(zhuǎn)換的終端。
[0022]本申請(qǐng)的有益效果是:區(qū)別于現(xiàn)有技術(shù)的情況,本申請(qǐng)不對(duì)稱組網(wǎng)系統(tǒng)視頻呼叫方法,在支持NAT的終端與中間服務(wù)器之間的NAT連通性檢測(cè)完成時(shí),主動(dòng)向不支持NAT的終端發(fā)送關(guān)鍵幀請(qǐng)求,從而接收不支持NAT的終端的關(guān)鍵幀而實(shí)現(xiàn)視頻正常解碼。通過這樣的方式,有效縮短支持NAT終端在接收視頻請(qǐng)求應(yīng)答消息后無法正常顯示對(duì)端視頻的時(shí)間,給用戶更好的業(yè)務(wù)體驗(yàn)。
【專利附圖】
【附圖說明】
[0023]圖1是本申請(qǐng)不對(duì)稱組網(wǎng)系統(tǒng)視頻呼叫方法第一個(gè)實(shí)施方式的流程圖;
[0024]圖2是本申請(qǐng)不對(duì)稱組網(wǎng)系統(tǒng)視頻呼叫方法第二個(gè)實(shí)施方式的流程圖;
[0025]圖3是本申請(qǐng)不對(duì)稱組網(wǎng)系統(tǒng)視頻呼叫方法第三個(gè)實(shí)施方式的流程圖;
[0026]圖4是本申請(qǐng)不對(duì)稱組網(wǎng)系統(tǒng)視頻呼叫方法第四個(gè)實(shí)施方式的流程圖;
[0027]圖5是本申請(qǐng)不對(duì)稱組網(wǎng)系統(tǒng)視頻呼叫方法第五個(gè)實(shí)施方式的流程圖;
[0028]圖6是本申請(qǐng)支持NAT的終端一個(gè)實(shí)施方式的結(jié)構(gòu)示意圖;
[0029]圖7是本申請(qǐng)服務(wù)器一個(gè)實(shí)施方式的結(jié)構(gòu)示意圖;
[0030]圖8是本申請(qǐng)支持NAT的終端另一個(gè)實(shí)施方式的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0031 ]目前視頻編解碼的傳輸,如H.264的媒體傳輸采用實(shí)時(shí)傳輸協(xié)議RTP方式,而RTP是承載在用戶數(shù)據(jù)包協(xié)議UDP之上,由于UDP是無連接,不可靠的傳輸協(xié)議,因此視頻流包在網(wǎng)絡(luò)上傳輸,容易出現(xiàn)丟包的情況,從而導(dǎo)致關(guān)鍵幀丟失而無法正常顯示對(duì)端發(fā)來的視頻。
[0032]NAT 穿越,常見的有 STUN(Simple Traversal of UDP Through Network AddressTranslators)和TURN (Traversal Using Relay NAT)兩種方式,二者比較鮮明的不同點(diǎn)是TURN是一個(gè)中間服務(wù)器,所有需要穿越NAT的數(shù)據(jù)包都發(fā)送到TURN服務(wù)器做中轉(zhuǎn)。而STUN無需做數(shù)據(jù)包的中轉(zhuǎn)。
[0033]在NAT穿越技術(shù)中,當(dāng)終端獲取到NAT設(shè)備地址或TURN設(shè)備地址結(jié)束后,都需要進(jìn)行連通性檢測(cè)。所謂連通性檢測(cè),就是在多個(gè)NAT地址準(zhǔn)備之間進(jìn)行是否連通的檢測(cè),目的就是確定從本端到對(duì)端哪個(gè)路徑是可達(dá)的。當(dāng)檢測(cè)完成確定一條通路時(shí),就可以發(fā)送數(shù)據(jù)包了。一般連通性檢測(cè)的NAT連通性檢測(cè)候選地址是在呼叫信令協(xié)議(Sess1nInitiat1n Protocol, SIP)消息中會(huì)話描述協(xié)議(Sess1n Descript1n Protocol, SDP)攜帶的,因此完成SIP的媒體信息交換是進(jìn)行NAT連通性檢測(cè)的第一步(因?yàn)檎?qǐng)求/應(yīng)答完成后,彼此才能知道對(duì)方的NAT連通性檢測(cè)候選地址,才能根據(jù)對(duì)方的NAT連通性檢測(cè)候選地址進(jìn)行連通性檢測(cè))。
[0034]在不對(duì)稱組網(wǎng)系統(tǒng),即一端是支持NAT的終端而另一端是不支持NAT的終端進(jìn)行視頻呼叫時(shí),由于連通性檢測(cè)的發(fā)生是在支持NAT的終端與中間某個(gè)節(jié)點(diǎn)(中間節(jié)點(diǎn)的主要作用是終結(jié)所有的NAT流程,因?yàn)楸唤薪K端是不支持NAT的),因此作為不支持NAT終端而言,并不知道支持NAT的終端與中間服務(wù)器間的NAT檢測(cè)是否已經(jīng)完成,是否可以正常接收或發(fā)送數(shù)據(jù)。不支持NAT的終端有可能是在完成媒體信息交換流程后就開始發(fā)送數(shù)據(jù)。因此,由于連通性檢測(cè)的影響,支持NAT的終端可能在接收視頻請(qǐng)求應(yīng)答后一段時(shí)間無法正常顯示對(duì)端發(fā)來的視頻圖像。
[0035]有鑒于此,本申請(qǐng)?zhí)峁┮环N不對(duì)稱組網(wǎng)系統(tǒng)視頻呼叫方法及終端、服務(wù)器和系統(tǒng),旨在解決不對(duì)稱組網(wǎng)系統(tǒng)視頻呼叫時(shí),支持NAT的終端在接收視頻請(qǐng)求應(yīng)答后較長(zhǎng)時(shí)間無法正常顯示對(duì)端發(fā)來的視頻圖像的問題。
[0036]以下結(jié)合【具體實(shí)施方式】,對(duì)本申請(qǐng)要求保護(hù)的技術(shù)方案進(jìn)行進(jìn)一步地闡述,但是并不用以限定本申請(qǐng)要求保護(hù)的范圍。
[0037]請(qǐng)參閱圖1,圖1是本申請(qǐng)不對(duì)稱組網(wǎng)系統(tǒng)視頻呼叫方法的第一個(gè)實(shí)施方式的流程圖,本實(shí)施方式中,不對(duì)稱組網(wǎng)系統(tǒng)包括支持NAT的終端、中間服務(wù)器以及不支持NAT的終端,本實(shí)施方式是以不對(duì)稱組網(wǎng)系統(tǒng)中支持NAT的終端的角度進(jìn)行描述,本實(shí)施方式的不對(duì)稱組網(wǎng)系統(tǒng)視頻呼叫方法包括:
[0038]步驟SlOl:在支持網(wǎng)絡(luò)地址轉(zhuǎn)換的第一終端與中間服務(wù)器間的網(wǎng)絡(luò)地址轉(zhuǎn)換連通性檢測(cè)完成時(shí),第一終端向不支持網(wǎng)絡(luò)地址轉(zhuǎn)換的第二終端發(fā)送關(guān)鍵幀請(qǐng)求;
[0039]支持NAT的第一終端在中間服務(wù)器返回不支持NAT的第二終端的請(qǐng)求應(yīng)答消息后,得知中間服務(wù)器的NAT連通性候選地址而開始與中間服務(wù)器進(jìn)行連通性檢測(cè)。在檢測(cè)完成時(shí),第一終端主動(dòng)向第二終端發(fā)送關(guān)鍵幀請(qǐng)求,以避免關(guān)鍵幀丟失而導(dǎo)致長(zhǎng)時(shí)間無法正常顯示第二終端發(fā)來的視頻圖像。
[0040]實(shí)際應(yīng)用過程中,第一終端可以通過媒體層面或信令層面發(fā)出關(guān)鍵幀請(qǐng)求,并通過中間服務(wù)器轉(zhuǎn)發(fā)給第二終端。
[0041]步驟S102:第一終端接收第二終端響應(yīng)關(guān)鍵幀請(qǐng)求而返回的關(guān)鍵幀,解析后續(xù)的差別幀而正常顯示第二終端發(fā)來的視頻;
[0042]第二終端接收到來自第一終端的關(guān)鍵幀請(qǐng)求后,向第一終端返回請(qǐng)求應(yīng)答消息,請(qǐng)求應(yīng)答消息中攜帶第一終端請(qǐng)求的關(guān)鍵幀。第二終端將請(qǐng)求應(yīng)答消息返回到中間服務(wù)器,由中間服務(wù)器轉(zhuǎn)發(fā)給第一終端。
[0043]第一終端接收返回的關(guān)鍵幀,可以正常解析后續(xù)的P幀,顯示第二終端發(fā)來的視頻正常。
[0044]通過上述實(shí)施方式的描述,可以理解,本申請(qǐng)不對(duì)稱組網(wǎng)系統(tǒng)視頻呼叫方法,在支持NAT的終端與中間服務(wù)器之間的NAT連通性檢測(cè)完成時(shí),主動(dòng)向不支持NAT的終端發(fā)送關(guān)鍵幀請(qǐng)求,從而接收不支持NAT的終端的關(guān)鍵幀而實(shí)現(xiàn)視頻正常解碼。通過這樣的方式,有效縮短支持NAT的終端在接收視頻請(qǐng)求應(yīng)答消息后無法正常顯示對(duì)端視頻的時(shí)間,給用戶更好的業(yè)務(wù)體驗(yàn)。
[0045]請(qǐng)參閱圖2,圖2是本申請(qǐng)不對(duì)稱組網(wǎng)系統(tǒng)視頻呼叫方法第二個(gè)實(shí)施方式的流程圖,本實(shí)施方式中,不對(duì)稱組網(wǎng)系統(tǒng)包括支持NAT的終端、中間服務(wù)器以及不支持NAT的終端,本實(shí)施方式是以不對(duì)稱組網(wǎng)系統(tǒng)中支持NAT的終端的角度進(jìn)行描述,本實(shí)施方式的不對(duì)稱組網(wǎng)系統(tǒng)視頻呼叫方法包括:
[0046]步驟S201:支持網(wǎng)絡(luò)地址轉(zhuǎn)換的第一終端通過中間服務(wù)器向不支持網(wǎng)絡(luò)地址轉(zhuǎn)換的第二終端發(fā)出視頻請(qǐng)求;
[0047]支持NAT的第一終端發(fā)起視頻請(qǐng)求,攜帶視頻編解碼信息以及自身NAT連通性檢測(cè)候選地址在SDP中,中間服務(wù)器收到攜帶了 NAT連通性檢測(cè)候選地址的視頻請(qǐng)求后,去掉視頻請(qǐng)求中的NAT連通性檢測(cè)候選地址,然后將視頻請(qǐng)求發(fā)送給不支持NAT的第二終端。
[0048]不支持NAT的第二終端發(fā)送沒有攜帶NAT連通性檢測(cè)候選地址的請(qǐng)求應(yīng)答消息給中間服務(wù)器,中間服務(wù)器收到請(qǐng)求應(yīng)答消息后,添加自身的NAT連通性檢測(cè)候選地址信息到請(qǐng)求應(yīng)答消息后,將請(qǐng)求應(yīng)答消息轉(zhuǎn)發(fā)給支持NAT的第一終端。
[0049]步驟S202:第一終端接收攜帶中間服務(wù)器的網(wǎng)絡(luò)地址轉(zhuǎn)換連通性檢測(cè)候選地址的請(qǐng)求應(yīng)答消息,開始與中間服務(wù)器進(jìn)行網(wǎng)絡(luò)地址轉(zhuǎn)換連通性檢測(cè);
[0050]支持NAT的第一終端接收通過中間服務(wù)器轉(zhuǎn)發(fā)的請(qǐng)求應(yīng)答消息,完成了媒體信息交換,得到了彼此的NAT連通性檢測(cè)候選地址,開始與中間服務(wù)器進(jìn)行NAT連通性檢測(cè)。
[0051]不支持NAT的第二終端可能在第一終端與中間服務(wù)器的NAT連通性檢測(cè)完成之前就開始發(fā)送視頻數(shù)據(jù),即發(fā)送第一個(gè)關(guān)鍵幀。由于第一終端與中間服務(wù)器的NAT連通性檢測(cè)尚未完成,因此可能丟棄第二終端的第一個(gè)關(guān)鍵幀。
[0052]步驟S203:在第一終端與中間服務(wù)器間的網(wǎng)絡(luò)地址轉(zhuǎn)換連通性檢測(cè)完成時(shí),第一終端向第二終端發(fā)送關(guān)鍵幀請(qǐng)求;
[0053]支持NAT的第一終端在發(fā)現(xiàn)NAT檢測(cè)完成后,與對(duì)端建立了通路可以開始傳輸數(shù)據(jù)。這時(shí)第一終端向第二終端開始發(fā)送視頻。同時(shí),第一終端在媒體層面或信令層面主動(dòng)發(fā)送一個(gè)關(guān)鍵幀請(qǐng)求消息,比如在媒體層面主動(dòng)發(fā)送一個(gè)關(guān)鍵幀請(qǐng)求實(shí)時(shí)傳輸控制協(xié)議(Real-time Transport Control Protocol, RTCP)消息,或在信令層面主動(dòng)發(fā)送一個(gè) INFO消息(INF0消息的目的是沿著SIP信令通路攜帶應(yīng)用層消息)并通過中間服務(wù)器轉(zhuǎn)發(fā)給不支持NAT的第二終端。
[0054]步驟S204:第一終端接收第二終端響應(yīng)關(guān)鍵幀請(qǐng)求而返回的關(guān)鍵幀,解析后續(xù)的差別幀而正常顯示第二終端發(fā)來的視頻;
[0055]不支持NAT的第二終端收到關(guān)鍵幀請(qǐng)求消息后,主動(dòng)發(fā)送一個(gè)關(guān)鍵幀到中間服務(wù)器,中間服務(wù)器將第二終端發(fā)來的關(guān)鍵幀轉(zhuǎn)發(fā)到第一終端,第一終端收到關(guān)鍵幀后,能夠正常解析后續(xù)的P幀,顯示對(duì)端視頻畫面正常。
[0056]請(qǐng)參閱圖3,圖3是本申請(qǐng)不對(duì)稱組網(wǎng)系統(tǒng)視頻呼叫方法第三個(gè)實(shí)施方式的流程圖,本實(shí)施方式中,不對(duì)稱組網(wǎng)系統(tǒng)包括支持NAT的終端、中間服務(wù)器以及不支持NAT的終端,本實(shí)施方式是以不對(duì)稱組網(wǎng)系統(tǒng)的中間服務(wù)器的角度進(jìn)行描述,本實(shí)施方式的不對(duì)稱組網(wǎng)系統(tǒng)視頻呼叫方法包括:
[0057]步驟S301:在支持網(wǎng)絡(luò)地址轉(zhuǎn)換的第一終端與中間服務(wù)器間的網(wǎng)絡(luò)地址轉(zhuǎn)換連通性檢測(cè)完成時(shí),中間服務(wù)器向不支持網(wǎng)絡(luò)地址轉(zhuǎn)換的第二終端發(fā)送關(guān)鍵幀請(qǐng)求;
[0058]支持NAT的第一終端在中間服務(wù)器返回不支持NAT終端的請(qǐng)求應(yīng)答消息后,得知中間服務(wù)器的NAT連通性候選地址而開始與中間服務(wù)器進(jìn)行連通性檢測(cè)。在檢測(cè)完成時(shí),中間服務(wù)器主動(dòng)向第二終端發(fā)送關(guān)鍵幀請(qǐng)求,以避免關(guān)鍵幀丟失而導(dǎo)致第一終端長(zhǎng)時(shí)間無法正常顯示第二終端發(fā)來的視頻圖像。
[0059]實(shí)際應(yīng)用過程中,中間服務(wù)器可以通過媒體層面或信令層面向第二終端發(fā)出關(guān)鍵幀請(qǐng)求。
[0060]步驟S302:中間服務(wù)器接收第二終端響應(yīng)關(guān)鍵幀請(qǐng)求而返回的關(guān)鍵幀并轉(zhuǎn)發(fā)給第一終端;
[0061]第二終端接收到關(guān)鍵幀請(qǐng)求后,向中間服務(wù)器返回請(qǐng)求應(yīng)答消息,請(qǐng)求應(yīng)答消息中攜帶中間服務(wù)器所請(qǐng)求的關(guān)鍵幀。中間服務(wù)器將關(guān)鍵幀轉(zhuǎn)發(fā)給第一終端。
[0062]第一終端接收返回的關(guān)鍵幀,可以正常解析后續(xù)的P幀,顯示第二終端發(fā)來的視頻正常。
[0063]請(qǐng)參閱圖4,圖4是本申請(qǐng)不對(duì)稱組網(wǎng)系統(tǒng)視頻呼叫方法第四個(gè)實(shí)施方式的流程圖,本實(shí)施方式中,不對(duì)稱組網(wǎng)系統(tǒng)包括支持NAT的終端、中間服務(wù)器以及不支持NAT的終端,本實(shí)施方式是以不對(duì)稱組網(wǎng)系統(tǒng)的中間服務(wù)器的角度進(jìn)行描述,本實(shí)施方式的不對(duì)稱組網(wǎng)系統(tǒng)視頻呼叫方法包括:
[0064]步驟S401:中間服務(wù)器接收支持網(wǎng)絡(luò)地址轉(zhuǎn)換的第一終端的視頻請(qǐng)求;
[0065]支持NAT的第一終端發(fā)起視頻請(qǐng)求,攜帶視頻編解碼信息以及自身NAT連通性檢測(cè)候選地址在SDP中,中間服務(wù)器接收第一終端的視頻請(qǐng)求。
[0066]步驟S402:中間服務(wù)器刪除視頻請(qǐng)求中的網(wǎng)絡(luò)地址轉(zhuǎn)換連通性檢測(cè)候選地址后將視頻請(qǐng)求轉(zhuǎn)發(fā)給不支持網(wǎng)絡(luò)地址轉(zhuǎn)換的第二終端;
[0067]中間服務(wù)器接收到來自第一終端的攜帶了 NAT連通性檢測(cè)候選地址的視頻請(qǐng)求后,去掉視頻請(qǐng)求中的NAT連通性檢測(cè)候選地址,然后將視頻請(qǐng)求發(fā)送給不支持NAT的第二終端。
[0068]步驟S403:中間服務(wù)器接收來自第二終端的請(qǐng)求應(yīng)答消息,添加自身的網(wǎng)絡(luò)地址轉(zhuǎn)換連通性檢測(cè)候選地址到請(qǐng)求應(yīng)答消息中,然后將請(qǐng)求應(yīng)答消息轉(zhuǎn)發(fā)給第一終端;
[0069]不支持NAT的第二終端接收到視頻請(qǐng)求后,發(fā)送沒有攜帶NAT連通性檢測(cè)候選地址的請(qǐng)求應(yīng)答消息給中間服務(wù)器,中間服務(wù)器收到請(qǐng)求應(yīng)答消息后,添加自身的NAT連通性檢測(cè)候選地址信息到請(qǐng)求應(yīng)答消息后,將請(qǐng)求應(yīng)答消息轉(zhuǎn)發(fā)給支持NAT的第一終端。
[0070]支持NAT的第一終端接收通過中間服務(wù)器轉(zhuǎn)發(fā)的請(qǐng)求應(yīng)答消息,完成了媒體信息交換,得到了彼此的NAT連通性檢測(cè)候選地址,開始與中間服務(wù)器進(jìn)行NAT連通性檢測(cè)。
[0071]不支持NAT的第二終端可能在第一終端與中間服務(wù)器的NAT連通性檢測(cè)完成之前就開始發(fā)送視頻數(shù)據(jù),即發(fā)送第一個(gè)關(guān)鍵幀。由于第一終端與中間服務(wù)器的NAT連通性檢測(cè)尚未完成,因此可能丟棄第二終端的第一個(gè)關(guān)鍵幀。
[0072]步驟S404:在第一終端與中間服務(wù)器間的網(wǎng)絡(luò)地址轉(zhuǎn)換連通性檢測(cè)完成時(shí),中間服務(wù)器向第二終端發(fā)送關(guān)鍵幀請(qǐng)求;
[0073]支持NAT的第一終端與中間服務(wù)器NAT連通性檢測(cè)完成,第一終端與對(duì)端建立了通路可以開始傳輸數(shù)據(jù)。這時(shí)第一終端通過中間服務(wù)器向第二終端開始發(fā)送視頻,第二終端能夠正常顯示第一終端發(fā)來的視頻圖像。同時(shí),中間服務(wù)器在媒體層面或信令層面主動(dòng)發(fā)送一個(gè)關(guān)鍵幀請(qǐng)求RTCP消息給不支持NAT的第二終端。
[0074]步驟S405:中間服務(wù)器接收第二終端響應(yīng)關(guān)鍵幀請(qǐng)求而返回的關(guān)鍵幀并轉(zhuǎn)發(fā)給第一終端;
[0075]不支持NAT的第二終端收到關(guān)鍵幀請(qǐng)求消息后,主動(dòng)發(fā)送一個(gè)關(guān)鍵幀到中間服務(wù)器,中間服務(wù)器將第二終端發(fā)來的關(guān)鍵幀轉(zhuǎn)發(fā)到第一終端,第一終端收到關(guān)鍵幀后,能夠正常解析后續(xù)的P幀,顯示對(duì)端視頻畫面正常。
[0076]為進(jìn)一步解釋本申請(qǐng)的不對(duì)稱組網(wǎng)系統(tǒng)視頻呼叫方法,以下結(jié)合一個(gè)具體的實(shí)施方式,具體描述支持NAT的終端與不支持NAT的終端通過中間服務(wù)器而相互交互實(shí)現(xiàn)過程,具體解釋本申請(qǐng)的不對(duì)稱組網(wǎng)系統(tǒng)視頻呼叫方法:
[0077]請(qǐng)參閱圖5,圖5是本申請(qǐng)不對(duì)稱組網(wǎng)系統(tǒng)視頻呼叫方法第五個(gè)實(shí)施方式的流程圖,本實(shí)施方式包括以下步驟:
[0078]S1:支持NAT終端發(fā)起視頻請(qǐng)求;
[0079]支持NAT終端發(fā)起視頻請(qǐng)求,攜帶視頻編解碼信息以及自身的NAT連通性檢測(cè)候選地址在SDP中,通過中間服務(wù)器轉(zhuǎn)發(fā)給不支持NAT終端。
[0080]S2:中間服務(wù)器接收到來自支持NAT終端的視頻請(qǐng)求,去掉NAT連通性檢測(cè)候選地址,發(fā)給不支持NAT終端;
[0081]中間服務(wù)器收到攜帶了 NAT連通性檢測(cè)候選地址的視頻請(qǐng)求后,去掉支持NAT終端的NAT連通性檢測(cè)候選地址,發(fā)送給不支持NAT的終端。
[0082]S3:不支持NAT終端發(fā)送沒有攜帶NAT連通性檢測(cè)候選地址的應(yīng)答給中間服務(wù)器;
[0083]不支持NAT終端發(fā)送沒有攜帶NAT連通性檢測(cè)候選地址的應(yīng)答發(fā)送給中間服務(wù)器,由中間服務(wù)器轉(zhuǎn)發(fā)給支持NAT終端。
[0084]S4:中間服務(wù)器收到應(yīng)答后,添加NAT連通性檢測(cè)候選地址到SDP中轉(zhuǎn)發(fā)給支持NAT終端;
[0085]中間服務(wù)器接收到應(yīng)答后,添加自身的NAT連通性檢測(cè)候選地址到SDP中,將應(yīng)答通過SDP轉(zhuǎn)發(fā)給支持NAT終端。
[0086]S5:不支持NAT終端向中間服務(wù)器發(fā)送第一個(gè)關(guān)鍵幀;
[0087]由于不支持NAT終端不知道支持NAT終端與中間服務(wù)器之間的連通性檢測(cè)是否完成,因此可能在完成媒體信息交換(即接收視屏請(qǐng)求并返回應(yīng)答消息)后就有可能開始向支持NAT終端發(fā)送媒體。因此該步驟的行為,即向中間服務(wù)器發(fā)送第一個(gè)關(guān)鍵幀,通過中間服務(wù)器轉(zhuǎn)發(fā)給支持NAT終端。
[0088]S6:進(jìn)行連通性檢測(cè);
[0089]中間服務(wù)器與支持NAT終端之間由于完成了媒體信息交換,得到了彼此的NAT連通性檢測(cè)候選地址,開始進(jìn)行連通性檢測(cè)。
[0090]S7:可能丟棄第一個(gè)關(guān)鍵幀;
[0091]由于中間服務(wù)器與支持NAT終端之間的NAT連通性檢測(cè)尚未完成,因此可能丟棄不支持NAT終端的第一個(gè)關(guān)鍵幀。
[0092]S8:連通性檢測(cè)完成;
[0093]中間服務(wù)器與支持NAT終端的連通性檢測(cè)完成。
[0094]S9:支持NAT終端發(fā)送第一個(gè)關(guān)鍵幀;
[0095]在連通性檢測(cè)完成后,支持NAT終端開始通過中間服務(wù)器向不支持NAT終端發(fā)送視頻,即發(fā)送第一個(gè)關(guān)鍵幀。
[0096]SlO:中間服務(wù)器將來自支持NAT終端的第一個(gè)關(guān)鍵幀發(fā)給不支持NAT終端,不支持NAT終端顯示支持NAT終端發(fā)送的視頻正常;
[0097]中間服務(wù)器將支持NAT終端發(fā)來的關(guān)鍵幀轉(zhuǎn)發(fā)給對(duì)端即不支持NAT終端,不支持NAT終端收到該關(guān)鍵幀后,可以正常解析后續(xù)的P幀。不支持NAT終端顯示支持NAT終端發(fā)送的視頻正常。
[0098]Sll:支持NAT終端發(fā)現(xiàn)NAT檢測(cè)完成后,在媒體層面主動(dòng)向不支持NAT終端發(fā)送一個(gè)關(guān)鍵幀請(qǐng)求消息;
[0099]支持NAT終端發(fā)現(xiàn)NAT檢測(cè)完成后,在媒體層面主動(dòng)發(fā)送一個(gè)關(guān)鍵幀請(qǐng)求RTCP消息,通過中間服務(wù)器轉(zhuǎn)發(fā)給不支持NAT終端。
[0100]需要說明的是,支持終端發(fā)現(xiàn)NAT檢測(cè)完成后,也可以在信令層面主動(dòng)發(fā)送一個(gè)關(guān)鍵幀請(qǐng)求消息如SIP的INFO消息,通過中間服務(wù)器轉(zhuǎn)發(fā)給不支持NAT終端。
[0101]S12:中間服務(wù)器將關(guān)鍵幀請(qǐng)求消息轉(zhuǎn)發(fā)給不支持NAT終端;
[0102]中間服務(wù)器收到通過媒體層面或信令層面的關(guān)鍵幀請(qǐng)求消息后,將關(guān)鍵幀請(qǐng)求消息轉(zhuǎn)發(fā)給不支持NAT終端。
[0103]S13:不支持NAT終端收到關(guān)鍵幀請(qǐng)求后,發(fā)送第二個(gè)關(guān)鍵幀到中間服務(wù)器;
[0104]不支持NAT收到關(guān)鍵幀請(qǐng)求后,需要主動(dòng)發(fā)送一個(gè)關(guān)鍵幀即第二個(gè)關(guān)鍵幀到中間服務(wù)器,通過中間服務(wù)器轉(zhuǎn)發(fā)給支持NAT終端。
[0105]S14:中間服務(wù)器收到第二個(gè)關(guān)鍵幀后,轉(zhuǎn)發(fā)給支持NAT終端,支持NAT終端顯示對(duì)端視頻正常。
[0106]中間服務(wù)器收到不支持NAT終端發(fā)送來的第二個(gè)關(guān)鍵幀后,轉(zhuǎn)發(fā)到支持NAT終端,支持NAT終端收到該第二個(gè)關(guān)鍵幀后,可以正常解析后續(xù)的P幀,顯示對(duì)端視頻正常。
[0107]需要說明的是,本實(shí)施方式的發(fā)送關(guān)鍵幀請(qǐng)求的執(zhí)行步驟也可以由中間服務(wù)器主動(dòng)發(fā)起。即中間服務(wù)器在與支持NAT終端完成連通性檢測(cè)完成后,可以在媒體層面或信令層面主動(dòng)向不支持NAT終端發(fā)送一個(gè)關(guān)鍵幀請(qǐng)求消息,比如通過媒體層面發(fā)送一個(gè)關(guān)鍵幀請(qǐng)求RTCP消息,或通過信令層面發(fā)送一個(gè)關(guān)鍵幀請(qǐng)求消息如SIP的INFO消息,對(duì)于該步驟之前的步驟以及該步驟之后的執(zhí)行步驟跟本實(shí)施方式的實(shí)現(xiàn)過程一樣,本申請(qǐng)不一一進(jìn)行舉例說明。
[0108]請(qǐng)參閱圖6,圖6是本申請(qǐng)支持NAT的終端一個(gè)實(shí)施方式的結(jié)構(gòu)示意圖,本實(shí)施方式的支持NAT的終端與不支持NAT的終端通過中間服務(wù)器進(jìn)行視頻呼叫,支持NAT的終端100包括請(qǐng)求模塊11和接收模塊12,其中:
[0109]請(qǐng)求模塊11用于在支持NAT的終端與中間服務(wù)器間的NAT連通性檢測(cè)完成時(shí),向不支持NAT的終端發(fā)送關(guān)鍵幀請(qǐng)求;
[0110]支持NAT的終端在中間服務(wù)器返回不支持NAT的終端的請(qǐng)求應(yīng)答消息后,得知中間服務(wù)器的NAT連通性候選地址而開始與中間服務(wù)器進(jìn)行連通性檢測(cè)。在檢測(cè)完成時(shí),通過請(qǐng)求模塊11主動(dòng)向不支持NAT的終端發(fā)送關(guān)鍵幀請(qǐng)求,以避免關(guān)鍵幀丟失而導(dǎo)致長(zhǎng)時(shí)間無法正常顯示不支持NAT的終端發(fā)來的視頻圖像。
[0111]實(shí)際應(yīng)用過程中,請(qǐng)求模塊11可以通過媒體層面或信令層面發(fā)出關(guān)鍵幀請(qǐng)求,并通過中間服務(wù)器轉(zhuǎn)發(fā)給不支持NAT的終端。
[0112]接收模塊12用于接收不支持NAT的終端響應(yīng)關(guān)鍵幀請(qǐng)求而返回的關(guān)鍵幀,解析后續(xù)的差別幀而正常顯示不支持NAT的終端發(fā)來的視頻。
[0113]不支持NAT的終端接收到關(guān)鍵幀請(qǐng)求后,向支持NAT的終端返回請(qǐng)求應(yīng)答消息,請(qǐng)求應(yīng)答消息中攜帶請(qǐng)求的關(guān)鍵幀。不支持NAT的終端將請(qǐng)求應(yīng)答消息返回到中間服務(wù)器,由中間服務(wù)器轉(zhuǎn)發(fā)給接收模塊12。
[0114]接收模塊12接收返回的關(guān)鍵幀,可以正常解析后續(xù)的P幀,顯示不支持NAT的終端發(fā)來的視頻正常。
[0115]其中,請(qǐng)求模塊11還用于通過中間服務(wù)器向不支持NAT的終端發(fā)出視頻請(qǐng)求,視頻請(qǐng)求攜帶視頻編解碼信息以及支持NAT的終端的NAT連通性檢測(cè)候選地址;
[0116]請(qǐng)求模塊11發(fā)起視頻請(qǐng)求,攜帶視頻編解碼信息以及自身NAT連通性檢測(cè)候選地址在SDP中,中間服務(wù)器收到攜帶了 NAT連通性檢測(cè)候選地址的視頻請(qǐng)求后,去掉視頻請(qǐng)求中的NAT連通性檢測(cè)候選地址,然后將視頻請(qǐng)求發(fā)送給不支持NAT的終端。
[0117]不支持NAT的終端發(fā)送沒有攜帶NAT連通性檢測(cè)候選地址的請(qǐng)求應(yīng)答消息給中間服務(wù)器,中間服務(wù)器收到請(qǐng)求應(yīng)答消息后,添加自身的NAT連通性檢測(cè)候選地址信息到請(qǐng)求應(yīng)答消息后,將請(qǐng)求應(yīng)答消息轉(zhuǎn)發(fā)給接收模塊12。
[0118]接收模塊12還用于接收攜帶中間服務(wù)器的網(wǎng)絡(luò)地址轉(zhuǎn)換連通性檢測(cè)候選地址的請(qǐng)求應(yīng)答消息,開始與中間服務(wù)器進(jìn)行網(wǎng)絡(luò)地址轉(zhuǎn)換連通性檢測(cè)。
[0119]接收模塊12接收通過中間服務(wù)器轉(zhuǎn)發(fā)的請(qǐng)求應(yīng)答消息,完成了媒體信息交換,得到了彼此的NAT連通性檢測(cè)候選地址,開始與中間服務(wù)器進(jìn)行NAT連通性檢測(cè)。
[0120]請(qǐng)參閱圖7,圖7是本申請(qǐng)服務(wù)器一個(gè)實(shí)施方式的結(jié)構(gòu)示意圖,支持NAT的終端與不支持NAT的終端通過本實(shí)施方式的服務(wù)器進(jìn)行視頻呼叫,本實(shí)施方式的服務(wù)器200包括請(qǐng)求模塊21和轉(zhuǎn)發(fā)模塊22,其中:
[0121]請(qǐng)求模塊21用于在支持NAT的終端與服務(wù)器間的網(wǎng)絡(luò)地址轉(zhuǎn)換連通性檢測(cè)完成時(shí),向不支持NAT的終端發(fā)送關(guān)鍵幀請(qǐng)求;
[0122]支持NAT的終端在服務(wù)器返回不支持NAT終端的請(qǐng)求應(yīng)答消息后,得知中間服務(wù)器的NAT連通性候選地址而開始與服務(wù)器進(jìn)行連通性檢測(cè)。在檢測(cè)完成時(shí),請(qǐng)求模塊21主動(dòng)向不支持NAT的終端發(fā)送關(guān)鍵幀請(qǐng)求,以避免關(guān)鍵幀丟失而導(dǎo)致支持NAT的終端長(zhǎng)時(shí)間無法正常顯示第二終端發(fā)來的視頻圖像。
[0123]實(shí)際應(yīng)用過程中,請(qǐng)求模塊21可以通過媒體層面或信令層面向不支持NAT的終端發(fā)出關(guān)鍵幀請(qǐng)求。
[0124]轉(zhuǎn)發(fā)模塊22用于接收不支持NAT的終端響應(yīng)關(guān)鍵幀請(qǐng)求而返回的關(guān)鍵幀,并將關(guān)鍵幀轉(zhuǎn)發(fā)給支持NAT的終端,以使支持NAT的終端能夠正常顯示不支持NAT的終端發(fā)來的視頻。
[0125]不支持NAT的終端接收到關(guān)鍵幀請(qǐng)求后,向轉(zhuǎn)發(fā)模塊22返回請(qǐng)求應(yīng)答消息,請(qǐng)求應(yīng)答消息中攜帶中間服務(wù)器所請(qǐng)求的關(guān)鍵幀。轉(zhuǎn)發(fā)模塊22將關(guān)鍵幀轉(zhuǎn)發(fā)給支持NAT的終端。
[0126]支持NAT的終端接收返回的關(guān)鍵幀,可以正常解析后續(xù)的P幀,顯示不支持NAT的終端發(fā)來的視頻正常。
[0127]其中,轉(zhuǎn)發(fā)模塊22用于接收支持NAT的終端的視頻請(qǐng)求,視頻請(qǐng)求攜帶視頻編解碼信息以及支持NAT的終端的NAT連通性檢測(cè)候選地址,刪除視頻請(qǐng)求中的NAT連通性檢測(cè)候選地址后將視頻請(qǐng)求轉(zhuǎn)發(fā)給不支持NAT的終端。
[0128]支持NAT的終端發(fā)起視頻請(qǐng)求,攜帶視頻編解碼信息以及自身NAT連通性檢測(cè)候選地址在SDP中,轉(zhuǎn)發(fā)模塊22接收到來自支持NAT的終端的攜帶NAT連通性檢測(cè)候選地址的視頻請(qǐng)求后,去掉視頻請(qǐng)求中的NAT連通性檢測(cè)候選地址,然后將視頻請(qǐng)求發(fā)送給不支持NAT的終端。
[0129]轉(zhuǎn)發(fā)模塊22接收來自不支持NAT的終端的請(qǐng)求應(yīng)答消息,添加服務(wù)器的NAT連通性檢測(cè)候選地址到請(qǐng)求應(yīng)答消息中,然后將請(qǐng)求應(yīng)答消息轉(zhuǎn)發(fā)給支持NAT的終端。
[0130]不支持NAT的終端接收到視頻請(qǐng)求后,發(fā)送沒有攜帶NAT連通性檢測(cè)候選地址的請(qǐng)求應(yīng)答消息給服務(wù)器的轉(zhuǎn)發(fā)模塊22,轉(zhuǎn)發(fā)模塊22接收到請(qǐng)求應(yīng)答消息后,添加服務(wù)器的NAT連通性檢測(cè)候選地址信息到請(qǐng)求應(yīng)答消息后,將請(qǐng)求應(yīng)答消息轉(zhuǎn)發(fā)給支持NAT的終端。
[0131]支持NAT的終端接收通過轉(zhuǎn)發(fā)模塊22轉(zhuǎn)發(fā)的請(qǐng)求應(yīng)答消息,完成了媒體信息交換,得到了彼此的NAT連通性檢測(cè)候選地址,開始與服務(wù)器進(jìn)行NAT連通性檢測(cè)。
[0132]請(qǐng)參閱圖8,圖8是本申請(qǐng)支持NAT的終端另一個(gè)實(shí)施方式的結(jié)構(gòu)示意圖,本實(shí)施方式的支持NAT的終端與不支持NAT的終端通過中間服務(wù)器進(jìn)行視頻呼叫,本實(shí)施方式支持NAT的終端300包括處理器31、接收器32、發(fā)送器33、隨機(jī)存取存儲(chǔ)器34、只讀存儲(chǔ)器35、總線36以及網(wǎng)絡(luò)接口單元37。其中,處理器31通過總線36分別耦接接收器32、發(fā)送器33、隨機(jī)存取存儲(chǔ)器34、只讀存儲(chǔ)器35以及網(wǎng)絡(luò)接口單元37。其中,當(dāng)需要運(yùn)行支持NAT的終端300時(shí),通過固化在只讀存儲(chǔ)器34中的基本輸入輸出系統(tǒng)或者嵌入式系統(tǒng)中的bootloader引導(dǎo)系統(tǒng)進(jìn)行啟動(dòng),引導(dǎo)支持NAT的終端300進(jìn)入正常運(yùn)行狀態(tài)。在支持NAT的終端300進(jìn)入正常運(yùn)行狀態(tài)后,在隨機(jī)存取存儲(chǔ)器33中運(yùn)行應(yīng)用程序和操作系統(tǒng),通過網(wǎng)絡(luò)接口單元36從網(wǎng)絡(luò)接收數(shù)據(jù)或者向網(wǎng)絡(luò)發(fā)送數(shù)據(jù),使得:
[0133]處理器31在支持NAT的終端與中間服務(wù)器的NAT連通性檢測(cè)完成時(shí),向不支持NAT的終端發(fā)送關(guān)鍵幀請(qǐng)求,并接收不支持NAT的終端響應(yīng)關(guān)鍵幀請(qǐng)求而返回的關(guān)鍵幀,正常解析后續(xù)的P幀,顯示不支持NAT的終端發(fā)來的視頻圖像正常。
[0134]另一方面,處理器31還用于通過中間服務(wù)器向不支持NAT的終端發(fā)送視頻請(qǐng)求,所述視頻請(qǐng)求攜帶視頻編解碼信息以及支持NAT的終端的NAT連通性檢測(cè)候選地址,并接收返回的視頻請(qǐng)求應(yīng)答消息而使支持NAT的終端與中間服務(wù)器之間開始進(jìn)行NAT連通性檢測(cè)。
[0135]本實(shí)施方式中,處理器31可能是一個(gè)中央處理器CPU,或者是特定集成電路ASIC(Applicat1n Specific Integrated Circuit),或者是被配置成實(shí)施本申請(qǐng)實(shí)施方式的一個(gè)或多個(gè)集成電路。
[0136]發(fā)送器33在NAT連通性檢測(cè)完成后,發(fā)送視頻數(shù)據(jù)到中間服務(wù)器,中間服務(wù)器將視頻數(shù)據(jù)轉(zhuǎn)發(fā)給不支持NAT的終端;
[0137]接收器32接收不支持NAT的終端通過中間服務(wù)器轉(zhuǎn)發(fā)過來的視頻數(shù)據(jù)。
[0138]在本申請(qǐng)上述提供的支持NAT的終端以及服務(wù)器的實(shí)施方式的基礎(chǔ)上,本申請(qǐng)進(jìn)一步提供一種網(wǎng)絡(luò)系統(tǒng),該網(wǎng)絡(luò)系統(tǒng)包括上述任一實(shí)施方式所述的支持NAT的終端以及上述任一實(shí)施方式所述的服務(wù)器,還包括不支持NAT的終端。支持NAT的終端通過服務(wù)器與不支持NAT的終端之間進(jìn)行視頻呼叫并實(shí)現(xiàn)視頻數(shù)據(jù)的交互傳輸。
[0139]上述實(shí)施方式,本申請(qǐng)不對(duì)稱組網(wǎng)系統(tǒng)視頻呼叫方法及終端、服務(wù)器和系統(tǒng),在支持NAT的終端與中間服務(wù)器之間的NAT連通性檢測(cè)完成時(shí),主動(dòng)向不支持的NAT終端發(fā)送關(guān)鍵幀請(qǐng)求,從而接收不支持NAT的終端的關(guān)鍵幀而實(shí)現(xiàn)視頻正常解碼。通過這樣的方式,有效縮短支持NAT終端在接收視頻請(qǐng)求應(yīng)答消息后無法正常顯示對(duì)端視頻的時(shí)間,給用戶更好的業(yè)務(wù)體驗(yàn)。
[0140]在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng),裝置和方法,可以通過其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述模塊或單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。
[0141]所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的。
[0142]另外,在本申請(qǐng)各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。
[0143]所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本申請(qǐng)的技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)或處理器(processor)執(zhí)行本申請(qǐng)各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤、移動(dòng)硬盤、只讀存儲(chǔ)器(ROM, Read-Only Memory)、隨機(jī)存取存儲(chǔ)器(RAM, Random Access Memory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
[0144]以上所述僅為本申請(qǐng)的實(shí)施例,并非因此限制本申請(qǐng)的專利范圍,凡是利用本申請(qǐng)說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的【技術(shù)領(lǐng)域】,均同理包括在本申請(qǐng)的專利保護(hù)范圍內(nèi)。
【權(quán)利要求】
1.一種不對(duì)稱組網(wǎng)系統(tǒng)視頻呼叫方法,所述不對(duì)稱組網(wǎng)系統(tǒng)包括支持網(wǎng)絡(luò)地址轉(zhuǎn)換的第一終端、中間服務(wù)器以及不支持網(wǎng)絡(luò)地址轉(zhuǎn)換的第二終端,其特征在于,所述方法包括: 在所述第一終端與所述中間服務(wù)器間的網(wǎng)絡(luò)地址轉(zhuǎn)換連通性檢測(cè)完成時(shí),所述第一終端向所述第二終端發(fā)送關(guān)鍵幀請(qǐng)求; 所述第一終端接收所述第二終端響應(yīng)所述關(guān)鍵幀請(qǐng)求而返回的關(guān)鍵幀,解析后續(xù)的差別幀而正常顯示所述第二終端發(fā)來的視頻。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于, 所述向所述第二終端發(fā)送關(guān)鍵幀請(qǐng)求的步驟包括:所述第一終端在媒體層面或信令層面發(fā)出關(guān)鍵幀請(qǐng)求,并通過所述中間服務(wù)器轉(zhuǎn)發(fā)給所述第二終端。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于, 所述在所述第一終端與所述中間服務(wù)器間的網(wǎng)絡(luò)地址轉(zhuǎn)換連通性檢測(cè)完成之前,所述方法還包括: 所述第一終端通過所述中間服務(wù)器向所述第二終端發(fā)出視頻請(qǐng)求,所述視頻請(qǐng)求攜帶視頻編解碼信息以及所述第一終端的網(wǎng)絡(luò)地址轉(zhuǎn)換連通性檢測(cè)候選地址; 所述第一終端接收攜帶所述中間服務(wù)器的網(wǎng)絡(luò)地址轉(zhuǎn)換連通性檢測(cè)候選地址的請(qǐng)求應(yīng)答消息,開始與所述中間服務(wù)器進(jìn)行網(wǎng)絡(luò)地址轉(zhuǎn)換連通性檢測(cè)。
4.一種不對(duì)稱組網(wǎng)系統(tǒng)視頻呼叫方法,所述不對(duì)稱組網(wǎng)系統(tǒng)包括支持網(wǎng)絡(luò)地址轉(zhuǎn)換的第一終端、中間服務(wù)器以及不支持網(wǎng)絡(luò)地址轉(zhuǎn)換的第二終端,其特征在于,所述方法包括: 在所述第一終端與所述中間服務(wù)器間的網(wǎng)絡(luò)地址轉(zhuǎn)換連通性檢測(cè)完成時(shí),所述中間服務(wù)器向所述第二終端發(fā)送關(guān)鍵幀請(qǐng)求; 所述中間服務(wù)器接收所述第二終端響應(yīng)所述關(guān)鍵幀請(qǐng)求而返回的關(guān)鍵幀,并將所述關(guān)鍵幀轉(zhuǎn)發(fā)給所述第一終端,以使所述第一終端能夠正常顯示第二終端發(fā)來的視頻。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于, 所述中間服務(wù)器向所述第二終端發(fā)送關(guān)鍵幀請(qǐng)求的步驟包括:所述中間服務(wù)器在媒體層面或信令層面向所述第二終端發(fā)送關(guān)鍵幀請(qǐng)求。
6.根據(jù)權(quán)利要求4所述的方法,其特征在于, 所述在所述第一終端與所述中間服務(wù)器間的網(wǎng)絡(luò)地址轉(zhuǎn)換連通性檢測(cè)完成之前,還包括: 所述中間服務(wù)器接收所述第一終端的視頻請(qǐng)求,所述視頻請(qǐng)求攜帶視頻編解碼信息以及所述第一終端的網(wǎng)絡(luò)地址轉(zhuǎn)換連通性檢測(cè)候選地址; 所述中間服務(wù)器刪除所述視頻請(qǐng)求中的網(wǎng)絡(luò)地址轉(zhuǎn)換連通性檢測(cè)候選地址后將所述視頻請(qǐng)求轉(zhuǎn)發(fā)給所述第二終端。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于, 所述將所述視頻請(qǐng)求轉(zhuǎn)發(fā)給所述第二終端的步驟之后,還包括: 所述中間服務(wù)器接收來自所述第二終端的請(qǐng)求應(yīng)答消息,添加自身的網(wǎng)絡(luò)地址轉(zhuǎn)換連通性檢測(cè)候選地址到所述請(qǐng)求應(yīng)答消息中,然后將請(qǐng)求應(yīng)答消息轉(zhuǎn)發(fā)給所述第一終端。
8.一種支持網(wǎng)絡(luò)地址轉(zhuǎn)換的終端,其特征在于,所述支持網(wǎng)絡(luò)地址轉(zhuǎn)換的終端與不支持網(wǎng)絡(luò)地址轉(zhuǎn)換的終端通過中間服務(wù)器進(jìn)行視頻呼叫,所述支持網(wǎng)絡(luò)地址轉(zhuǎn)換的終端包括請(qǐng)求模塊和接收模塊,其中: 所述請(qǐng)求模塊用于在所述支持網(wǎng)絡(luò)地址轉(zhuǎn)換的終端與所述中間服務(wù)器間的網(wǎng)絡(luò)地址轉(zhuǎn)換連通性檢測(cè)完成時(shí),向所述不支持網(wǎng)絡(luò)地址轉(zhuǎn)換的終端發(fā)送關(guān)鍵幀請(qǐng)求; 所述接收模塊用于接收所述不支持網(wǎng)絡(luò)地址轉(zhuǎn)換的終端響應(yīng)所述關(guān)鍵幀請(qǐng)求而返回的關(guān)鍵幀,解析后續(xù)的差別幀而正常顯示所述不支持網(wǎng)絡(luò)地址轉(zhuǎn)換的終端發(fā)來的視頻。
9.根據(jù)權(quán)利要求8所述的終端,其特征在于, 所述請(qǐng)求模塊用于在媒體層面或信令層面發(fā)出關(guān)鍵幀請(qǐng)求,并通過所述中間服務(wù)器轉(zhuǎn)發(fā)給所述不支持網(wǎng)絡(luò)地址轉(zhuǎn)換的終端。
10.根據(jù)權(quán)利要求8所述的終端,其特征在于, 所述請(qǐng)求模塊用于通過所述中間服務(wù)器向所述不支持網(wǎng)絡(luò)地址轉(zhuǎn)換的終端發(fā)出視頻請(qǐng)求,所述視頻請(qǐng)求攜帶視頻編解碼信息以及所述支持網(wǎng)絡(luò)地址轉(zhuǎn)換的終端的網(wǎng)絡(luò)地址轉(zhuǎn)換連通性檢測(cè)候選地址; 所述接收模塊用于接收攜帶所述中間服務(wù)器的網(wǎng)絡(luò)地址轉(zhuǎn)換連通性檢測(cè)候選地址的請(qǐng)求應(yīng)答消息,開始與所述中間服務(wù)器進(jìn)行網(wǎng)絡(luò)地址轉(zhuǎn)換連通性檢測(cè)。
11.一種服務(wù)器,其特征在于,支持網(wǎng)絡(luò)地址轉(zhuǎn)換的終端與不支持網(wǎng)絡(luò)地址轉(zhuǎn)換的終端通過所述服務(wù)器進(jìn)行視頻呼叫,所述服務(wù)器包括請(qǐng)求模塊和轉(zhuǎn)發(fā)模塊,其中: 所述請(qǐng)求模塊用于在所述支持網(wǎng)絡(luò)地址轉(zhuǎn)換的終端與所述服務(wù)器間的網(wǎng)絡(luò)地址轉(zhuǎn)換連通性檢測(cè)完成時(shí),向所述不支持網(wǎng)絡(luò)地址轉(zhuǎn)換的終端發(fā)送關(guān)鍵幀請(qǐng)求; 所述轉(zhuǎn)發(fā)模塊用于接收所述不支持網(wǎng)絡(luò)地址轉(zhuǎn)換的終端響應(yīng)所述關(guān)鍵幀請(qǐng)求而返回的關(guān)鍵幀,并將所述關(guān)鍵幀轉(zhuǎn)發(fā)給所述支持網(wǎng)絡(luò)地址轉(zhuǎn)換的終端,以使所述支持網(wǎng)絡(luò)地址轉(zhuǎn)換的終端能夠正常顯示所述不支持網(wǎng)絡(luò)地址轉(zhuǎn)換的終端發(fā)來的視頻。
12.根據(jù)權(quán)利要求11所述的服務(wù)器,其特征在于, 所述請(qǐng)求模塊用于在媒體層面或信令層面向所述不支持網(wǎng)絡(luò)地址轉(zhuǎn)換的終端發(fā)送關(guān)鍵幀請(qǐng)求。
13.根據(jù)權(quán)利要求11所述的服務(wù)器,其特征在于, 所述轉(zhuǎn)發(fā)模塊用于接收所述支持網(wǎng)絡(luò)地址轉(zhuǎn)換的終端的視頻請(qǐng)求,所述視頻請(qǐng)求攜帶視頻編解碼信息以及所述支持網(wǎng)絡(luò)地址轉(zhuǎn)換的終端的網(wǎng)絡(luò)地址轉(zhuǎn)換連通性檢測(cè)候選地址,刪除所述視頻請(qǐng)求中的網(wǎng)絡(luò)地址轉(zhuǎn)換連通性檢測(cè)候選地址后將所述視頻請(qǐng)求轉(zhuǎn)發(fā)給所述不支持網(wǎng)絡(luò)地址轉(zhuǎn)換的終端。
14.根據(jù)權(quán)利要求13所述的服務(wù)器,其特征在于, 所述轉(zhuǎn)發(fā)模塊用于接收來自所述不支持網(wǎng)絡(luò)地址轉(zhuǎn)換的終端的請(qǐng)求應(yīng)答消息,添加所述服務(wù)器的網(wǎng)絡(luò)地址轉(zhuǎn)換連通性檢測(cè)候選地址到所述請(qǐng)求應(yīng)答消息中,然后將請(qǐng)求應(yīng)答消息轉(zhuǎn)發(fā)給所述支持網(wǎng)絡(luò)地址轉(zhuǎn)換的終端。
15.一種網(wǎng)絡(luò)系統(tǒng),其特征在于,所述網(wǎng)絡(luò)系統(tǒng)包括權(quán)利要求8-10任一項(xiàng)所述的支持網(wǎng)絡(luò)地址轉(zhuǎn)換的終端以及權(quán)利要求11-14任一項(xiàng)所述的服務(wù)器和不支持網(wǎng)絡(luò)地址轉(zhuǎn)換的終端。
【文檔編號(hào)】H04N21/647GK104469537SQ201310430390
【公開日】2015年3月25日 申請(qǐng)日期:2013年9月18日 優(yōu)先權(quán)日:2013年9月18日
【發(fā)明者】田振華, 吳毅敏 申請(qǐng)人:華為技術(shù)有限公司