亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種音視頻通訊方法、裝置及系統(tǒng)的制作方法

文檔序號:7782361閱讀:215來源:國知局
一種音視頻通訊方法、裝置及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開一種音視頻通訊方法、裝置及系統(tǒng),其中,方法包括步驟:第一用戶通過XMPP服務(wù)器進(jìn)行注冊并獲得第二用戶的身份信息;第一用戶根據(jù)第二用戶的身份信息向第二用戶發(fā)送音視頻通訊請求,接收STUN服務(wù)器發(fā)送的根據(jù)第一用戶的請求信息獲取到的第二用戶的地址信息,并根據(jù)接收到第二用戶的地址信息與第二用戶建立通訊鏈路;第一用戶通過WEBRTC對提取到的音視頻數(shù)據(jù)進(jìn)行處理后以XMPP協(xié)議的方式進(jìn)行封裝得到待傳輸?shù)囊粢曨l數(shù)據(jù),將待傳輸?shù)囊粢曨l數(shù)據(jù)在所述第一用戶與第二用戶建立的通訊鏈路上傳輸實現(xiàn)兩端的音視頻通訊。本發(fā)明使得設(shè)備之間無需經(jīng)過服務(wù)器即可實現(xiàn)端對端的高質(zhì)量通訊效果。
【專利說明】一種音視頻通訊方法、裝置及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及音視頻通訊【技術(shù)領(lǐng)域】,尤其涉及一種智能設(shè)備之間的音視頻通訊方法、裝置及系統(tǒng)。
【背景技術(shù)】
[0002]現(xiàn)有技術(shù)中,傳統(tǒng)電視音視頻通訊都要通過一個中央代理和重定向服務(wù)來發(fā)送消息,如圖1所示,客戶端網(wǎng)絡(luò)電視之間需要通過視頻通話代理和重定向服務(wù)器來發(fā)送消息,這使得服務(wù)器傳載的數(shù)據(jù)量和處理量大大增加,另一方面,為了數(shù)據(jù)的準(zhǔn)確傳輸,傳統(tǒng)電視采用了復(fù)雜的音視頻編碼解碼模式,即網(wǎng)絡(luò)數(shù)據(jù)經(jīng)過網(wǎng)絡(luò)解碼模塊后,需要通過音頻解碼模塊、視頻解碼模塊的解碼以及音頻編碼模塊和視頻編碼模塊的編碼等處理,處理過程復(fù)雜,這使得數(shù)據(jù)傳輸過程非常復(fù)雜。
[0003]因此,現(xiàn)有技術(shù)還有待于改進(jìn)和發(fā)展。

【發(fā)明內(nèi)容】

[0004]鑒于上述現(xiàn)有技術(shù)的不足,本發(fā)明的目的在于提供一種音視頻通訊方法、裝置及系統(tǒng),旨在解決現(xiàn)有的音視頻通訊方法需要經(jīng)過服務(wù)器傳輸數(shù)據(jù)、傳輸過程復(fù)雜的問題。
[0005]本發(fā)明的技術(shù)方案如下:
一種音視頻通訊方法,其中,包括步驟:
A、第一用戶通過XMPP服務(wù)器進(jìn)行注冊并獲得第二用戶的身份信息;
B、第一用戶根據(jù)第二用戶的身份信息向第二用戶發(fā)送音視頻通訊請求,接收STUN服務(wù)器發(fā)送的根據(jù)第一用戶的請求信息獲取到的第二用戶的地址信息,并根據(jù)接收到第二用戶的地址信息與第二用戶建立通訊鏈路;
C、第一用戶通過WEBRTC對提取到的音視頻數(shù)據(jù)進(jìn)行處理后以XMPP協(xié)議的方式進(jìn)行封裝得到待傳輸?shù)囊粢曨l數(shù)據(jù),將待傳輸?shù)囊粢曨l數(shù)據(jù)在所述第一用戶與第二用戶建立的通訊鏈路上傳輸實現(xiàn)兩端的音視頻通訊。
[0006]所述的音視頻通訊方法,其中,所述步驟B具體包括:
B1、第一用戶根據(jù)第二用戶的身份信息通過STUN服務(wù)器發(fā)送第一用戶的音視頻通訊請求信息,STUN服務(wù)器接收到第一用戶的音視頻通訊請求后,保存第一用戶的公網(wǎng)地址信息和端口信息;
B2、STUN服務(wù)器向第二用戶發(fā)送一回送消息,并在接收到第二用戶上傳的確認(rèn)信息后,從確認(rèn)信息中獲取第二用戶的公網(wǎng)地址信息和端口信息并將其發(fā)送給第一用戶;
B3、第一用戶根據(jù)接收到的第一用戶和第二用戶的公網(wǎng)地址信息和端口信息,建立兩端的P2P通訊鏈路。
[0007]所述的音視頻通訊方法,其中,所述步驟B具體包括:
BI’、第一用戶根據(jù)第二用戶的身份信息通過XMPP服務(wù)器向STUN服務(wù)器轉(zhuǎn)發(fā)第一用戶的音視頻通訊請求; B2’、STUN服務(wù)器接收到音視頻通訊請求后,保存第一用戶的公網(wǎng)地址信息和端口信息并向第二用戶發(fā)送請求信息,第二用戶通過XMPP服務(wù)器向STUN服務(wù)器轉(zhuǎn)發(fā)其答復(fù)信息,當(dāng)所述答復(fù)信息為接受請求時,STUN服務(wù)器保存第二用戶的公網(wǎng)地址信息以及端口信息并將其發(fā)送給第一用戶;
B3’、第一用戶根據(jù)接收到的第二用戶的端口信息及公網(wǎng)地址信息建立P2P通訊鏈路。
[0008]所述的音視頻通訊方法,其中,所述步驟B3或B3’中,當(dāng)P2P建立成功時,則進(jìn)入到步驟C,當(dāng)P2P建立失敗時,則經(jīng)一 TURN服務(wù)器進(jìn)行中轉(zhuǎn)通信。
[0009]所述的音視頻通訊方法,其中,所述步驟C中將待傳輸?shù)囊粢曨l數(shù)據(jù)在所述第一用戶與第二用戶建立的通訊鏈路上傳輸實現(xiàn)兩端的音視頻通訊步驟包括,
Cl、第一用戶通過其公網(wǎng)地址和端口的組合與STUN服務(wù)器建立對話,并使用轉(zhuǎn)發(fā)命令在STUN服務(wù)器上創(chuàng)建一個分配請求;
C2、第一用戶將待傳輸?shù)囊粢曨l數(shù)據(jù)設(shè)置在STUN消息中,STUN服務(wù)器接收STUN消息后,將待傳輸?shù)囊粢曨l數(shù)據(jù)提取出來,并以UDP方式發(fā)送到第二用戶,第二用戶以UDP方式發(fā)送數(shù)據(jù)到提供所述分配請求的STUN服務(wù)器,并由STUN服務(wù)器轉(zhuǎn)發(fā)給第一用戶。
[0010]一種音視頻通訊裝置,設(shè)置在第一用戶中,其中,所述音視頻通訊裝置包括: 好友獲取模塊,用于通過XMPP服務(wù)器進(jìn)行注冊并獲得第二用戶的身份信息;
連接模塊,用于根據(jù)第二用戶的身份信息向第二用戶發(fā)送音視頻通訊請求,接收STUN服務(wù)器發(fā)送的根據(jù)好友獲取模塊發(fā)送的請求信息獲取到的第二用戶的地址信息,并根據(jù)接收到第二用戶的地址信息與第二用戶建立通訊鏈路;
音視頻處理模塊,用于通過WEBRTC對提取到的音視頻數(shù)據(jù)進(jìn)行處理后以XMPP協(xié)議的方式進(jìn)行封裝得到待傳輸?shù)囊粢曨l數(shù)據(jù);
音視頻通訊模塊,用于將待傳輸?shù)囊粢曨l數(shù)據(jù)在所所述連接模塊建立的通訊鏈路上傳輸實現(xiàn)兩端的音視頻通訊。
[0011]所述的音視頻通訊裝置,其中,所述連接模塊具體包括:
音視頻通訊請求轉(zhuǎn)發(fā)單元,用于根據(jù)第二用戶的身份信息通過XMPP服務(wù)器向STUN服務(wù)器轉(zhuǎn)發(fā)所述好友獲取模塊發(fā)送的音視頻通訊請求;
信息轉(zhuǎn)發(fā)單元,用于接收STUN服務(wù)器發(fā)送的第二用戶的公網(wǎng)地址信息以及端口信息,其中第二用戶的公網(wǎng)地址信息以及端口信息是通過在STUN服務(wù)器接收到音視頻通訊請求后向第二用戶發(fā)送請求信息,并在第二用戶通過XMPP服務(wù)器向STUN服務(wù)器轉(zhuǎn)發(fā)其答復(fù)信息為接受請求時,由STUN服務(wù)器保存的信息;
P2P建立單元,用于所述信息轉(zhuǎn)發(fā)單元中接收到的第二用戶的端口信息及公網(wǎng)地址信息建立兩端的P2P通訊鏈路。
[0012]所述的音視頻通訊裝置,其中,所述P2P建立單元還用于當(dāng)P2P建立成功時,則轉(zhuǎn)入到音視頻通訊模塊,當(dāng)P2P建立失敗時,則經(jīng)一 TURN服務(wù)器進(jìn)行中轉(zhuǎn)通信。
[0013]所述的音視頻通訊裝置,其中,所述音視頻通訊模塊具體包括:
分配請求創(chuàng)建單元,用于通過第一用戶公網(wǎng)地址和端口的組合與STUN服務(wù)器建立對話,并使用轉(zhuǎn)發(fā)命令在STUN服務(wù)器上創(chuàng)建一個分配請求;
數(shù)據(jù)轉(zhuǎn)發(fā)單元,用于將待傳輸?shù)囊粢曨l數(shù)據(jù)設(shè)置在STUN消息中,STUN服務(wù)器接收STUN消息后,將待傳輸?shù)囊粢曨l數(shù)據(jù)提取出來,并以UDP方式發(fā)送到第二用戶,并接收由STUN服務(wù)器轉(zhuǎn)發(fā)的所述第二用戶以UDP方式發(fā)送的數(shù)據(jù)。
[0014]一種音視頻通訊系統(tǒng),其中,其包括:如上所述的音視頻通訊裝置、至少一第二用戶、XMPP服務(wù)器以及STUN服務(wù)器,所述音視頻通訊裝置、第二用戶與XMPP服務(wù)器以及STUN服務(wù)器通訊連接,所述的第二用戶用于通過XMPP服務(wù)器進(jìn)行注冊,并接收STUN服務(wù)器發(fā)送的所述音視頻通訊裝置發(fā)送的音視頻通訊請求,發(fā)送回復(fù)信息到STUN服務(wù)器,接收所述音視頻通訊裝置建立的通訊鏈路上的待傳輸?shù)囊粢曨l數(shù)據(jù)并進(jìn)行處理從而實現(xiàn)音視頻通訊。
[0015]有益效果:本發(fā)明中,源用戶通過XMPP服務(wù)器進(jìn)行注冊,獲取目標(biāo)用戶的身份信息,然后通過STUN服務(wù)器的私網(wǎng)穿越,使得兩端可以直接進(jìn)行音視頻通訊,并通過WebRTC的開源實時通訊系統(tǒng),使得設(shè)備之間無需經(jīng)過服務(wù)器即可實現(xiàn)端對端的高質(zhì)量通訊效果。
【專利附圖】

【附圖說明】
[0016]圖1為現(xiàn)有技術(shù)中音視頻通訊網(wǎng)絡(luò)拓?fù)鋱D。
[0017]圖2為本發(fā)明一種音視頻通訊方法較佳實施例的流程圖。
[0018]圖3為圖2所示方法中步驟S102的具體流程圖。
[0019]圖4為本發(fā)明一種音視頻通訊方法中實施例二的流程圖。
[0020]圖5為圖2所示方法中步驟S103的具體流程圖。
[0021]圖6為本發(fā)明的音視頻通訊過程中具體地址形成示意圖。
[0022]圖7為本發(fā)明一種音視頻通訊裝置較佳實施例的結(jié)構(gòu)框圖。
[0023]圖8為圖7所示裝置中連接模塊的具體結(jié)構(gòu)框圖。
[0024]圖9為圖7所示裝置中音視頻通訊模塊的具體結(jié)構(gòu)框圖。
【具體實施方式】
[0025]本發(fā)明提供一種音視頻通訊方法、裝置及系統(tǒng),為使本發(fā)明的目的、技術(shù)方案及效果更加清楚、明確,以下對本發(fā)明進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0026]請參閱圖2,圖2為本發(fā)明一種音視頻通訊方法較佳實施例的流程圖,如圖所示,其包括步驟:
5101、第一用戶通過XMPP服務(wù)器進(jìn)行注冊并獲得第二用戶的身份信息,具體地可以通過XMPP協(xié)議【可擴(kuò)展通訊和表不協(xié)議:The Extensible Messaging and PresenceProtocol】對向XMPP服務(wù)器發(fā)送的數(shù)據(jù)進(jìn)行封裝;
5102、第一用戶根據(jù)第二用戶的身份信息向第二用戶發(fā)送音視頻通訊請求,接收STUN【用戶數(shù)據(jù)報協(xié)議簡單穿越MT】服務(wù)器發(fā)送的根據(jù)第一用戶的請求信息獲取到的第二用戶的地址信息,并根據(jù)接收到第二用戶的地址信息與第二用戶建立通訊鏈路;
5103、第一用戶通 過WEBRTC【網(wǎng)頁實時通信:WebReal-Time Communication】對提取到的音視頻數(shù)據(jù)進(jìn)行處理后以XMPP協(xié)議的方式進(jìn)行封裝得到待傳輸?shù)囊粢曨l數(shù)據(jù),并將待傳輸?shù)囊粢曨l數(shù)據(jù)在第一用戶與第二用戶建立的通訊鏈路上傳輸實現(xiàn)兩端的音視頻通訊。其中提取到的音視頻數(shù)據(jù)是第一用戶通過音視頻捕獲裝置提取的音視頻數(shù)據(jù),且提取到的音視頻數(shù)據(jù)經(jīng)過編解碼處理后也能通過XMPP服務(wù)器以XMPP協(xié)議進(jìn)行封裝。
[0027]在步驟SlOl中,用戶可利用XMPP協(xié)議向XMPP服務(wù)器進(jìn)行注冊,獲得賬號信息,同時還可通過XMPP服務(wù)器查找好友,并添加好友,從而獲得好友信息。需說明的是,本發(fā)明中,所述的第一用戶與第二用戶為需要進(jìn)行音視頻通訊的客戶端,也可以指需要進(jìn)行音視頻通訊的第一設(shè)備(第一終端)與第二設(shè)備(第二終端),第一用戶和第二用戶的身份信息為用戶通過注冊獲得的賬號信息。除了注冊以及獲取好友信息外,第一用戶與第二用戶之間的數(shù)據(jù)傳輸也是按照XMPP協(xié)議實現(xiàn)的。
[0028]XMPP是一種基于XML的協(xié)議,它繼承了在XML環(huán)境中靈活的發(fā)展性,因此,基于XMPP的應(yīng)用具有超強(qiáng)的可擴(kuò)展性。經(jīng)過擴(kuò)展以后的XMPP可通過發(fā)送擴(kuò)展的信息來處理用戶的需求,以及在XMPP的頂端建立如內(nèi)容發(fā)布系統(tǒng)和基于地址的服務(wù)等應(yīng)用程序。并且,XMPP包含了針對服務(wù)器端的軟件協(xié)議,使之能與另一個進(jìn)行通話,這使得開發(fā)者更容易建立客戶應(yīng)用程序或給一個配好系統(tǒng)添加功能。
[0029]在步驟S102中,第一用戶若需要第二用戶進(jìn)行通訊,可通過STUN服務(wù)器發(fā)送音視頻通訊請求,請求與第二用戶進(jìn)行音視頻通訊,STUN服務(wù)器接收到音視頻通訊請求后,保存第一用戶的公網(wǎng)地址信息和端口信息,隨后向第二用戶發(fā)送一個回送消息,第二用戶在接收到回送消息后,返回一確認(rèn)信息給STUN服務(wù)器,在該確認(rèn)信息中可獲得第二用戶的公網(wǎng)地址信息和端口信息,STUN服務(wù)器將獲取到的第二用戶的公網(wǎng)地址信息和端口信息發(fā)送給第一用戶,第一用戶根據(jù)接收到的第二用戶的公網(wǎng)地址信息和端口信息建立第一用戶與第二用戶之間的通訊鏈路。這樣,通過STUN服務(wù)器實現(xiàn)兩端的私網(wǎng)穿越,實現(xiàn)終端通訊,即實現(xiàn)端對端的直接通訊,無需經(jīng)過中央代理和重定向服務(wù)來發(fā)送消息,從而避免了信息的丟失、出錯、效率低及速度慢等問題,實現(xiàn)高質(zhì)量的音視頻通訊。
[0030]具體地,本實施例 的音視頻連接過程,可通過XMPP服務(wù)器來幫助轉(zhuǎn)發(fā)消息,這樣能使得發(fā)送的請求信息以XMPP協(xié)議進(jìn)行封裝,如圖3所示,所述步驟S102可具體細(xì)化為以下步驟:
5201、第一用戶根據(jù)第二用戶的身份信息通過XMPP服務(wù)器向STUN服務(wù)器轉(zhuǎn)發(fā)第一用戶的音視頻通訊請求;
5202、STUN服務(wù)器接收到音視頻通訊請求后,保存第一用戶的公網(wǎng)地址信息和端口信息并向第二用戶發(fā)送請求信息,第二用戶通過XMPP服務(wù)器向STUN服務(wù)器轉(zhuǎn)發(fā)其答復(fù)信息,當(dāng)所述答復(fù)信息為接受請求時,STUN服務(wù)器保存第二用戶的公網(wǎng)地址信息以及端口信息并將其發(fā)送給第一用戶;
5203、第一用戶根據(jù)第二用戶的端口信息及兩端公網(wǎng)地址信息建立兩端的P2P通訊鏈路,在此步驟中,當(dāng)P2P建立成功時,則進(jìn)入到步驟C,當(dāng)P2P建立失敗時,則經(jīng)一 TURN服務(wù)器【使用中繼穿透NAT !Traversal Using Relays around NAT】進(jìn)行中轉(zhuǎn)通信。
[0031]圖4為上述步驟的一具體應(yīng)用實施例,在該實施例中,用戶A向用戶B發(fā)起音視頻通訊請求,IM服務(wù)器(即XMPP服務(wù)器)經(jīng)過STUN服務(wù)器向用戶B轉(zhuǎn)發(fā)A的音視頻通訊請求。在用戶B接收到音視頻通訊請求后,可通過STUN服務(wù)器以及頂服務(wù)器轉(zhuǎn)發(fā)其答復(fù)信息,例如接受或拒絕,在答復(fù)信息為接受請求時,可通過STUN服務(wù)器獲取用戶A和用戶B的地址信息,該地址信息為端口信息和公網(wǎng)地址信息的組合,其中ICE信息是指由ICE服務(wù)器(即由STUN服務(wù)器和TURN服務(wù)器組成的服務(wù)器,這里只標(biāo)示出STUN服務(wù)器)發(fā)送的信息,然后通過STUN服務(wù)器向用戶A和用戶B轉(zhuǎn)發(fā)各自對應(yīng)的另外一端地址信息,用戶A根據(jù)接收到的用戶B地址信息來建立兩端的P2P通訊鏈路,這里STUN服務(wù)器可以協(xié)助建立通訊鏈路,若P2P建立成功,則用戶A與用戶B可進(jìn)行P2P通信,若失敗則經(jīng)過TURN服務(wù)器進(jìn)行Relay通信,即中轉(zhuǎn)通信。在用戶A發(fā)送掛斷指令時,通過STUN服務(wù)器和頂服務(wù)器轉(zhuǎn)發(fā)掛斷指令,二者進(jìn)行掛斷處理。
[0032]在所述步驟S103中,第一用戶與第二用戶可通過webRTC直接對音視頻數(shù)據(jù)進(jìn)行編解碼處理。本實施例通過提取并封裝WebRTC中音視頻通訊框架的源代碼,并與Android應(yīng)用結(jié)果實現(xiàn)纟而對纟而首視頻通訊。
[0033]具體來說,如圖5所示,步驟S103可細(xì)化為以下步驟:
S301、第一用戶通過其公網(wǎng)地址和端口的組合與STUN服務(wù)器建立對話,并使用轉(zhuǎn)發(fā)命令在STUN服務(wù)器上創(chuàng)建一個分配請求;
本實施例的音視頻通訊過程中具體地址形成過程如圖6所示,第一用戶作為一個TURN客戶端連接在一個私有網(wǎng)絡(luò)中,通過一個或多個NAT【網(wǎng)絡(luò)地址轉(zhuǎn)換器】來連接到公網(wǎng),在公網(wǎng)中有一個STUN服務(wù)器。在因特網(wǎng)的其他地方有一個或多個對端即第二用戶(例如PeerA、PeerB)是這個TURN客戶端希望通訊的。這些對端也有可能是在一個或多個NAT的后面。TURN客戶端使用服務(wù)器作為一個中繼來發(fā)送數(shù)據(jù)包到這些對端去,并且從這些對端接收數(shù)據(jù)包。
[0034]第一用戶首先通過其公網(wǎng)地址和端口的組合來與STUN服務(wù)器建立對話,并使用轉(zhuǎn)發(fā)命令在STUN服務(wù)器上 創(chuàng)建一個分配請求(allocation),當(dāng)該allocation創(chuàng)建好后,第一用戶就能在數(shù)據(jù)發(fā)往第二用戶的指示下發(fā)送數(shù)據(jù)到STUN服務(wù)器,由STUN服務(wù)器來中繼這些數(shù)據(jù)到第二用戶。
[0035]S302、第一用戶將待傳輸?shù)囊粢曨l數(shù)據(jù)設(shè)置在STUN消息中,STUN服務(wù)器接收STUN消息后,將待傳輸?shù)囊粢曨l數(shù)據(jù)提取出來,并以UDP【用戶數(shù)據(jù)包協(xié)議】方式發(fā)送到第二用戶,第二用戶以UDP方式發(fā)送數(shù)據(jù)到提供所述分配請求的STUN服務(wù)器,并由STUN服務(wù)器轉(zhuǎn)發(fā)給第一用戶。
[0036]當(dāng)P2P建立連接失敗【即第二用戶的公網(wǎng)地址發(fā)生變換】時,STUN服務(wù)將第二用戶公網(wǎng)地址信息以及端口信息保存到數(shù)據(jù)庫,第一用戶將待傳輸?shù)囊粢曨l數(shù)據(jù)傳輸?shù)絋URN服務(wù)器,然后TURN服務(wù)器根據(jù)第二用戶的身份信息從數(shù)據(jù)庫中獲取第二用戶的地址信息并將待傳輸?shù)囊粢曨l數(shù)據(jù)傳輸給第二用戶實現(xiàn)中繼通信,其中STUN服務(wù)器和TURN服務(wù)器組成ICE服務(wù)器,STUN服務(wù)器和TURN服務(wù)器公網(wǎng)地址相同只是端口號不同。
[0037]TURN客戶端(例如第一用戶)發(fā)送的數(shù)據(jù)包含在STUN消息中,STUN服務(wù)器再從STUN消息中提取數(shù)據(jù),并以UDP方式發(fā)送給對端。另一方便,對端(例如第二用戶)以UDP方式發(fā)送數(shù)據(jù)到allocation提供的中繼傳輸?shù)刂?,并由STUN服務(wù)器轉(zhuǎn)發(fā)給第一用戶。因為STUN消息總是包含客戶端與哪些對端通訊的指示,所以TURN客戶端能夠使用單一的allocation來與多個對端通訊,以上便是STUN轉(zhuǎn)發(fā)報文的框架。
[0038]基于上述方法,本發(fā)明還提供一種音視頻通訊裝置,設(shè)置在第一用戶中,如圖7所示,其包括:
好友獲取模塊100,用于通過XMPP服務(wù)器進(jìn)行注冊并獲得第二用戶的身份信息;
連接模塊200,用于根據(jù)第二用戶的身份信息向第二用戶發(fā)送音視頻通訊請求,接收STUN服務(wù)器發(fā)送的根據(jù)好友獲取模塊發(fā)送的請求信息獲取到的第二用戶的地址信息,并根據(jù)接收到第二用戶的地址信息與第二用戶建立通訊鏈路; 音視頻處理模塊300,用于通過WEBRTC對提取到的音視頻數(shù)據(jù)進(jìn)行處理后以XMPP協(xié)議的方式進(jìn)行封裝得到待傳輸?shù)囊粢曨l數(shù)據(jù);
音視頻通訊模塊400,用于將待傳輸?shù)囊粢曨l數(shù)據(jù)在所述連接模塊建立的通訊鏈路上傳輸實現(xiàn)兩端的音視頻通訊。
[0039]進(jìn)一步地,所述的連接模塊200具體包括:
音視頻通訊請求發(fā)送單元,用于根據(jù)第二用戶的身份信息通過STUN服務(wù)器發(fā)送所述好友獲取模塊中發(fā)送的音視頻通訊請求信息;
地址信息轉(zhuǎn)發(fā)單元,用于接收STUN服務(wù)器發(fā)送的第二用戶的公網(wǎng)地址信息和端口信息,其中第二用戶的公網(wǎng)地址信息和端口信息是通過在STUN服務(wù)器向第二用戶發(fā)送一回送消息,并在接收到第二用戶上傳的確認(rèn)信息后保存的信息;
通訊鏈路建立單元,用于根據(jù)地址信息轉(zhuǎn)發(fā)單元接收到的第二用戶的公網(wǎng)地址信息和端口信息,建立兩端的P2P通訊鏈路。
[0040]進(jìn)一步,如圖8所示,作為本發(fā)明另一實施例,所述連接模塊200具體包括:
音視頻通訊請求轉(zhuǎn)發(fā)單元210,用于根據(jù)第二用戶的身份信息通過XMPP服務(wù)器向STUN
服務(wù)器轉(zhuǎn)發(fā)所述連接模塊中發(fā)送的音視頻通訊請求;
信息轉(zhuǎn)發(fā)單元220,用于接收STUN服務(wù)器發(fā)送的第二用戶的公網(wǎng)地址信息以及端口信息,其中第二用戶的公網(wǎng)地址信息以及端口信息是通過在STUN服務(wù)器接收到音視頻通訊請求后向第二用戶發(fā)送請求信息,并在第二用戶通過XMPP服務(wù)器向STUN服務(wù)器轉(zhuǎn)發(fā)其答復(fù)信息為接受請求時,由STUN服務(wù)器保存的信息;
P2P建立單元240,用于根據(jù)所述信息接收單元中接收到的第二用戶的端口信息及公網(wǎng)地址信息建立兩端的P2P通訊鏈路。
[0041]進(jìn)一步,所述P2P建立單元還用于當(dāng)P2P建立成功時,則轉(zhuǎn)入到音視頻通訊模塊,當(dāng)P2P建立失敗時,則經(jīng)一 TURN服務(wù)器進(jìn)行中轉(zhuǎn)通信。
[0042]進(jìn)一步,如圖9所示,所述音視頻通訊模塊400具體包括:
分配請求創(chuàng)建單元410,用于通過第一用戶公網(wǎng)地址和端口的組合與STUN服務(wù)器建立對話,并使用轉(zhuǎn)發(fā)命令在STUN服務(wù)器上創(chuàng)建一個分配請求;
數(shù)據(jù)轉(zhuǎn)發(fā)單元420,用于將待傳輸?shù)囊粢曨l數(shù)據(jù)設(shè)置在STUN消息并發(fā)送給STUN服務(wù)器以便STUN服務(wù)器接收STUN消息后將待傳輸?shù)囊粢曨l數(shù)據(jù)提取出來并以UDP方式發(fā)送到第二用戶,并接收由STUN服務(wù)器轉(zhuǎn)發(fā)過來的所述第二用戶以UDP方式發(fā)送數(shù)據(jù)。關(guān)于上述模塊單元的技術(shù)細(xì)節(jié)在前面的方法中已有詳述,故不再贅述。
[0043]基于上述裝置可以客戶端的形式設(shè)置在電視機(jī)中實現(xiàn)電視機(jī)的音視頻通訊。
[0044]本發(fā)明提供的一種音視頻通訊系統(tǒng),包括上述音視頻通訊裝置、XMPP服務(wù)器、STUN服務(wù)器以及至少一個第二用戶,其中第二用戶用于通過XMPP服務(wù)器進(jìn)行注冊,并接收STUN服務(wù)器發(fā)送的所述音視頻通訊裝置發(fā)送的音視頻通訊請求,發(fā)送回復(fù)信息到STUN服務(wù)器,接收所述音視頻通訊裝置建立的通訊鏈路上的待傳輸?shù)囊粢曨l數(shù)據(jù)并進(jìn)行處理從而實現(xiàn)音視頻通訊;
進(jìn)一步地,XMPP服務(wù)器還用于向STUN服務(wù)器轉(zhuǎn)發(fā)第一用戶發(fā)送的請求信息以及第二用戶的回復(fù)信息,具體地,STUN服務(wù)器在接收到第一用戶發(fā)送的音視頻請求后,保存第一用戶的地址信息,然后向第二用戶發(fā)送請求信息,并在第二用戶通過XMPP服務(wù)器轉(zhuǎn)發(fā)的答復(fù)信息為接收請求時,保存第二用戶的地址信息。
[0045]應(yīng)當(dāng)理解的是,本發(fā)明的應(yīng)用不限于上述的舉例,對本領(lǐng)域普通技術(shù)人員來說,可以根據(jù)上述說明加以改進(jìn)或變換,所有這些改進(jìn)和變換都應(yīng)屬于本發(fā)明所附權(quán)利要求的保護(hù)范圍。
【權(quán)利要求】
1.一種音視頻通訊方法,其特征在于,包括步驟: A、第一用戶通過XMPP服務(wù)器進(jìn)行注冊并獲得第二用戶的身份信息; B、第一用戶根據(jù)第二用戶的身份信息向第二用戶發(fā)送音視頻通訊請求,接收STUN服務(wù)器發(fā)送的根據(jù)第一用戶的請求信息獲取到的第二用戶的地址信息,并根據(jù)接收到第二用戶的地址信息與第二用戶建立通訊鏈路; C、第一用戶通過WEBRTC對提取到的音視頻數(shù)據(jù)進(jìn)行處理后以XMPP協(xié)議的方式進(jìn)行封裝得到待傳輸?shù)囊粢曨l數(shù)據(jù),將待傳輸?shù)囊粢曨l數(shù)據(jù)在所述第一用戶與第二用戶建立的通訊鏈路上傳輸實現(xiàn)兩端的音視頻通訊。
2.根據(jù)權(quán)利要求1所述的音視頻通訊方法,其特征在于,所述步驟B具體包括: B1、第一用戶根據(jù)第二用戶的身份信息通過STUN服務(wù)器發(fā)送第一用戶的音視頻通訊請求信息,STUN服務(wù)器接收到第一用戶的音視頻通訊請求后,保存第一用戶的公網(wǎng)地址信息和端口信息; B2、STUN服務(wù)器向第二用戶發(fā)送一回送消息,并在接收到第二用戶上傳的確認(rèn)信息后,從確認(rèn)信息中獲取第二用戶的公網(wǎng)地址信息和端口信息并將其發(fā)送給第一用戶; B3、第一用戶根據(jù)接收到的第二用戶的公網(wǎng)地址信息和端口信息,建立兩端的P2P通訊鏈路。
3.根據(jù)權(quán)利要求1所述的音視頻通訊方法,其特征在于,所述步驟B具體包括: BI’、第一用戶根據(jù)第二用戶的身份信息通過XMPP服務(wù)器向STUN服務(wù)器轉(zhuǎn)發(fā)第一用戶的音視頻通訊請求; B2’、STUN服務(wù)器接收到音視頻通訊請求后,保存第一用戶的公網(wǎng)地址信息和端口信息并向第二用戶發(fā)送請求信息,第二用戶通過XMPP服務(wù)器向STUN服務(wù)器轉(zhuǎn)發(fā)其答復(fù)信息,當(dāng)所述答復(fù)信息為接受請求時,STUN服務(wù)器保存第二用戶的公網(wǎng)地址信息以及端口信息并將其發(fā)送給第一用戶; B3’、第一用戶根據(jù)接收到的第二用戶的端口信息及公網(wǎng)地址信息建立兩端的P2P通訊鏈路。
4.根據(jù)權(quán)利要求2或3所述的音視頻通訊方法,其特征在于,所述步驟B3或B3’中,當(dāng)P2P建立成功時,則進(jìn)入到步驟C,當(dāng)P2P建立失敗時,則經(jīng)一 TURN服務(wù)器進(jìn)行中轉(zhuǎn)通信。
5.根據(jù)權(quán)利要求4所述的音視頻通訊方法,其特征在于,所述步驟C中將待傳輸?shù)囊粢曨l數(shù)據(jù)在所述第一用戶與第二用戶建立的通訊鏈路上傳輸實現(xiàn)兩端的音視頻通訊步驟包括, Cl、第一用戶通過其公網(wǎng)地址和端口的組合與STUN服務(wù)器建立對話,并使用轉(zhuǎn)發(fā)命令在STUN服務(wù)器上創(chuàng)建一個分配請求; C2、第一用戶將待傳輸?shù)囊粢曨l數(shù)據(jù)設(shè)置在STUN消息中,STUN服務(wù)器接收STUN消息后,將待傳輸?shù)囊粢曨l數(shù)據(jù)提取出來,并以UDP方式發(fā)送到第二用戶,第二用戶以UDP方式發(fā)送數(shù)據(jù)到提供所述分配請求的STUN服務(wù)器,并由STUN服務(wù)器轉(zhuǎn)發(fā)給第一用戶。
6.一種音視頻通訊裝置,設(shè)置在第一用戶中,其特征在于,其包括: 好友獲取模塊,用于通過XMPP服務(wù)器進(jìn)行注冊并獲得第二用戶的身份信息; 連接模塊,用于根據(jù)第二用戶的身份信息向第二用戶發(fā)送音視頻通訊請求,接收STUN服務(wù)器發(fā)送的根據(jù)好友獲取模塊發(fā)送的請求信息獲取到的第二用戶的地址信息,并根據(jù)接收到第二用戶的地址信息與第二用戶建立通訊鏈路; 音視頻處理模塊,用于通過WEBRTC對提取到的音視頻數(shù)據(jù)進(jìn)行處理后以XMPP協(xié)議的方式進(jìn)行封裝得到待傳輸?shù)囊粢曨l數(shù)據(jù); 音視頻通訊模塊,用于將待傳輸?shù)囊粢曨l數(shù)據(jù)在所述連接模塊建立的通訊鏈路上傳輸實現(xiàn)兩端的音視頻通訊。
7.根據(jù)權(quán)利要求6所述的音視頻通訊裝置,其特征在于,所述連接模塊具體包括: 音視頻通訊請求轉(zhuǎn)發(fā)單元,用于根據(jù)第二用戶的身份信息通過XMPP服務(wù)器向STUN服務(wù)器轉(zhuǎn)發(fā)所述好友獲取模塊發(fā)送的音視頻通訊請求; 信息轉(zhuǎn)發(fā)單元,用于接收STUN服務(wù)器發(fā)送的第二用戶的公網(wǎng)地址信息以及端口信息,其中第二用戶的公網(wǎng)地址信息以及端口信息是通過在STUN服務(wù)器接收到音視頻通訊請求后向第二用戶發(fā)送請求信息,并在第二用戶通過XMPP服務(wù)器向STUN服務(wù)器轉(zhuǎn)發(fā)其答復(fù)信息為接受請求時,由STUN服務(wù)器保存的信息; P2P建立單元,用于根據(jù)所述信息轉(zhuǎn)發(fā)單元中接收到的第二用戶的端口信息及公網(wǎng)地址信息建立兩端的P2P通訊鏈路。
8.根據(jù)權(quán)利要求7所述的音視頻通訊裝置,其特征在于,所述P2P建立單元還用于當(dāng)P2P建立成功時,則轉(zhuǎn)入到音視頻通訊模塊,當(dāng)P2P建立失敗時,則經(jīng)一 TURN服務(wù)器進(jìn)行中轉(zhuǎn)通信。
9.根據(jù)權(quán)利要求7所述的音視頻通訊裝置,其特征在于,所述音視頻通訊模塊具體包括: 分配請求創(chuàng)建單元,用于通過第一用戶公網(wǎng)地址和端口的組合與STUN服務(wù)器建立對話,并使用轉(zhuǎn)發(fā)命令在STUN服務(wù)器上創(chuàng)建一個分配請求; 數(shù)據(jù)轉(zhuǎn)發(fā)單元,用于將待傳輸?shù)囊粢曨l數(shù)據(jù)設(shè)置在STUN消息并發(fā)送給STUN服務(wù)器以便STUN服務(wù)器接收STUN消息后將待傳輸?shù)囊粢曨l數(shù)據(jù)提取出來并以UDP方式發(fā)送到第二用戶,并接收由STUN服務(wù)器轉(zhuǎn)發(fā)的所述第二用戶以UDP方式發(fā)送的數(shù)據(jù)。
10.一種音視頻通訊系統(tǒng),其特征在于,其包括:如權(quán)利要求6至9任一項所述的音視頻通訊裝置、至少一第二用戶、XMPP服務(wù)器以及STUN服務(wù)器,所述音視頻通訊裝置、第二用戶與XMPP服務(wù)器以及STUN服務(wù)器通訊連接,所述的第二用戶用于通過XMPP服務(wù)器進(jìn)行注冊,并接收STUN服務(wù)器發(fā)送的所述音視頻通訊裝置發(fā)送的音視頻通訊請求,發(fā)送回復(fù)信息到STUN服務(wù)器,接收所述音視頻通訊裝置建立的通訊鏈路上的待傳輸?shù)囊粢曨l數(shù)據(jù)并進(jìn)行處理從而實現(xiàn)音視頻通訊。
【文檔編號】H04N7/14GK103702062SQ201310734340
【公開日】2014年4月2日 申請日期:2013年12月27日 優(yōu)先權(quán)日:2013年12月27日
【發(fā)明者】柳行剛 申請人:Tcl集團(tuán)股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1