專(zhuān)利名稱(chēng):一種傳輸視頻數(shù)據(jù)的方法、系統(tǒng)和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信領(lǐng)域,特別涉及一種傳輸視頻數(shù)據(jù)的方法、系統(tǒng)和裝置。
背景技術(shù):
隨著網(wǎng)絡(luò)通信技術(shù)的發(fā)展,視頻數(shù)據(jù)已經(jīng)成為目前網(wǎng)絡(luò)通信領(lǐng)域的一種重 要資源,由于其具有可見(jiàn)性和真實(shí)性等特點(diǎn)而得到用戶的廣泛使用,尤其是在 網(wǎng)絡(luò)游戲、即時(shí)通信等方面。
視頻數(shù)據(jù)的文件一般都比較大,在網(wǎng)絡(luò)中傳輸會(huì)占用比較大的帶寬,因此 如何在網(wǎng)絡(luò)中實(shí)現(xiàn)快速的傳輸,使用戶能夠較快的獲取到視頻數(shù)據(jù),成為視頻 數(shù)據(jù)傳輸需要解決的主要問(wèn)題。
目前,在網(wǎng)絡(luò)中可以采用中轉(zhuǎn)服務(wù)器,利用服務(wù)器中轉(zhuǎn)用戶之間的視頻數(shù) 據(jù),實(shí)現(xiàn)用戶之間視頻數(shù)據(jù)的傳輸。
在網(wǎng)絡(luò)傳輸4見(jiàn)頻數(shù)據(jù)中,還可以采用P2P (Peer to Peer,點(diǎn)對(duì)點(diǎn))4支術(shù),由 于P2P技術(shù)可以使用戶直接連接到其他用戶的計(jì)算機(jī)上,而不需要連接到服務(wù) 器去瀏覽與下載,可以更直接共享和交互視頻數(shù)據(jù)。與傳統(tǒng)的客戶端/服務(wù)器模 式的區(qū)別在于P2P沒(méi)有中心服務(wù)器或者有一個(gè)很弱的中心服務(wù)器,因而能夠充 分利用用戶的存儲(chǔ)空間、CPU和帶寬資源,具有才及^^的運(yùn)營(yíng)和維護(hù)成本。
發(fā)明人在實(shí)現(xiàn)本發(fā)明時(shí)經(jīng)過(guò)分析和研究后,發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下的 缺點(diǎn)和不足
采用服務(wù)器中轉(zhuǎn)技術(shù)來(lái)傳輸視頻數(shù)據(jù),由于用戶數(shù)量很大,所傳輸?shù)囊曨l 數(shù)據(jù)量很大,需要很大的帶寬,造成帶寬成本太高;釆用P2P技術(shù)進(jìn)行視頻數(shù) 據(jù)傳輸時(shí),由于P2P的客戶端設(shè)備處理能力較低、帶寬資源較少以及ISP差異 等,會(huì)有登陸慢,連接速度慢甚至連接不上的問(wèn)題,從而降低用戶的使用體驗(yàn)。
發(fā)明內(nèi)容
為了解決用戶客戶端利用P2P模式登陸慢、連接速度慢甚至連接不上的問(wèn) 題,提高用戶的使用體驗(yàn),同時(shí)節(jié)約網(wǎng)絡(luò)帶寬,本發(fā)明實(shí)施例提供了一種傳輸 視頻數(shù)據(jù)的方法、系統(tǒng)和裝置。所述技術(shù)方案如下
本發(fā)明實(shí)施例4是供了 一種傳輸視頻數(shù)據(jù)的方法,所述方法包括
第一客戶端分別向中轉(zhuǎn)服務(wù)器和點(diǎn)對(duì)點(diǎn)P2P服務(wù)器發(fā)送第一連接請(qǐng)求,第 二客戶端分別向中轉(zhuǎn)服務(wù)器和P2P服務(wù)器發(fā)送第二連接請(qǐng)求;
所述第 一客戶端與所述中轉(zhuǎn)服務(wù)器建立第 一 中轉(zhuǎn)連接成功且所述第二客戶 端與所述中轉(zhuǎn)服務(wù)器建立第二中轉(zhuǎn)連接成功后,所述第一客戶端與所述第二客 戶端通過(guò)所述中轉(zhuǎn)服務(wù)器轉(zhuǎn)發(fā)傳輸視頻數(shù)據(jù);
所述第一客戶端與所述P2P服務(wù)器建立第一 P2P連接成功且所述第二客戶 端與所述P2P服務(wù)器建立第二 P2P連接成功后,所述第一客戶端與所述第二客 戶端中斷通過(guò)所述中轉(zhuǎn)服務(wù)器轉(zhuǎn)發(fā)傳輸視頻數(shù)據(jù);
所述第一客戶端與所述第二客戶端使用P2P模式直接傳輸視頻數(shù)據(jù)。
其中,所述第一客戶端與所述P2P服務(wù)器建立第一 P2P連接成功且所述第 二客戶端與所述P2P服務(wù)器建立第二 P2P連接成功后,所述第一客戶端與所述 第二客戶端中斷通過(guò)所述中轉(zhuǎn)服務(wù)器轉(zhuǎn)發(fā)傳輸視頻數(shù)據(jù),具體包括
所述第一客戶端與所述P2P服務(wù)器建立第一 P2P連接成功且所述第二客戶 端與所述P2P服務(wù)器建立第二 P2P連接成功后,所述第一客戶端與所述第二客 戶端使用P2P模式傳輸?shù)谝粠瑪?shù)據(jù)后,所述第一客戶端與所述第二客戶端中斷 通過(guò)所述中轉(zhuǎn)服務(wù)器轉(zhuǎn)發(fā)傳輸視頻數(shù)據(jù)。
其中,所述第一客戶端與所述第二客戶端使用所述P2P模式直接傳輸視頻 數(shù)據(jù)之后,還包括
如果所述第一客戶端與所述第二客戶端在使用P2P模式傳輸視頻數(shù)據(jù)過(guò)程 中,所述第一客戶端與所述第二客戶端連接中斷,或者,所述第一客戶端與所 述第二客戶端所傳輸?shù)囊曨l數(shù)據(jù)丟包率大于預(yù)定系數(shù),或者,所述第一客戶端
與所述第二客戶端所傳輸?shù)囊曨l數(shù)據(jù)緩沖時(shí)間大于預(yù)定時(shí)間,則所述第一客戶 端與所述第二客戶端分別判斷是否與所述中轉(zhuǎn)服務(wù)器之間保持鏈路;
如果所述第 一客戶端與所述中轉(zhuǎn)服務(wù)器之間保持鏈路且所述第二客戶端與 所述中轉(zhuǎn)服務(wù)器之間保持鏈路,則通過(guò)所述中轉(zhuǎn)服務(wù)器繼續(xù)傳輸視頻數(shù)據(jù);如果所述第 一客戶端與所述中轉(zhuǎn)服務(wù)器之間斷開(kāi)鏈路,則所述第 一客戶端
向所述中轉(zhuǎn)服務(wù)器發(fā)送第 一連接請(qǐng)求;在所述第 一客戶端與所述中轉(zhuǎn)服務(wù)器建 立第一 中轉(zhuǎn)連接成功后,所述第一客戶端與所述第二客戶端通過(guò)所述中轉(zhuǎn)服務(wù) 器轉(zhuǎn)發(fā)傳輸視頻數(shù)據(jù);
如果所述第二客戶端與所述中轉(zhuǎn)服務(wù)器之間斷開(kāi)鏈路,則所述第二客戶端 向所述中轉(zhuǎn)服務(wù)器發(fā)送第二連接請(qǐng)求;在所述第二客戶端與所述中轉(zhuǎn)服務(wù)器建 立第二中轉(zhuǎn)連接成功后,所述第二客戶端與所述第 一客戶端通過(guò)所述中轉(zhuǎn)服務(wù)
器轉(zhuǎn)發(fā)傳輸視頻數(shù)據(jù);
如果所述第 一客戶端與所述第二客戶端都與所述中轉(zhuǎn)服務(wù)器之間斷開(kāi)鏈 路,則所述第一客戶端向所述中轉(zhuǎn)服務(wù)器發(fā)送第一連接請(qǐng)求,所述第二客戶端 向所述中轉(zhuǎn)服務(wù)器發(fā)送第二連接請(qǐng)求;
在所述第一客戶端與所述中轉(zhuǎn)服務(wù)器建立第一中轉(zhuǎn)連接成功且所述第二客 戶端與所述中轉(zhuǎn)服務(wù)器建立第二中轉(zhuǎn)連接成功后,所述第一客戶端與所述第二 客戶端通過(guò)所述中轉(zhuǎn)服務(wù)器轉(zhuǎn)發(fā)傳輸視頻數(shù)據(jù)。
其中,所述方法還包括
如果所述第 一客戶端與所述中轉(zhuǎn)服務(wù)器建立第 一 中轉(zhuǎn)連接成功且所述第二 客戶端與所述中轉(zhuǎn)服務(wù)器建立第二中轉(zhuǎn)連接成功之前,所述第一客戶端已經(jīng)與 所述P2P服務(wù)器建立第一 P2P連接成功且所述第二客戶端已經(jīng)與所述P2P服務(wù) 器建立第二 P2P連接成功,則所述第一客戶端與所述第二客戶端直接使用P2P 模式進(jìn)行視頻數(shù)據(jù)的傳輸,中斷所述第 一客戶端與所述第二客戶端與所述中轉(zhuǎn) 服務(wù)器的連接。
其中,所述第 一客戶端與所述中轉(zhuǎn)服務(wù)器建立第 一中轉(zhuǎn)連接成功且所述第 二客戶端與所述中轉(zhuǎn)服務(wù)器建立第二中轉(zhuǎn)連接成功之前,包括
所述中轉(zhuǎn)服務(wù)器接收所述第 一客戶端發(fā)送的第 一連接請(qǐng)求和所述第二客戶 端發(fā)送的第二連接請(qǐng)求;
所述中轉(zhuǎn)服務(wù)器分別根據(jù)所述第 一連接請(qǐng)求中第 一用戶的身份認(rèn)證信息和 所述第二連接請(qǐng)求中第二用戶的身份認(rèn)證信息,分別對(duì)所述第 一用戶和所述第 二用戶進(jìn)行認(rèn)i正;
所述中轉(zhuǎn)服務(wù)器對(duì)所述第一用戶和所述第二用戶認(rèn)證成功后,分別與所述 第一客戶端建立第一中轉(zhuǎn)連接、與所述第二客戶端建立第二中轉(zhuǎn)連接,并分別向所述第 一客戶端和所述第二客戶端發(fā)送第 一 中轉(zhuǎn)連接成功響應(yīng)和第二中轉(zhuǎn)連 才妄成功響應(yīng)。
其中,所述第一客戶端與所述P2P服務(wù)器建立第一 P2P連接成功且所述第 二客戶端與所述P2P服務(wù)器建立第二 P2P連接成功之前,包括.'
所述P2P服務(wù)器接收所述第一客戶端發(fā)送的第一連接請(qǐng)求和所述第二客戶 端發(fā)送的第二連接請(qǐng)求;
所述P2P服務(wù)器分別根據(jù)所述第一連接請(qǐng)求中第一用戶的身份認(rèn)證信息和 所述第二連接請(qǐng)求中第二用戶的身份認(rèn)證信息,分別對(duì)所述第 一用戶和所述第 二用戶進(jìn)4亍iU正;
所述P2P服務(wù)器對(duì)所述第一用戶和所述第二用戶iU正成功后,分別與所述 第一客戶端建立第一P2P連接、與所述第二客戶端建立第二P2P連接,并分別 向所述第一客戶端和所述第二客戶端發(fā)送第一 P2P連沖妄成功響應(yīng)和第二 P2P連 才妄成功響應(yīng)。
本發(fā)明實(shí)施例提供了一種傳輸視頻數(shù)據(jù)的系統(tǒng),所述系統(tǒng)包括第一客戶 端、第二客戶端、中轉(zhuǎn)服務(wù)器和點(diǎn)對(duì)點(diǎn)P2P服務(wù)器,其中,
所述第一客戶端,用于向所述中轉(zhuǎn)服務(wù)器和所述P2P服務(wù)器發(fā)送第一連接 請(qǐng)求;與所述中轉(zhuǎn)服務(wù)器建立第一中轉(zhuǎn)連接;與所述第二客戶端通過(guò)所述中轉(zhuǎn) 服務(wù)器轉(zhuǎn)發(fā)傳輸視頻數(shù)據(jù);與所述P2P服務(wù)器建立第一P2P連接;中斷與所述 第二客戶端通過(guò)所述中轉(zhuǎn)服務(wù)器轉(zhuǎn)發(fā)傳輸視頻數(shù)據(jù);與所述第二客戶端使用P2P
模式直接傳輸纟見(jiàn)頻數(shù)據(jù);
所述第二客戶端,用于向所述中轉(zhuǎn)服務(wù)器和所述P2P服務(wù)器發(fā)送第二連接 請(qǐng)求;與所述中轉(zhuǎn)服務(wù)器建立第二中轉(zhuǎn)連接;與所述第一客戶端通過(guò)所述中轉(zhuǎn) 服務(wù)器轉(zhuǎn)發(fā)傳輸視頻數(shù)據(jù);與所述P2P服務(wù)器建立第二P2P連接;中斷與所述 第 一客戶端通過(guò)所述中轉(zhuǎn)服務(wù)器轉(zhuǎn)發(fā)傳輸視頻數(shù)據(jù);與所述第 一客戶端使用所 述P2P模式直接傳輸纟見(jiàn)頻數(shù)據(jù);
所述中轉(zhuǎn)服務(wù)器,用于分別接收所述第一客戶端和所述第二客戶端發(fā)送的 第一連接請(qǐng)求和第二連接請(qǐng)求;分別與所述第 一客戶端和所述第二客戶端建立 第一中轉(zhuǎn)連接和第二中轉(zhuǎn)連接;為所述第一客戶端和所述第二客戶端轉(zhuǎn)發(fā)傳輸 視頻數(shù)據(jù);
所述P2P服務(wù)器,用于分別接收所述第一客戶端和所述第二客戶端發(fā)送的第一連接請(qǐng)求和第二連接請(qǐng)求;分別與所述第一客戶端和所述第二客戶端建立 第一 P2P連接和第二 P2P連接;當(dāng)所述第一客戶端與所述第二客戶端中斷通過(guò) 所述中轉(zhuǎn)服務(wù)器轉(zhuǎn)發(fā)傳輸視頻數(shù)據(jù)時(shí),為所述第一客戶端和所述第二客戶端提 供P2P模式直接傳輸視頻數(shù)據(jù)。
其中,所述第一客戶端還用于,與所述P2P服務(wù)器建立第一P2P連接成功 且所述第二客戶端與所述P2P服務(wù)器建立第二 P2P連接成功后,與所述第二客 戶端使用P2P模式傳輸?shù)谝粠瑪?shù)據(jù)后,與所述第二客戶端中斷通過(guò)所述中轉(zhuǎn)服 務(wù)器轉(zhuǎn)發(fā)傳輸視頻數(shù)據(jù);
相應(yīng)地,所述第二客戶端還用于,與所述P2P月l務(wù)器建立第二P2P連接成 功且所述第一客戶端與所述P2P服務(wù)器建立第一 P2P連接成功后,與所述第一 客戶端使用P2P模式傳輸?shù)谝粠瑪?shù)據(jù)后,與所述第一客戶端中斷通過(guò)所述中轉(zhuǎn) 服務(wù)器轉(zhuǎn)發(fā)傳輸視頻數(shù)據(jù)。
其中,所述中轉(zhuǎn)服務(wù)器還用于,如果所述第一客戶端與所述第二客戶端在 使用P2P模式傳輸視頻數(shù)據(jù)過(guò)程中,所述第一客戶端與所述第二客戶端連接中 斷,或者,所述第一客戶端與所述第二客戶端所傳輸?shù)囊曨l數(shù)據(jù)丟包率大于預(yù) 定系數(shù),或者,所述第一客戶端與所述第二客戶端所傳輸?shù)囊曨l數(shù)據(jù)緩沖時(shí)間 大于預(yù)定時(shí)間,則在所述第 一客戶端判斷與所述中轉(zhuǎn)服務(wù)器之間保持鏈路且所 述第二客戶端判斷與所述中轉(zhuǎn)服務(wù)器之間保持鏈路時(shí),為所述第一客戶端和所 述第二客戶端繼續(xù)轉(zhuǎn)發(fā)傳輸視頻數(shù)據(jù);
在所述第 一客戶端與所述中轉(zhuǎn)服務(wù)器之間斷開(kāi)鏈路時(shí),接收所述第 一客戶 端發(fā)送的第一連接請(qǐng)求;在與所述第一客戶端建立第一中轉(zhuǎn)連接成功后,為所 述第一客戶端和所述第二客戶端繼續(xù)轉(zhuǎn)發(fā)傳輸一見(jiàn)頻數(shù)據(jù);
在所述第二客戶端與所述中轉(zhuǎn)服務(wù)器之間斷開(kāi)鏈路時(shí),接收所述第二客戶 端發(fā)送的第二連接請(qǐng)求;在與所述第二客戶端建立第二中轉(zhuǎn)連接成功后,為所 述第一客戶端和所述第二客戶端繼續(xù)轉(zhuǎn)發(fā)傳輸一見(jiàn)頻數(shù)據(jù);
在所述第一客戶端與所述第二客戶端都與所述中轉(zhuǎn)服務(wù)器之間斷開(kāi)鏈路 時(shí),分別接收所述第一客戶端發(fā)送的第一連接請(qǐng)求,所述第二客戶端發(fā)送的第 二連接請(qǐng)求;在與所述第 一客戶端建立第 一 中轉(zhuǎn)連接成功且與所述第二客戶端 建立第二中轉(zhuǎn)連接成功后,為所述第一客戶端和所述第二客戶端繼續(xù)轉(zhuǎn)發(fā)傳輸 視頻數(shù)據(jù)。其中,所述P2P服務(wù)器,還用于如果所述第一客戶端與所述中轉(zhuǎn)服務(wù)器建 立第一中轉(zhuǎn)連接成功且所述第二客戶端與所述中轉(zhuǎn)服務(wù)器建立第二中轉(zhuǎn)連接成
功之前,所述第一客戶端已經(jīng)與所述P2P服務(wù)器建立第一 P2P連接成功且所述 第二客戶端已經(jīng)與所述P2P服務(wù)器建立第二 P2P連接成功,則直接為所述第一 客戶端和所述第二客戶端提供P2P模式傳輸視頻數(shù)據(jù),中斷所述第一客戶端與 所述第二客戶端與所述中轉(zhuǎn)服務(wù)器的連接。
其中,所述中轉(zhuǎn)服務(wù)器,還用于分別根據(jù)所述第一連接請(qǐng)求中第一用戶的 身份認(rèn)證信息和所述第二連接請(qǐng)求中第二用戶的身份認(rèn)證信息,分別對(duì)所述第 一用戶和所述第二用戶進(jìn)行認(rèn)證;對(duì)所述第 一用戶和所述第二用戶認(rèn)證成功后, 分別與所述第 一客戶端建立第 一 中轉(zhuǎn)連接、與所述第二客戶端建立第二中轉(zhuǎn)連 接。
其中,所述P2P服務(wù)器,還用于分別根據(jù)所述第一連接請(qǐng)求中第一用戶的 身份認(rèn)證信息和所述第二連接請(qǐng)求中第二用戶的身份認(rèn)證信息,分別對(duì)所述第 一用戶和所述第二用戶進(jìn)行認(rèn)證;對(duì)所述第 一用戶和所述第二用戶認(rèn)證成功后, 分別與所述第一客戶端建立第一 P2P連接、與所述第二客戶端建立第二 P2P連接。
本發(fā)明實(shí)施例還提供了一種傳輸視頻數(shù)據(jù)的裝置,所述裝置包括 發(fā)送模塊,用于第一客戶端分別向中轉(zhuǎn)服務(wù)器和點(diǎn)對(duì)點(diǎn)P2P服務(wù)器發(fā)送第 一連接請(qǐng)求;
中轉(zhuǎn)傳輸模塊,用于所述第一客戶端通過(guò)所述發(fā)送模塊向所述中轉(zhuǎn)服務(wù)器 發(fā)送第一連接請(qǐng)求后,與所述中轉(zhuǎn)服務(wù)器建立第一中轉(zhuǎn)連接;在所述第一中轉(zhuǎn) 連接建立成功后,所述第一客戶端與其他客戶端通過(guò)所述中轉(zhuǎn)服務(wù)器轉(zhuǎn)發(fā)傳輸 視頻數(shù)據(jù);
中轉(zhuǎn)中斷模塊,用于所述第一客戶端通過(guò)所述中轉(zhuǎn)傳輸模塊與其他客戶端 通過(guò)所述中轉(zhuǎn)服務(wù)器轉(zhuǎn)發(fā)傳輸視頻數(shù)據(jù)后,根據(jù)所述發(fā)送模塊向所述P2P服務(wù) 器發(fā)送第一連接請(qǐng)求,與所述P2P服務(wù)器建立第一P2P連接;在所述第一P2P 連接建立成功后,所述第一客戶端與其他客戶端中斷通過(guò)所述中轉(zhuǎn)服務(wù)器轉(zhuǎn)發(fā) 傳輸視頻數(shù)據(jù);
P2P傳輸模塊,用于所述第 一客戶端通過(guò)所述中轉(zhuǎn)中斷模塊中斷通過(guò)所述中 轉(zhuǎn)服務(wù)器轉(zhuǎn)發(fā)傳輸視頻數(shù)據(jù)后,所述第一客戶端與其他客戶端使用P2P沖莫式直接傳輸視頻數(shù)據(jù)。
進(jìn)一步地,所述中轉(zhuǎn)中斷模塊還包括中轉(zhuǎn)中斷單元,用于所述第一客戶
端與所述P2P服務(wù)器建立第一P2P連接成功后,與其他客戶端使用P2P模式傳 輸?shù)?一幀數(shù)據(jù)后,與所述其他客戶端中斷通過(guò)所述中轉(zhuǎn)服務(wù)器轉(zhuǎn)發(fā)傳輸-觀頻數(shù) 據(jù)。
其中,所述裝置還包括中轉(zhuǎn)持續(xù)模塊,用于如果所述第一客戶端與其他 客戶端在使用P2P模式傳輸視頻數(shù)據(jù)過(guò)程中,所述第一客戶端與所述其他客戶 端連接中斷,或者,所述第一客戶端與所述其他客戶端所傳輸?shù)囊曨l數(shù)據(jù)丟包 率大于預(yù)定系數(shù),或者,所述第一客戶端與所述其他客戶端所傳輸?shù)囊曨l數(shù)據(jù) 緩沖時(shí)間大于預(yù)定時(shí)間,判斷所述第一客戶端是否與所述中轉(zhuǎn)服務(wù)器之間保持 鏈路,如果是,則通過(guò)所述中轉(zhuǎn)服務(wù)器為所述第一客戶端和所述其他客戶端繼 續(xù)轉(zhuǎn)發(fā)傳輸纟見(jiàn)頻數(shù)據(jù);
否則,所述第一客戶端向所述中轉(zhuǎn)服務(wù)器發(fā)送第一連接請(qǐng)求;在與所述中 轉(zhuǎn)服務(wù)器建立第一中轉(zhuǎn)連接成功后,通過(guò)所述中轉(zhuǎn)服務(wù)器為所述第一客戶端和 所述其他客戶端繼續(xù)轉(zhuǎn)發(fā)傳輸視頻數(shù)據(jù)。
本發(fā)明實(shí)施例提供的技術(shù)方案的有益效果是
通過(guò)本發(fā)明實(shí)施例提供的方案,在視頻數(shù)據(jù)的傳輸開(kāi)始階段,采用服務(wù)器 中轉(zhuǎn)技術(shù)傳輸視頻數(shù)據(jù),解決了用戶登陸慢、連接速度慢的問(wèn)題,使得用戶能 夠快速的傳輸視頻,提高了用戶的使用體驗(yàn);在P2P連接成功后,采用P2P傳 輸視頻數(shù)據(jù),節(jié)約了網(wǎng)絡(luò)的帶寬。
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施 例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述 中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付 出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖l是本發(fā)明實(shí)施例l提供的方法流程的示意圖2是本發(fā)明實(shí)施例2提供的方法流程的示意圖3是本發(fā)明實(shí)施例3提供的系統(tǒng)結(jié)構(gòu)的示意圖4是本發(fā)明實(shí)施例4提供的裝置結(jié)構(gòu)的示意圖。
具體實(shí)施例方式
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì) 本發(fā)明實(shí)施方式作進(jìn)一步地詳細(xì)描述。
實(shí)施例1
為了解決用戶客戶端利用P2P模式登P封曼、連接速度慢甚至連接不上的問(wèn) 題,提高用戶的使用體驗(yàn),同時(shí)節(jié)約網(wǎng)絡(luò)帶寬,本發(fā)明實(shí)施例提供了一種傳輸 視頻數(shù)據(jù)的方法,參見(jiàn)圖1,該方法包括
101:第一客戶端分別向中轉(zhuǎn)服務(wù)器和點(diǎn)對(duì)點(diǎn)P2P服務(wù)器發(fā)送第一連接請(qǐng)求, 第二客戶端分別向中轉(zhuǎn)服務(wù)器和P2P服務(wù)器發(fā)送第二連接請(qǐng)求;
其中,第一客戶端和第二客戶端具體可以為游戲客戶端、網(wǎng)頁(yè)客戶端、移 動(dòng)終端客戶端等,本發(fā)明實(shí)施例對(duì)此不作限制。
102:第 一客戶端與中轉(zhuǎn)服務(wù)器建立第 一 中轉(zhuǎn)連接成功且第二客戶端與中轉(zhuǎn) 服務(wù)器建立第二中轉(zhuǎn)連接成功后,第一客戶端與第二客戶端通過(guò)中轉(zhuǎn)服務(wù)器轉(zhuǎn) 發(fā)傳輸視頻數(shù)據(jù);
103:第一客戶端與P2P服務(wù)器建立第一P2P連接成功且第二客戶端與P2P 服務(wù)器建立第二 P2P連接成功后,第一客戶端與第二客戶端中斷通過(guò)中轉(zhuǎn)服務(wù) 器轉(zhuǎn)發(fā)傳輸視頻數(shù)據(jù);
104:第一客戶端與第二客戶端使用P2P模式直接傳輸視頻數(shù)據(jù)。
其中,第一客戶端與P2P服務(wù)器建立第一 P2P連接成功且第二客戶端與P2P 服務(wù)器建立第二 P2P連接成功后,第一客戶端與第二客戶端中斷通過(guò)中轉(zhuǎn)服務(wù) 器轉(zhuǎn)發(fā)傳輸視頻數(shù)據(jù),具體包括
第一客戶端與P2P服務(wù)器建立第一P2P連接成功且第二客戶端與P2P服務(wù) 器建立第二P2P連接成功后,第一客戶端與第二客戶端使用P2P模式傳輸?shù)谝?幀數(shù)據(jù)后,第 一客戶端與第二客戶端中斷通過(guò)中轉(zhuǎn)服務(wù)器轉(zhuǎn)發(fā)傳輸視頻數(shù)據(jù)。
其中,第一客戶端與第二客戶端使用P2P模式直接傳輸視頻數(shù)據(jù)之后,還 包括
如果第一客戶端與第二客戶端在使用P2P模式傳輸視頻數(shù)據(jù)過(guò)程中,第一 客戶端與第二客戶端連接中斷,或者,第一客戶端與第二客戶端所傳輸?shù)囊曨l數(shù)據(jù)丟包率大于預(yù)定系數(shù),或者,第一客戶端與第二客戶端所傳輸?shù)囊曨l數(shù)據(jù) 緩沖時(shí)間大于預(yù)定時(shí)間,則第 一客戶端與第二客戶端分別判斷是否與中轉(zhuǎn)服務(wù)
器之間保持鏈路;
其中,丟包率的預(yù)定系數(shù)和緩沖時(shí)間的預(yù)定時(shí)間可以根據(jù)實(shí)際情況靈活選 擇,例如丟包率的預(yù)定系數(shù)可以設(shè)置為10%,緩沖時(shí)間的預(yù)定時(shí)間可以設(shè)置為 10秒,本發(fā)明實(shí)施例對(duì)此不作限制。
如果第一客戶端與中轉(zhuǎn)服務(wù)器之間保持鏈路且第二客戶端與中轉(zhuǎn)服務(wù)器之 間保持鏈路,則通過(guò)中轉(zhuǎn)服務(wù)器繼續(xù)傳輸視頻數(shù)據(jù);
如果第 一客戶端與中轉(zhuǎn)服務(wù)器之間斷開(kāi)鏈路,則笫 一客戶端向中轉(zhuǎn)服務(wù)器 發(fā)送第一連接請(qǐng)求;在第一客戶端與中轉(zhuǎn)服務(wù)器建立第一中轉(zhuǎn)連接成功后,第 一客戶端與第二客戶端通過(guò)中轉(zhuǎn)服務(wù)器轉(zhuǎn)發(fā)傳輸視頻數(shù)據(jù);
如果第二客戶端與中轉(zhuǎn)服務(wù)器之間斷開(kāi)鏈路,則第二客戶端向中轉(zhuǎn)服務(wù)器
發(fā)送第二連接請(qǐng)求;在第二客戶端與中轉(zhuǎn)服務(wù)器建立第二中轉(zhuǎn)連接成功后,第 二客戶端與第 一客戶端通過(guò)中轉(zhuǎn)服務(wù)器轉(zhuǎn)發(fā)傳輸視頻數(shù)據(jù);
如果第一客戶端與第二客戶端都與中轉(zhuǎn)服務(wù)器之間斷開(kāi)鏈路,則第 一客戶 端向中轉(zhuǎn)服務(wù)器發(fā)送第 一連接請(qǐng)求,第二客戶端向中轉(zhuǎn)服務(wù)器發(fā)送第二連接請(qǐng) 求;
在第 一客戶端與中轉(zhuǎn)服務(wù)器建立第 一 中轉(zhuǎn)連接成功且第二客戶端與中轉(zhuǎn)服 務(wù)器建立第二中轉(zhuǎn)連接成功后,第一客戶端與第二客戶端通過(guò)中轉(zhuǎn)服務(wù)器轉(zhuǎn)發(fā) 傳輸纟見(jiàn)頻數(shù)據(jù)。
其中,該方法還包括
如果第 一客戶端與中轉(zhuǎn)服務(wù)器建立第 一 中轉(zhuǎn)連接成功且第二客戶端與中轉(zhuǎn) 服務(wù)器建立第二中轉(zhuǎn)連接成功之前,第一客戶端已經(jīng)與P2P服務(wù)器建立第一P2P 連接成功且第二客戶端已經(jīng)與P2P服務(wù)器建立第二 P2P連接成功,則第一客戶 端與第二客戶端直接使用P2P模式進(jìn)行視頻數(shù)據(jù)的傳輸,中斷第一客戶端與第 二客戶端與中轉(zhuǎn)服務(wù)器的連接。
其中,第 一客戶端與中轉(zhuǎn)服務(wù)器建立第 一 中轉(zhuǎn)連接成功且第二客戶端與中
轉(zhuǎn)服務(wù)器建立第二中轉(zhuǎn)連接成功之前,包括
中轉(zhuǎn)服務(wù)器接收第 一客戶端發(fā)送的第 一連接請(qǐng)求和第二客戶端發(fā)送的第二 連接請(qǐng)求;中轉(zhuǎn)服務(wù)器分別根據(jù)第 一連接請(qǐng)求中第 一用戶的身份認(rèn)證信息和第二連接
請(qǐng)求中第二用戶的身份認(rèn)證信息,分別對(duì)第一用戶和第二用戶進(jìn)行認(rèn)證;
中轉(zhuǎn)服務(wù)器對(duì)第一用戶和第二用戶認(rèn)證成功后,分別與第一客戶端建立第 一中轉(zhuǎn)連接、與第二客戶端建立第二中轉(zhuǎn)連接,并分別向第一客戶端和第二客 戶端發(fā)送第 一 中轉(zhuǎn)連接成功響應(yīng)和第二中轉(zhuǎn)連接成功響應(yīng)。
其中,第一客戶端與P2P服務(wù)器建立第一P2P連接成功且第二客戶端與P2P 服務(wù)器建立第二P2P連接成功之前,包括
P2P服務(wù)器接收第 一客戶端發(fā)送的第 一連接請(qǐng)求和第二客戶端發(fā)送的第二 連接請(qǐng)求;
P2P服務(wù)器分別根據(jù)第一連接請(qǐng)求中第一用戶的身份認(rèn)證信息和第二連接 請(qǐng)求中第二用戶的身份認(rèn)證信息,分別對(duì)第 一用戶和第二用戶進(jìn)行認(rèn)證;P2P服務(wù)器對(duì)第一用戶和第二用戶認(rèn)證成功后,分別與第一客戶端建立第一 P2P連接、與第二客戶端建立第二 P2P連接,并分別向第一客戶端和第二客戶 端發(fā)送第一 P2P連接成功響應(yīng)和第二 P2P連接成功響應(yīng)。
本發(fā)明實(shí)施例提供的方法,在視頻數(shù)據(jù)的傳輸開(kāi)始階段,采用中轉(zhuǎn)服務(wù)器 傳輸視頻數(shù)據(jù),在P2P連接成功后,采用P2P模式直接傳輸視頻數(shù)據(jù),解決了 用戶登陸慢、連接速度慢的問(wèn)題,使得用戶能夠快速的傳輸視頻,提高了用戶 的使用體驗(yàn),節(jié)約了網(wǎng)絡(luò)的帶寬,在P2P發(fā)生錯(cuò)誤無(wú)法使用時(shí),又及時(shí)切換到 中轉(zhuǎn)服務(wù)器上,通過(guò)中轉(zhuǎn)服務(wù)器傳輸視頻數(shù)據(jù),使得用戶可以繼續(xù)傳輸視頻數(shù) 據(jù),保證用戶傳輸-視頻數(shù)據(jù)的連貫性。
實(shí)施例2
為了解決用戶客戶端利用P2P模式登陸慢、連接速度慢甚至連接不上的問(wèn) 題,提高用戶的使用體驗(yàn),同時(shí)節(jié)約網(wǎng)絡(luò)帶寬,本發(fā)明實(shí)施例提供了一種傳輸 視頻數(shù)據(jù)的方法,其中,本發(fā)明實(shí)施例中以在視頻網(wǎng)絡(luò)游戲中用戶A和用戶B 傳輸視頻數(shù)據(jù)為例進(jìn)行說(shuō)明,參見(jiàn)圖2,具體實(shí)現(xiàn)過(guò)程如下
201:用戶A和用戶B分別通過(guò)游戲客戶端A和游戲客戶端B登錄一見(jiàn)頻網(wǎng) 絡(luò)游戲;
其中,用戶在游戲客戶端通過(guò)賬號(hào)和密碼登錄視頻網(wǎng)絡(luò)游戲的游戲系統(tǒng), 當(dāng)用戶成功登錄到視頻網(wǎng)絡(luò)游戲的游戲系統(tǒng)后,就可以通過(guò)游戲客戶端和游戲服務(wù)器相互發(fā)送游戲數(shù)據(jù),實(shí)現(xiàn)游戲的功能。
其中,用戶的賬號(hào)和密碼作為用戶的身份標(biāo)識(shí),在游戲系統(tǒng)中是唯一的,
用戶通過(guò)在^L頻網(wǎng)絡(luò)游戲界面或其他界面注冊(cè)后獲取。用戶A和用戶B在通過(guò) 各自的游戲客戶端登錄游戲系統(tǒng)之前,需要在游戲系統(tǒng)的界面或其他界面中首 先注冊(cè)各自的賬號(hào)和密碼。
202:當(dāng)游戲客戶端A和游戲客戶端B在視頻網(wǎng)絡(luò)游戲中需要建立連接傳輸 視頻數(shù)據(jù)時(shí),游戲客戶端A和游戲客戶端B分別同時(shí)向中轉(zhuǎn)服務(wù)器和P2P服務(wù) 器發(fā)送登錄以及建立連接請(qǐng)求;
其中,游戲客戶端A和游戲客戶端B在視頻網(wǎng)絡(luò)游戲中如果需要建立連接 相互傳輸視頻數(shù)據(jù),首先游戲客戶端A向中轉(zhuǎn)服務(wù)器和P2P服務(wù)器同時(shí)發(fā)送登 錄以及建立連接請(qǐng)求;游戲客戶端B分別向中轉(zhuǎn)服務(wù)器和P2P服務(wù)器同時(shí)發(fā)送 登錄以及建立連接請(qǐng)求。
其中,游戲客戶端向中轉(zhuǎn)服務(wù)器和P2P服務(wù)器發(fā)送登錄以及建立連接請(qǐng)求 是同時(shí)發(fā)送的。另外,在實(shí)際應(yīng)用中一般中轉(zhuǎn)服務(wù)器登錄和連接的速度要比P2P 服務(wù)器塊,所以可以先向中轉(zhuǎn)服務(wù)器發(fā)送登錄以及建立連接請(qǐng)求,使用戶能夠 盡快的連接上傳輸視頻數(shù)據(jù),再向P2P服務(wù)器發(fā)送登錄以及建立連接請(qǐng)求。中 轉(zhuǎn)服務(wù)器是視頻網(wǎng)絡(luò)游戲系統(tǒng)為了傳輸視頻數(shù)據(jù)資源而提供的專(zhuān)門(mén)用于中轉(zhuǎn)用 戶之間的視頻數(shù)據(jù)的服務(wù)器;P2P服務(wù)器是視頻網(wǎng)絡(luò)游戲系統(tǒng)提供的用于直接傳 輸用戶之間的視頻數(shù)據(jù)的服務(wù)器。
203:中轉(zhuǎn)服務(wù)器分別接收游戲客戶端A和游戲客戶端B發(fā)送的登錄以及建 立連接請(qǐng)求,為游戲客戶端A和游戲客戶端B分別建立中轉(zhuǎn)連接,并分別向游 戲客戶端A和游戲客戶端B發(fā)送中轉(zhuǎn)連4妄成功響應(yīng);
其中,游戲客戶端在向中轉(zhuǎn)服務(wù)器發(fā)送的登錄以及建立連接請(qǐng)求中攜帶可 以識(shí)別用戶的身份認(rèn)證信息,這里的身份認(rèn)證信息可以是用戶在游戲系統(tǒng)中注 冊(cè)的賬號(hào)和密碼;也可以是根據(jù)用戶在游戲系統(tǒng)中注冊(cè)的賬號(hào)和密碼轉(zhuǎn)化得到 的加密身份標(biāo)識(shí),游戲客戶端通過(guò)該身份標(biāo)識(shí)登錄中轉(zhuǎn)服務(wù)器,而中轉(zhuǎn)服務(wù)器 中預(yù)先保存有公用密鑰,以便于通過(guò)自身保存的公用密鑰和游戲客戶端發(fā)送的 身份認(rèn)證信息對(duì)用戶進(jìn)行認(rèn)證。
當(dāng)中轉(zhuǎn)服務(wù)器接收游戲客戶端A和游戲客戶端B發(fā)送的登錄以及建立連接 請(qǐng)求后,中轉(zhuǎn)服務(wù)器獲取游戲客戶端A發(fā)送的登錄以及建立連接請(qǐng)求中的身份認(rèn)證信息,與自身預(yù)存的公用密鑰進(jìn)行認(rèn)證,如果認(rèn)證成功,則為游戲客戶端A
建立中轉(zhuǎn)連接;相應(yīng)地,中轉(zhuǎn)服務(wù)器通過(guò)相同的處理操作為游戲客戶端B建立 中轉(zhuǎn)連才妄。
在中轉(zhuǎn)服務(wù)器分別為游戲客戶端A和游戲客戶端B建立連接后,分別向游 戲客戶端A和游戲客戶端B發(fā)送中轉(zhuǎn)連4秦成功響應(yīng)。
204:游戲客戶端A和游戲客戶端B分別接收到中轉(zhuǎn)服務(wù)器發(fā)送的中轉(zhuǎn)連接 成功響應(yīng),通過(guò)中轉(zhuǎn)服務(wù)器傳輸視頻數(shù)據(jù);
其中,游戲客戶端A通過(guò)中轉(zhuǎn)服務(wù)器將自身的視頻數(shù)據(jù)發(fā)送給游戲客戶端 B,并通過(guò)中轉(zhuǎn)服務(wù)器接收游戲客戶端B發(fā)送的視頻數(shù)據(jù);相應(yīng)地,游戲客戶端 B通過(guò)中轉(zhuǎn)服務(wù)器將自身的視頻數(shù)據(jù)發(fā)送給游戲客戶端A,并通過(guò)中轉(zhuǎn)服務(wù)器接 收游戲客戶端A發(fā)送的視頻數(shù)據(jù)。
其中,用戶的游戲客戶端一方面負(fù)責(zé)將本地-觀頻采集并編碼,得到本地一見(jiàn) 頻數(shù)據(jù),并將本地視頻數(shù)據(jù)發(fā)送到中轉(zhuǎn)服務(wù)器,由中轉(zhuǎn)服務(wù)器負(fù)責(zé)將本地視頻 數(shù)據(jù)轉(zhuǎn)發(fā)給對(duì)端用戶;用戶的游戲客戶端另 一方面還負(fù)責(zé)從中轉(zhuǎn)服務(wù)器中接收 對(duì)端用戶的視頻數(shù)據(jù),并將接收到的視頻數(shù)據(jù)進(jìn)行解碼,展現(xiàn)給用戶。本發(fā)明 實(shí)施例中的游戲客戶端A和游戲客戶端B都具有上述兩方面的功能。
其中,游戲客戶端A和游戲客戶端B與中轉(zhuǎn)服務(wù)器建立連接的時(shí)間可能不 完全相同,可能會(huì)存在一定的時(shí)差,只有游戲客戶端A和游戲客戶端B都與中 轉(zhuǎn)服務(wù)器成功建立連接后,才能通過(guò)中轉(zhuǎn)服務(wù)器傳輸視頻數(shù)據(jù)。
205:當(dāng)P2P服務(wù)器接收游戲客戶端A和游戲客戶端B發(fā)送的登錄以及建 立連接請(qǐng)求后,為游戲客戶端A和游戲客戶端B分別建立連接,并分別向游戲 客戶端A和游戲客戶端B發(fā)送中轉(zhuǎn)連接成功響應(yīng);
其中,游戲客戶端在向P2P服務(wù)器發(fā)送登錄以及建立連接請(qǐng)求中攜帶可以 識(shí)別用戶的身份認(rèn)證信息,這里的身份認(rèn)證信息可以是用戶在游戲系統(tǒng)中注冊(cè) 的賬號(hào)和密碼;也可以是根據(jù)用戶在游戲系統(tǒng)中注冊(cè)的賬號(hào)和密碼轉(zhuǎn)化得到的 加密身份標(biāo)識(shí),游戲客戶端通過(guò)該身份標(biāo)識(shí)登錄P2P服務(wù)器,而P2P服務(wù)器中
的身份認(rèn)證信息對(duì)用戶進(jìn)行認(rèn)證。
當(dāng)P2P服務(wù)器接收游戲客戶端A和游戲客戶端B發(fā)送的登錄以及建立連接 請(qǐng)求后,P2P服務(wù)器獲取游戲客戶端A發(fā)送的登錄以及建立連接請(qǐng)求中的身份認(rèn)證信息,與自身預(yù)存的公用密鑰進(jìn)行認(rèn)證,如果認(rèn)證成功,則為游戲客戶端A
建立連接;相應(yīng)地,P2P服務(wù)器通過(guò)相同的處理操作為游戲客戶端B建立連接。
在P2P服務(wù)器分別為游戲客戶端A和游戲客戶端B建立連接后,分別向游 戲客戶端A和游戲客戶端B發(fā)送中轉(zhuǎn)連接成功響應(yīng)。
其中,由于P2P服務(wù)器是直接在游戲客戶端之間傳輸視頻數(shù)據(jù)資源,每個(gè) 游戲客戶端既是服務(wù)器又是客戶端,所以相對(duì)于中轉(zhuǎn)服務(wù)器的服務(wù)器而言,游 戲客戶端在處理能力、運(yùn)行速度以及帶寬資源等能力都較差,所以P2P服務(wù)器 登錄和連接的速度一般會(huì)比較慢,低于中轉(zhuǎn)服務(wù)器;因此, 一般在P2P服務(wù)器 為用戶的游戲客戶端建立連接之前,用戶的游戲客戶端可能早已和中轉(zhuǎn)服務(wù)器 建立了連接,并已經(jīng)在傳輸-〖見(jiàn)頻數(shù)據(jù)。
206:游戲客戶端A和游戲客戶端B分別接收到P2P服務(wù)器發(fā)送的P2P連 接成功響應(yīng),中斷通過(guò)中轉(zhuǎn)服務(wù)器傳輸視頻數(shù)據(jù);
其中,游戲客戶端A和游戲客戶端B在分別接收到P2P服務(wù)器發(fā)送的P2P 連接成功響應(yīng)后,會(huì)暫停與中轉(zhuǎn)服務(wù)器的連接,中斷通過(guò)中轉(zhuǎn)服務(wù)器傳輸視頻 數(shù)據(jù);另外,游戲客戶端A和游戲客戶端B也可以直接斷開(kāi)與中轉(zhuǎn)服務(wù)器的連 接。
207:游戲客戶端A和游戲客戶端B中斷通過(guò)中轉(zhuǎn)服務(wù)器傳輸視頻數(shù)據(jù)后, 游戲客戶端A和游戲客戶端B使用P2P模式直接傳輸^L頻數(shù)據(jù);
其中,游戲客戶端A使用P2P模式直接將自身的視頻數(shù)據(jù)發(fā)送給游戲客戶 端B,并使用P2P模式直接接收游戲客戶端B發(fā)送的視頻數(shù)據(jù);相應(yīng)地,游戲 客戶端B使用P2P模式直接將自身的視頻數(shù)據(jù)發(fā)送給游戲客戶端A,并使用P2P 模式直接接收游戲客戶端A發(fā)送的視頻數(shù)據(jù)。
其中,用戶的游戲客戶端一方面負(fù)責(zé)將本地視頻采集并編碼,得到本地視 頻數(shù)據(jù),并將本地視頻數(shù)據(jù)使用P2P模式發(fā)送給對(duì)端用戶;用戶的游戲客戶端 另一方面還負(fù)責(zé)使用P2P模式接收對(duì)端用戶的視頻數(shù)據(jù),并將接收到的視頻數(shù) 據(jù)進(jìn)行解碼,展現(xiàn)給用戶。
其中,游戲客戶端A和游戲客戶端B與P2P月良務(wù)器建立連接的時(shí)間可能不 完全相同,可能會(huì)存在一定的時(shí)差,只有游戲客戶端A和游戲客戶端B都與P2P 服務(wù)器成功建立連接后即游戲客戶端A和游戲客戶端B分別都收到P2P服務(wù)器 發(fā)送的連接成功響應(yīng)并分別中斷與中轉(zhuǎn)服務(wù)器的視頻數(shù)據(jù)傳輸時(shí),才能通過(guò)P2P模式直接傳輸視頻數(shù)據(jù)。
208:如果游戲客戶端A和游戲客戶端B在使用P2P模式直接傳輸視頻數(shù) 據(jù)過(guò)程中連接不上或者連接緩沖時(shí)間大于預(yù)定時(shí)間或者所傳輸?shù)囊曨l數(shù)據(jù)丟包 率大于預(yù)定系數(shù),則游戲客戶端A和游戲客戶端B將繼續(xù)切換到中轉(zhuǎn)服務(wù)器上, 通過(guò)中轉(zhuǎn)服務(wù)器繼續(xù)傳輸^L頻數(shù)據(jù)。
其中,當(dāng)游戲客戶端A和游戲客戶端B在使用P2P模式直接傳輸視頻數(shù)據(jù) 過(guò)程中,如果游戲客戶端A和游戲客戶端B連4妄不上,或者連接緩沖時(shí)間大于 預(yù)定時(shí)間導(dǎo)致視頻傳輸不流暢,或者所傳輸?shù)囊曨l數(shù)據(jù)丟包率大于預(yù)定系數(shù)等, 無(wú)法繼續(xù)使用P2P模式傳輸視頻數(shù)據(jù),此時(shí)游戲客戶端A和游戲客戶端B將重 新啟用中轉(zhuǎn)服務(wù)器,通過(guò)中轉(zhuǎn)服務(wù)器繼續(xù)傳輸視頻數(shù)據(jù),以便于保持用戶視頻 數(shù)據(jù)傳輸?shù)倪B貫,提高用戶的使用體驗(yàn)。
其中,丟包率的預(yù)定系數(shù)和緩沖時(shí)間的預(yù)定時(shí)間可以根據(jù)實(shí)際情況靈活選 擇,例如丟包率的預(yù)定系數(shù)可以設(shè)置為10%,緩沖時(shí)間的預(yù)定時(shí)間可以設(shè)置為 10秒,本發(fā)明實(shí)施例對(duì)此不作限制。
如果在步驟206中,只是暫停游戲客戶端與中轉(zhuǎn)服務(wù)器的連接鏈路并沒(méi)有 斷開(kāi),則此時(shí)只需要解除暫停,繼續(xù)保持連接,即可繼續(xù)使用中轉(zhuǎn)服務(wù)器,傳 輸視頻數(shù)據(jù);如果在步驟206中,斷開(kāi)了游戲客戶端與中轉(zhuǎn)服務(wù)器之間的連接 鏈路,則游戲客戶端需要重新向中轉(zhuǎn)服務(wù)器發(fā)送登錄以及連接請(qǐng)求;在中轉(zhuǎn)服 務(wù)器通過(guò)認(rèn)證后,為游戲客戶端重新建立中轉(zhuǎn)連接,向游戲客戶端發(fā)送中轉(zhuǎn)連 接成功響應(yīng)后,才能繼續(xù)實(shí)現(xiàn)通過(guò)中轉(zhuǎn)服務(wù)器轉(zhuǎn)發(fā)游戲客戶端之間的視頻數(shù)據(jù), 即重新執(zhí)行步驟202-204。
另外,在P2P服務(wù)器發(fā)生錯(cuò)誤時(shí),游戲客戶端使用中轉(zhuǎn)服務(wù)器傳輸視頻數(shù) 據(jù),此時(shí)游戲客戶端仍然可以向P2P服務(wù)器登錄以及連接請(qǐng)求,當(dāng)P2P服務(wù)器 恢復(fù)時(shí),則可以執(zhí)行步驟205-207,游戲客戶端切換到P2P模式上,使用P2P模 式之間傳輸^見(jiàn)頻凄t據(jù)。
上述步驟201-207具體介紹了游戲客戶端在視頻網(wǎng)絡(luò)游戲中在傳輸開(kāi)始階 段通過(guò)中轉(zhuǎn)服務(wù)器中轉(zhuǎn)傳輸視頻數(shù)據(jù),在P2P連接成功后,采用P2P模式直接 傳輸視頻數(shù)據(jù),既解決了游戲客戶端利用P2P模式登陸慢、連接速度慢甚至連 接不上的問(wèn)題,提高用戶的使用體驗(yàn),又節(jié)約網(wǎng)絡(luò)帶寬;同時(shí),在P2P發(fā)生錯(cuò) 誤無(wú)法使用時(shí),又及時(shí)切換到中轉(zhuǎn)服務(wù)器上,通過(guò)中轉(zhuǎn)服務(wù)器傳輸視頻數(shù)據(jù),使得游戲客戶端可以繼續(xù)傳輸視頻數(shù)據(jù),保證用戶視頻的連貫性。
另外,在上述步驟中,如果在步驟202中,游戲客戶端A和游戲客戶端B 分別同時(shí)向中轉(zhuǎn)服務(wù)器和P2P服務(wù)器發(fā)送登錄以及建立連接請(qǐng)求后,P2P服務(wù)
中轉(zhuǎn)服務(wù)器發(fā)送的中轉(zhuǎn)連接成功響應(yīng)之前已經(jīng)接收到了 P2P服務(wù)器發(fā)送的P2P 連接成功響應(yīng),則游戲客戶端直接使用P2P模式進(jìn)行視頻數(shù)據(jù)的傳輸,而無(wú)需 與中轉(zhuǎn)服務(wù)器建立連接,可以直接中斷游戲客戶端與中轉(zhuǎn)服務(wù)器的連接過(guò)程。
但是,在P2P發(fā)生錯(cuò)誤無(wú)法使用時(shí),游戲客戶端需要重新與中轉(zhuǎn)服務(wù)器建 立連接,保證通過(guò)中轉(zhuǎn)服務(wù)器傳輸視頻數(shù)據(jù)。
另外,如果游戲客戶端在與中轉(zhuǎn)服務(wù)器建立連接后, 一直無(wú)法與P2P服務(wù) 器建立連接或者與P2P服務(wù)器一直沒(méi)法完成連接,則游戲客戶端一直使用中轉(zhuǎn) 服務(wù)器傳輸視頻數(shù)據(jù)。
本發(fā)明實(shí)施例中以游戲客戶端A和游戲客戶端B在視頻網(wǎng)絡(luò)游戲中傳輸視 頻數(shù)據(jù)為例,其中一個(gè)游戲客戶端可以和多個(gè)游戲客戶端同時(shí)傳輸視頻數(shù)據(jù), 可以分別與多個(gè)游戲客戶端中的每個(gè)游戲客戶端在傳輸初始階段采用中轉(zhuǎn)服務(wù) 器建立連接傳輸數(shù)據(jù),在P2P連接成功后,采用P2P模式直接傳輸視頻數(shù)據(jù), 其處理流程類(lèi)似,不再贅述。
本發(fā)明實(shí)施例是以在視頻網(wǎng)絡(luò)游戲中用戶傳輸視頻數(shù)據(jù)為例,其中本發(fā)明 實(shí)施例提供的方法還適用于其他任何需要傳輸;現(xiàn)頻數(shù)據(jù)的場(chǎng)景,如即時(shí)通信、 在線聊天等,其處理過(guò)程類(lèi)似,不再贅述。
本發(fā)明實(shí)施例提供的方法,通過(guò)在視頻網(wǎng)絡(luò)游戲中用戶的游戲客戶端在傳 輸開(kāi)始階段通過(guò)中轉(zhuǎn)服務(wù)器中轉(zhuǎn)傳輸視頻數(shù)據(jù),在P2P連接成功后,采用P2P 模式直接傳輸視頻數(shù)據(jù),既解決了用戶客戶端利用P2P模式登陸慢、連接速度 慢甚至連接不上的問(wèn)題,提高用戶的使用體驗(yàn),又節(jié)約網(wǎng)絡(luò)帶寬;同時(shí),在P2P 發(fā)生錯(cuò)誤無(wú)法使用時(shí),又及時(shí)切換到中轉(zhuǎn)服務(wù)器上,通過(guò)中轉(zhuǎn)服務(wù)器傳輸視頻 數(shù)據(jù),使得用戶可以繼續(xù)傳輸視頻數(shù)據(jù),保證用戶視頻的連貫性。
實(shí)施例3
本發(fā)明實(shí)施例提供了一種傳輸視頻數(shù)據(jù)的系統(tǒng),參見(jiàn)圖3,該系統(tǒng)包括第 一客戶端301、第二客戶端302、中轉(zhuǎn)服務(wù)器303和點(diǎn)對(duì)點(diǎn)P2P服務(wù)器304,其中,
第一客戶端301,用于向中轉(zhuǎn)服務(wù)器303和P2P服務(wù)器304發(fā)送第一連接請(qǐng) 求;與中轉(zhuǎn)服務(wù)器303建立第一中轉(zhuǎn)連接;與第二客戶端302通過(guò)中轉(zhuǎn)服務(wù)器 303轉(zhuǎn)發(fā)傳輸視頻數(shù)據(jù);與P2P服務(wù)器304建立第一P2P連接;中斷與第二客 戶端302通過(guò)中轉(zhuǎn)服務(wù)器303轉(zhuǎn)發(fā)傳輸視頻數(shù)據(jù);與第二客戶端302使用P2P 模式直接傳輸^見(jiàn)頻數(shù)據(jù);
第二客戶端302,用于向中轉(zhuǎn)服務(wù)器303和P2P服務(wù)器304發(fā)送第二連接請(qǐng) 求;與中轉(zhuǎn)服務(wù)器303建立第二中轉(zhuǎn)連接;與第一客戶端301通過(guò)中轉(zhuǎn)服務(wù)器 303轉(zhuǎn)發(fā)傳輸視頻數(shù)據(jù);與P2P服務(wù)器304建立第二P2P連接;中斷與第一客 戶端301通過(guò)中轉(zhuǎn)服務(wù)器303轉(zhuǎn)發(fā)傳輸視頻數(shù)據(jù);與第一客戶端301使用P2P 模式直接傳輸視頻數(shù)據(jù);
中轉(zhuǎn)服務(wù)器303,用于分別接收第一客戶端301和第二客戶端302發(fā)送的第 一連接請(qǐng)求和第二連接請(qǐng)求;分別與第一客戶端301和第二客戶端302建立第 一中轉(zhuǎn)連接和第二中轉(zhuǎn)連接;為第一客戶端301和第二客戶端302轉(zhuǎn)發(fā)傳輸視 頻數(shù)據(jù);
P2P服務(wù)器304,用于分別接收第一客戶端301和第二客戶端302發(fā)送的第 一連接請(qǐng)求和第二連接請(qǐng)求;分別與第一客戶端301和第二客戶端302建立第 一P2P連接和第二P2P連接;當(dāng)?shù)谝豢蛻舳?01與第二客戶端302中斷通過(guò)中 轉(zhuǎn)服務(wù)器303轉(zhuǎn)發(fā)傳輸視頻數(shù)據(jù)時(shí),為第一客戶端301和第二客戶端302提供 P2P模式直接傳輸視頻數(shù)據(jù)。
其中,第一客戶端和第二客戶端具體可以為游戲客戶端、網(wǎng)頁(yè)客戶端、移
動(dòng)終端客戶端等,本發(fā)明實(shí)施例對(duì)此不作限制。
其中,第一客戶端301還用于,與P2P服務(wù)器304建立第一P2P連接成功 且第二客戶端302與P2P服務(wù)器304建立第二 P2P連接成功后,與第二客戶端 302使用P2P模式傳輸?shù)谝粠瑪?shù)據(jù)后,與第二客戶端302中斷通過(guò)中轉(zhuǎn)服務(wù)器 303轉(zhuǎn)發(fā)傳輸視頻數(shù)據(jù);
相應(yīng)地,第二客戶端302還用于,與P2P服務(wù)器304建立第二P2P連接成 功且第一客戶端301與P2P服務(wù)器304建立第一P2P連接成功后,與第一客戶 端301使用P2P模式傳輸?shù)谝粠瑪?shù)據(jù)后,與第一客戶端301中斷通過(guò)中轉(zhuǎn)服務(wù) 器303轉(zhuǎn)發(fā)傳輸視頻數(shù)據(jù)。其中,中轉(zhuǎn)服務(wù)器303還用于,如果第一客戶端301與第二客戶端302在 使用P2P模式傳輸視頻數(shù)據(jù)過(guò)程中,第一客戶端301與第二客戶端302連接中 斷,或者,第一客戶端301與第二客戶端302所傳輸?shù)囊曨l數(shù)據(jù)丟包率大于預(yù) 定系數(shù),或者,第一客戶端301與第二客戶端302所傳輸?shù)囊曨l數(shù)據(jù)緩沖時(shí)間 大于預(yù)定時(shí)間,則在第一客戶端301判斷與中轉(zhuǎn)服務(wù)器303之間保持鏈路且第 二客戶端302判斷與中轉(zhuǎn)服務(wù)器303之間保持鏈路時(shí),為第一客戶端301和第 二客戶端302繼續(xù)轉(zhuǎn)發(fā)傳輸視頻數(shù)據(jù);
其中,丟包率的預(yù)定系數(shù)和緩沖時(shí)間的預(yù)定時(shí)間可以根據(jù)實(shí)際情況靈活選 擇,例如丟包率的預(yù)定系數(shù)可以設(shè)置為10%,緩沖時(shí)間的預(yù)定時(shí)間可以設(shè)置為 10秒,本發(fā)明實(shí)施例對(duì)此不作限制。
在第一客戶端301與中轉(zhuǎn)服務(wù)器303之間斷開(kāi)鏈路時(shí),接收第一客戶端301 發(fā)送的第一連接請(qǐng)求;在與第一客戶端301建立第一中轉(zhuǎn)連接成功后,為第一 客戶端301和第二客戶端302繼續(xù)轉(zhuǎn)發(fā)傳輸視頻數(shù)據(jù);
在第二客戶端302與中轉(zhuǎn)服務(wù)器303之間斷開(kāi)鏈路時(shí),接收第二客戶端302 發(fā)送的第二連接請(qǐng)求;在與第二客戶端302建立第二中轉(zhuǎn)連接成功后,為第一 客戶端301和第二客戶端302繼續(xù)轉(zhuǎn)發(fā)傳輸視頻翁:據(jù);
在第一客戶端301與第二客戶端302都與中轉(zhuǎn)服務(wù)器303之間斷開(kāi)鏈路時(shí), 分別接收第一客戶端301發(fā)送的第一連接請(qǐng)求,第二客戶端302發(fā)送的第二連 接請(qǐng)求;在與第一客戶端301建立第一中轉(zhuǎn)連接成功且與第二客戶端302建立 第二中轉(zhuǎn)連接成功后,為第一客戶端301和第二客戶端302繼續(xù)轉(zhuǎn)發(fā)傳輸^L頻 數(shù)據(jù)。
其中,P2P服務(wù)器304,還用于如果第一客戶端301與中轉(zhuǎn)服務(wù)器303建立 第一中轉(zhuǎn)連接成功且第二客戶端302與中轉(zhuǎn)服務(wù)器303建立第二中轉(zhuǎn)連接成功 之前,第一客戶端301已經(jīng)與P2P服務(wù)器304建立第一P2P連接成功且第二客 戶端302已經(jīng)與P2P服務(wù)器304建立第二P2P連接成功,則直接為第一客戶端 301和第二客戶端302提供P2P模式傳輸視頻數(shù)據(jù),中斷第一客戶端301與第二 客戶端302與中轉(zhuǎn)服務(wù)器303的連接。
其中,中轉(zhuǎn)服務(wù)器303,還用于分別根據(jù)第一連接請(qǐng)求中第一用戶的身份認(rèn) 證信息和第二連接請(qǐng)求中第二用戶的身份認(rèn)證信息,分別對(duì)第一用戶和第二用 戶進(jìn)行認(rèn)證;對(duì)第一用戶和第二用戶認(rèn)證成功后,分別與第一客戶端301建立第一中轉(zhuǎn)連接、與第二客戶端302建立第二中轉(zhuǎn)連接。
其中,P2P服務(wù)器304,還用于分別根據(jù)第一連接請(qǐng)求中第一用戶的身份認(rèn) 證信息和第二連接請(qǐng)求中第二用戶的身份認(rèn)證信息,分別對(duì)第 一用戶和第二用 戶進(jìn)行認(rèn)證;對(duì)第一用戶和第二用戶認(rèn)證成功后,分別與第一客戶端301建立 第一P2P連接、與第二客戶端302建立第二P2P連接。
本發(fā)明實(shí)施例提供的系統(tǒng),在視頻數(shù)據(jù)的傳輸開(kāi)始階段,采用中轉(zhuǎn)服務(wù)器 傳輸視頻數(shù)據(jù),在P2P連接成功后,采用P2P模式直接傳輸視頻數(shù)據(jù),解決了 客戶端利用P2P模式登陸慢、連接速度慢甚至連接不上的問(wèn)題,使得用戶能夠 快速的傳輸視頻,提高了用戶的使用體驗(yàn),節(jié)約了網(wǎng)絡(luò)的帶寬,在P2P發(fā)生錯(cuò) 誤無(wú)法使用時(shí),又及時(shí)切換到中轉(zhuǎn)服務(wù)器上,通過(guò)中轉(zhuǎn)服務(wù)器傳輸視頻數(shù)據(jù), 使得用戶可以繼續(xù)傳輸視頻數(shù)據(jù),保證用戶傳輸視頻數(shù)據(jù)的連貫性。
實(shí)施例4
本發(fā)明實(shí)施例還提供了 一種傳輸視頻數(shù)據(jù)的裝置,裝置在第一客戶端中, 參見(jiàn)圖4,該裝置包括
發(fā)送模塊301,用于第一客戶端分別向中轉(zhuǎn)服務(wù)器和點(diǎn)對(duì)點(diǎn)P2P服務(wù)器發(fā)送 第一連接請(qǐng)求;
其中,第一客戶端和其他客戶端具體可以為游戲客戶端、網(wǎng)頁(yè)客戶端、移 動(dòng)終端客戶端等,本發(fā)明實(shí)施例對(duì)此不作限制。
中轉(zhuǎn)傳輸模塊302,用于第一客戶端通過(guò)發(fā)送模塊301向中轉(zhuǎn)服務(wù)器發(fā)送第 一連接請(qǐng)求后,與中轉(zhuǎn)服務(wù)器建立第一中轉(zhuǎn)連接;在第一中轉(zhuǎn)連接建立成功后, 第一客戶端與其他客戶端通過(guò)中轉(zhuǎn)服務(wù)器轉(zhuǎn)發(fā)傳輸;現(xiàn)頻數(shù)據(jù);
中轉(zhuǎn)中斷模塊303,用于第一客戶端通過(guò)中轉(zhuǎn)傳輸模塊302與其他客戶端通 過(guò)中轉(zhuǎn)服務(wù)器轉(zhuǎn)發(fā)傳輸視頻數(shù)據(jù)后,根據(jù)發(fā)送模塊301向P2P服務(wù)器發(fā)送第一 連接請(qǐng)求,與P2P服務(wù)器建立第一P2P連接;在第一P2P連接建立成功后,第 一客戶端中斷與中轉(zhuǎn)月良務(wù)器的連接;
P2P傳輸模塊304,用于第 一客戶端與P2P服務(wù)器建立第一 P2P連接成功后, 第 一客戶端與其他客戶端使用P2P模式直接傳輸視頻數(shù)據(jù)。
進(jìn)一步地,中轉(zhuǎn)中斷模塊303還包括中轉(zhuǎn)中斷單元,用于第一客戶端與 P2P服務(wù)器建立第一 P2P連接成功后,與其他客戶端使用P2P模式傳輸?shù)谝粠瑪?shù)據(jù)后,與其他客戶端中斷通過(guò)中轉(zhuǎn)服務(wù)器轉(zhuǎn)發(fā)傳輸視頻數(shù)據(jù)。
其中,裝置還包括中轉(zhuǎn)持續(xù)模塊,用于如果第一客戶端與其他客戶端在 使用P2P模式傳輸視頻數(shù)據(jù)過(guò)程中,第一客戶端與其他客戶端連接中斷,或者, 第一客戶端與其他客戶端所傳輸?shù)囊曨l數(shù)據(jù)丟包率大于預(yù)定系數(shù),或者,第一 客戶端與其他客戶端所傳輸?shù)囊曨l數(shù)據(jù)緩沖時(shí)間大于預(yù)定時(shí)間,判斷第一客戶 端是否與中轉(zhuǎn)服務(wù)器之間保持鏈路,如果是,則通過(guò)中轉(zhuǎn)服務(wù)器為第一客戶端 和其他客戶端繼續(xù)轉(zhuǎn)發(fā)傳輸視頻數(shù)據(jù);
其中,丟包率的預(yù)定系數(shù)和緩沖時(shí)間的預(yù)定時(shí)間可以根據(jù)實(shí)際情況靈活選 擇,例如丟包率的預(yù)定系數(shù)可以設(shè)置為10%,緩沖時(shí)間的預(yù)定時(shí)間可以設(shè)置為 10秒,本發(fā)明實(shí)施例對(duì)此不作限制。
否則,第一客戶端向中轉(zhuǎn)服務(wù)器發(fā)送第一連接請(qǐng)求;在與中轉(zhuǎn)服務(wù)器建立 第一中轉(zhuǎn)連接成功后,通過(guò)中轉(zhuǎn)服務(wù)器為第 一客戶端和其他客戶端繼續(xù)轉(zhuǎn)發(fā)傳 輸視頻數(shù)據(jù)。
本發(fā)明實(shí)施例提供的裝置,在視頻數(shù)據(jù)的傳輸開(kāi)始階段,采用中轉(zhuǎn)服務(wù)器 傳輸視頻數(shù)據(jù),在P2P連接成功后,采用P2P模式直接傳輸視頻數(shù)據(jù),解決了 客戶端利用P2P模式登陸慢、連接速度慢甚至連接不上的問(wèn)題,使得用戶能夠 快速的傳輸視頻,提高了用戶的使用體驗(yàn),節(jié)約了網(wǎng)絡(luò)的帶寬,在P2P發(fā)生錯(cuò) 誤無(wú)法使用時(shí),又及時(shí)切換到中轉(zhuǎn)服務(wù)器上,通過(guò)中轉(zhuǎn)服務(wù)器傳輸視頻數(shù)據(jù), 使得用戶可以繼續(xù)傳輸視頻數(shù)據(jù),保證用戶傳輸視頻數(shù)據(jù)的連貫性。
本發(fā)明實(shí)施例中的"接收"一詞可以理解為主動(dòng)從其他才莫塊獲取也可以是4妾 收其他模塊發(fā)送來(lái)的信息。
本領(lǐng)域技術(shù)人員可以理解附圖只是一個(gè)優(yōu)選實(shí)施例的示意圖,附圖中的模 塊或流程并不 一定是實(shí)施本發(fā)明所必須的。
本領(lǐng)域技術(shù)人員可以理解實(shí)施例中的裝置中的模塊可以按照實(shí)施例描述分 布于實(shí)施例的裝置中,也可以進(jìn)行相應(yīng)變化位于不同于本實(shí)施例的 一個(gè)或多個(gè) 裝置中。上述實(shí)施例的模塊可以合并為一個(gè)模塊,也可以進(jìn)一步拆分成多個(gè)子 模塊。
上述本發(fā)明實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。 本發(fā)明實(shí)施例中的部分步驟,可以利用軟件實(shí)現(xiàn),相應(yīng)的軟件程序可以存儲(chǔ)在可讀取的存儲(chǔ)介質(zhì)中,如光盤(pán)或硬盤(pán)等。
以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的 精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的 保護(hù)范圍之內(nèi)。
權(quán)利要求
1、一種傳輸視頻數(shù)據(jù)的方法,其特征在于,所述方法包括第一客戶端分別向中轉(zhuǎn)服務(wù)器和點(diǎn)對(duì)點(diǎn)P2P服務(wù)器發(fā)送第一連接請(qǐng)求,第二客戶端分別向中轉(zhuǎn)服務(wù)器和P2P服務(wù)器發(fā)送第二連接請(qǐng)求;所述第一客戶端與所述中轉(zhuǎn)服務(wù)器建立第一中轉(zhuǎn)連接成功且所述第二客戶端與所述中轉(zhuǎn)服務(wù)器建立第二中轉(zhuǎn)連接成功后,所述第一客戶端與所述第二客戶端通過(guò)所述中轉(zhuǎn)服務(wù)器轉(zhuǎn)發(fā)傳輸視頻數(shù)據(jù);所述第一客戶端與所述P2P服務(wù)器建立第一P2P連接成功且所述第二客戶端與所述P2P服務(wù)器建立第二P2P連接成功后,所述第一客戶端與所述第二客戶端中斷通過(guò)所述中轉(zhuǎn)服務(wù)器轉(zhuǎn)發(fā)傳輸視頻數(shù)據(jù);所述第一客戶端與所述第二客戶端使用P2P模式直接傳輸視頻數(shù)據(jù)。
2、 如權(quán)利要求l所述的方法,其特征在于,所述第一客戶端與所述P2P服 務(wù)器建立第一 P2P連接成功且所述第二客戶端與所述P2P服務(wù)器建立第二 P2P 連接成功后,所述第一客戶端與所述第二客戶端中斷通過(guò)所述中轉(zhuǎn)服務(wù)器轉(zhuǎn)發(fā) 傳輸視頻數(shù)據(jù),具體包括所述第一客戶端與所述P2P服務(wù)器建立第一 P2P連接成功且所述第二客戶 端與所述P2P服務(wù)器建立第二 P2P連接成功后,所述第一客戶端與所述第二客 戶端使用P2P模式傳輸?shù)谝粠瑪?shù)據(jù)后,所述第一客戶端與所述第二客戶端中斷 通過(guò)所述中轉(zhuǎn)服務(wù)器轉(zhuǎn)發(fā)傳輸視頻數(shù)據(jù)。
3、 如權(quán)利要求l所述的方法,其特征在于,所述第一客戶端與所述第二客 戶端使用所述P2P模式直接傳輸視頻數(shù)據(jù)之后,還包括如果所述第一客戶端與所述第二客戶端在使用P2P模式傳輸視頻數(shù)據(jù)過(guò)程 中,所述第一客戶端與所述第二客戶端連接中斷,或者,所述第一客戶端與所 述第二客戶端所傳輸?shù)囊曨l數(shù)據(jù)丟包率大于預(yù)定系數(shù),或者,所述第一客戶端與所述第二客戶端所傳輸?shù)囊曨l數(shù)據(jù)緩沖時(shí)間大于預(yù)定時(shí)間,則所述第一客戶 端與所述第二客戶端分別判斷是否與所述中轉(zhuǎn)服務(wù)器之間保持鏈路;如果所述第 一客戶端與所述中轉(zhuǎn)服務(wù)器之間保持鏈路且所述第二客戶端與所述中轉(zhuǎn)服務(wù)器之間保持鏈路,則通過(guò)所述中轉(zhuǎn)服務(wù)器繼續(xù)傳輸視頻數(shù)據(jù);如果所述第 一客戶端與所述中轉(zhuǎn)服務(wù)器之間斷開(kāi)鏈路,則所述第 一客戶端向所述中轉(zhuǎn)服務(wù)器發(fā)送第 一連接請(qǐng)求;在所述第 一客戶端與所述中轉(zhuǎn)服務(wù)器建 立第一中轉(zhuǎn)連接成功后,所述第一客戶端與所述第二客戶端通過(guò)所述中轉(zhuǎn)服務(wù) 器轉(zhuǎn)發(fā)傳輸視頻數(shù)據(jù);如果所述第二客戶端與所述中轉(zhuǎn)服務(wù)器之間斷開(kāi)鏈路,則所述第二客戶端 向所述中轉(zhuǎn)服務(wù)器發(fā)送第二連接請(qǐng)求;在所迷第二客戶端與所述中轉(zhuǎn)服務(wù)器建 立第二中轉(zhuǎn)連接成功后,所述第二客戶端與所述第一客戶端通過(guò)所述中轉(zhuǎn)服務(wù)器轉(zhuǎn)發(fā)傳輸視頻數(shù)據(jù);如果所述第一客戶端與所述第二客戶端都與所述中轉(zhuǎn)服務(wù)器之間斷開(kāi)鏈 路,則所述第一客戶端向所述中轉(zhuǎn)服務(wù)器發(fā)送第一連接請(qǐng)求,所述第二客戶端 向所述中轉(zhuǎn)服務(wù)器發(fā)送第二連接請(qǐng)求;在所述第 一客戶端與所述中轉(zhuǎn)服務(wù)器建立第 一 中轉(zhuǎn)連接成功且所述第二客 戶端與所述中轉(zhuǎn)服務(wù)器建立笫二中轉(zhuǎn)連接成功后,所述第一客戶端與所述第二 客戶端通過(guò)所述中轉(zhuǎn)服務(wù)器轉(zhuǎn)發(fā)傳輸視頻數(shù)據(jù)。
4、 如權(quán)利要求l所述的方法,其特征在于,所述方法還包括 如果所述第一客戶端與所述中轉(zhuǎn)服務(wù)器建立第一中轉(zhuǎn)連接成功且所述第二客戶端與所述中轉(zhuǎn)服務(wù)器建立第二中轉(zhuǎn)連接成功之前,所述第一客戶端已經(jīng)與所述P2P服務(wù)器建立第一 P2P連接成功且所述第二客戶端已經(jīng)與所述P2P服務(wù) 器建立第二 P2P連接成功,則所述第一客戶端與所述第二客戶端直接使用P2P 模式進(jìn)行視頻數(shù)據(jù)的傳輸,中斷所述第一客戶端與所述第二客戶端與所述中轉(zhuǎn) 服務(wù)器的連接。
5、 如權(quán)利要求l所述的方法,其特征在于,所述第一客戶端與所述中轉(zhuǎn)服 務(wù)器建立第一中轉(zhuǎn)連接成功且所述第二客戶端與所述中轉(zhuǎn)服務(wù)器建立第二中轉(zhuǎn) 連接成功之前,包括所述中轉(zhuǎn)服務(wù)器接收所述第 一客戶端發(fā)送的第 一連接請(qǐng)求和所述第二客戶 端發(fā)送的第二連接請(qǐng)求;所述中轉(zhuǎn)服務(wù)器分別根據(jù)所述第一連接請(qǐng)求中第一用戶的身份認(rèn)證信息和所述第二連接請(qǐng)求中第二用戶的身份認(rèn)證信息,分別對(duì)所述第 一用戶和所述第二用戶進(jìn)4iS人i正;所述中轉(zhuǎn)服務(wù)器對(duì)所述第一用戶和所述第二用戶認(rèn)證成功后,分別與所述 第一客戶端建立第一中轉(zhuǎn)連接、與所述第二客戶端建立第二中轉(zhuǎn)連接,并分別 向所述第 一客戶端和所述第二客戶端發(fā)送第 一 中轉(zhuǎn)連接成功響應(yīng)和第二中轉(zhuǎn)連 才妾成功響應(yīng)。
6、 如權(quán)利要求l所述的方法,其特征在于,所述第一客戶端與所述P2P服 務(wù)器建立第一 P2P連接成功且所述第二客戶端與所述P2P服務(wù)器建立第二 P2P 連4妄成功之前,包4舌所述P2P服務(wù)器接收所述第一客戶端發(fā)送的第一連接請(qǐng)求和所述第二客戶 端發(fā)送的第二連接請(qǐng)求;所述P2P服務(wù)器分別根據(jù)所述第一連接請(qǐng)求中第一用戶的身份認(rèn)證信息和 所述第二連接請(qǐng)求中第二用戶的身份認(rèn)證信息,分別對(duì)所述第 一用戶和所述第 二用戶進(jìn)4亍認(rèn)-i正;所述P2P服務(wù)器對(duì)所述第 一用戶和所述第二用戶iU正成功后,分別與所述 第一客戶端建立第一P2P連接、與所述第二客戶端建立第二P2P連接,并分別 向所述第一客戶端和所述第二客戶端發(fā)送第一 P2P連4妻成功響應(yīng)和第二 P2P連 才妄成功響應(yīng)。
7、 一種傳輸視頻數(shù)據(jù)的系統(tǒng),其特征在于,所述系統(tǒng)包括第一客戶端、 第二客戶端、中轉(zhuǎn)服務(wù)器和點(diǎn)對(duì)點(diǎn)P2P服務(wù)器,其中,所述第一客戶端,用于向所述中轉(zhuǎn)服務(wù)器和所述P2P服務(wù)器發(fā)送第一連接 請(qǐng)求;與所述中轉(zhuǎn)服務(wù)器建立第一中轉(zhuǎn)連接;與所述第二客戶端通過(guò)所述中轉(zhuǎn) 服務(wù)器轉(zhuǎn)發(fā)傳輸視頻數(shù)據(jù);與所述P2P服務(wù)器建立第一P2P連接;中斷與所述 第二客戶端通過(guò)所述中轉(zhuǎn)服務(wù)器轉(zhuǎn)發(fā)傳輸視頻數(shù)據(jù);與所述第二客戶端使用P2P模式直接傳輸視頻數(shù)據(jù);所述第二客戶端,用于向所述中轉(zhuǎn)服務(wù)器和所述P2P服務(wù)器發(fā)送第二連接 請(qǐng)求;與所述中轉(zhuǎn)服務(wù)器建立第二中轉(zhuǎn)連接;與所述第一客戶端通過(guò)所述中轉(zhuǎn) 服務(wù)器轉(zhuǎn)發(fā)傳輸視頻數(shù)據(jù);與所述P2P服務(wù)器建立第二P2P連接;中斷與所述第一客戶端通過(guò)所述中轉(zhuǎn)服務(wù)器轉(zhuǎn)發(fā)傳輸視頻數(shù)據(jù);與所述第一客戶端使用所 述P2P模式直接傳輸視頻數(shù)據(jù);所述中轉(zhuǎn)服務(wù)器,用于分別接收所述第一客戶端和所述第二客戶端發(fā)送的 第一連接請(qǐng)求和第二連接請(qǐng)求;分別與所述第 一客戶端和所述第二客戶端建立 第一中轉(zhuǎn)連接和第二中轉(zhuǎn)連接;為所述第一客戶端和所述第二客戶端轉(zhuǎn)發(fā)傳輸 視頻數(shù)據(jù);所述P2P服務(wù)器,用于分別接收所述第一客戶端和所述第二客戶端發(fā)送的 第一連接請(qǐng)求和第二連接請(qǐng)求;分別與所述第一客戶端和所述第二客戶端建立 第一 P2P連接和第二 P2P連接;當(dāng)所述第 一客戶端與所述第二客戶端中斷通過(guò) 所述中轉(zhuǎn)服務(wù)器轉(zhuǎn)發(fā)傳輸視頻數(shù)據(jù)時(shí),為所述第一客戶端和所述第二客戶端提 供P2P模式直接傳輸視頻數(shù)據(jù)。
8、 如權(quán)利要求7所述的系統(tǒng),其特征在于,所述第一客戶端還用于,與所 述P2P服務(wù)器建立第一 P2P連接成功且所述第二客戶端與所述P2P服務(wù)器建立 第二P2P連接成功后,與所述第二客戶端使用P2P模式傳輸?shù)谝粠瑪?shù)據(jù)后,與 所述第二客戶端中斷通過(guò)所述中轉(zhuǎn)服務(wù)器轉(zhuǎn)發(fā)傳輸-現(xiàn)頻凄t據(jù);相應(yīng)地,所述第二客戶端還用于,與所述P2P服務(wù)器建立第二P2P連接成 功且所述第一客戶端與所述P2P服務(wù)器建立第一 P2P連4妄成功后,與所述第一 客戶端使用P2P模式傳輸?shù)谝粠瑪?shù)據(jù)后,與所述第一客戶端中斷通過(guò)所述中轉(zhuǎn) 服務(wù)器轉(zhuǎn)發(fā)傳輸視頻數(shù)據(jù)。
9、 如權(quán)利要求7所述的系統(tǒng),其特征在于,所述中轉(zhuǎn)服務(wù)器還用于,如果 所述第一客戶端與所述第二客戶端在使用P2P模式傳輸3見(jiàn)頻數(shù)據(jù)過(guò)程中,所述 第一客戶端與所述第二客戶端連接中斷,或者,所述第一客戶端與所述第二客 戶端所傳輸?shù)囊曨l數(shù)據(jù)丟包率大于預(yù)定系數(shù),或者,所述第一客戶端與所述第 二客戶端所傳輸?shù)囊曨l數(shù)據(jù)緩沖時(shí)間大于預(yù)定時(shí)間,則在所述第一客戶端判斷 與所述中轉(zhuǎn)服務(wù)器之間保持鏈路且所述第二客戶端判斷與所述中轉(zhuǎn)服務(wù)器之間 保持鏈路時(shí),為所述第一客戶端和所述第二客戶端繼續(xù)轉(zhuǎn)發(fā)傳輸視頻數(shù)據(jù);在所述第一客戶端與所述中轉(zhuǎn)服務(wù)器之間斷開(kāi)鏈路時(shí),接收所述第一客戶 端發(fā)送的第一連接請(qǐng)求;在與所述第一客戶端建立第一中轉(zhuǎn)連接成功后,為所述第一客戶端和所述第二客戶端繼續(xù)轉(zhuǎn)發(fā)傳輸浮見(jiàn)頻數(shù)據(jù);在所述第二客戶端與所述中轉(zhuǎn)服務(wù)器之間斷開(kāi)鏈路時(shí),接收所述第二客戶 端發(fā)送的第二連接請(qǐng)求;在與所述第二客戶端建立第二中轉(zhuǎn)連接成功后,為所 述第一客戶端和所述第二客戶端繼續(xù)轉(zhuǎn)發(fā)傳輸一見(jiàn)頻數(shù)據(jù);在所述第 一客戶端與所述第二客戶端都與所述中轉(zhuǎn)服務(wù)器之間斷開(kāi)鏈路 時(shí),分別接收所述第一客戶端發(fā)送的第一連接請(qǐng)求,所述第二客戶端發(fā)送的第 二連接請(qǐng)求;在與所述第一客戶端建立第一中轉(zhuǎn)連接成功且與所述第二客戶端 建立第二中轉(zhuǎn)連接成功后,為所述第一客戶端和所述第二客戶端繼續(xù)轉(zhuǎn)發(fā)傳輸 視頻數(shù)據(jù)。
10、 如權(quán)利要求7所述的系統(tǒng),其特征在于,所述P2P服務(wù)器,還用于如 果所述第 一客戶端與所述中轉(zhuǎn)服務(wù)器建立第 一中轉(zhuǎn)連接成功且所述第二客戶端 與所述中轉(zhuǎn)服務(wù)器建立第二中轉(zhuǎn)連接成功之前,所述第 一客戶端已經(jīng)與所述P2P 服務(wù)器建立第一 P2P連接成功且所述第二客戶端已經(jīng)與所述P2P服務(wù)器建立第 二 P2P連接成功,則直接為所述第一客戶端和所述第二客戶端提供P2P模式傳 輸視頻數(shù)據(jù),中斷所述第 一客戶端與所述第二客戶端與所述中轉(zhuǎn)服務(wù)器的連接。
11、 如權(quán)利要求7所述的系統(tǒng),其特征在于,所述中轉(zhuǎn)服務(wù)器,還用于分 別根據(jù)所述第一連接請(qǐng)求中第一用戶的身份認(rèn)證信息和所述第二連接請(qǐng)求中第 二用戶的身份認(rèn)證信息,分別對(duì)所述第一用戶和所述第二用戶進(jìn)行認(rèn)證;對(duì)所 述第 一用戶和所述第二用戶認(rèn)證成功后,分別與所述第 一客戶端建立第一中轉(zhuǎn) 連接、與所述第二客戶端建立第二中轉(zhuǎn)連接。
12、 如權(quán)利要求7所述的系統(tǒng),其特征在于,所述P2P服務(wù)器,還用于分 別根據(jù)所述第 一連接請(qǐng)求中第 一用戶的身份認(rèn)證信息和所述第二連接請(qǐng)求中第 二用戶的身份認(rèn)證信息,分別對(duì)所述第一用戶和所述第二用戶進(jìn)行認(rèn)證;對(duì)所 述第一用戶和所述第二用戶認(rèn)證成功后,分別與所述第一客戶端建立第一 P2P 連接、與所述第二客戶端建立第二P2P連接。
13、 一種傳輸視頻數(shù)據(jù)的裝置,其特征在于,所述裝置在所述第一客戶端中,所述裝置包括發(fā)送模塊,用于第一客戶端分別向中轉(zhuǎn)服務(wù)器和點(diǎn)對(duì)點(diǎn)P2P服務(wù)器發(fā)送第 一連接請(qǐng)求;中轉(zhuǎn)傳輸模塊,用于所述第一客戶端通過(guò)所述發(fā)送^^莫塊向所述中轉(zhuǎn)服務(wù)器 發(fā)送第一連接請(qǐng)求后,與所述中轉(zhuǎn)服務(wù)器建立第一中轉(zhuǎn)連接;在所述第一中轉(zhuǎn) 連接建立成功后,所述第一客戶端與其他客戶端通過(guò)所述中轉(zhuǎn)服務(wù)器轉(zhuǎn)發(fā)傳輸 視頻數(shù)據(jù);中轉(zhuǎn)中斷模塊,用于所述第一客戶端通過(guò)所述中轉(zhuǎn)傳輸模塊與其他客戶端 通過(guò)所述中轉(zhuǎn)服務(wù)器轉(zhuǎn)發(fā)傳輸視頻數(shù)據(jù)后,根據(jù)所述發(fā)送模塊向所述P2P服務(wù) 器發(fā)送第一連接請(qǐng)求,與所述P2P服務(wù)器建立第一P2P連接;在所述第一P2P 連接建立成功后,所述第一客戶端中斷與所述中轉(zhuǎn)服務(wù)器的連接;P2P傳輸模塊,用于所述第一客戶端與所述P2P服務(wù)器建立第一 P2P連接 成功后,所述第一客戶端與其他客戶端使用P2P模式直接傳輸視頻數(shù)據(jù)。
14、 如權(quán)利要求13所述的裝置,其特征在于,所述中轉(zhuǎn)中斷模塊還包括 中轉(zhuǎn)中斷單元,用于所述第一客戶端與所述P2P服務(wù)器建立第一 P2P連接成功 后,與其他客戶端使用P2P模式傳輸?shù)谝粠瑪?shù)據(jù)后,與所述其他客戶端中斷通 過(guò)所述中轉(zhuǎn)服務(wù)器轉(zhuǎn)發(fā)傳輸視頻數(shù)據(jù)。
15、 如權(quán)利要求13所述的裝置,其特征在于,所述裝置還包括中轉(zhuǎn)持續(xù) 模塊,用于如果所述第一客戶端與其他客戶端在使用P2P模式傳輸視頻數(shù)據(jù)過(guò) 程中,所述第一客戶端與所述其他客戶端連接中斷,或者,所述第一客戶端與 所述其他客戶端所傳輸?shù)囊曨l數(shù)據(jù)丟包率大于預(yù)定系數(shù),或者,所述第一客戶客戶端是否與所述中轉(zhuǎn)服務(wù)器之間保持鏈路,如果是,則通過(guò)所述中轉(zhuǎn)服務(wù)器 為所述第一客戶端和所述其他客戶端繼續(xù)轉(zhuǎn)發(fā)傳輸視頻數(shù)據(jù);否則,所述第一客戶端向所述中轉(zhuǎn)服務(wù)器發(fā)送第一連接請(qǐng)求;在與所述中 轉(zhuǎn)服務(wù)器建立第一中轉(zhuǎn)連接成功后,通過(guò)所述中轉(zhuǎn)服務(wù)器為所述第一客戶端和 所述其他客戶端繼續(xù)轉(zhuǎn)發(fā)傳輸視頻數(shù)據(jù)。
全文摘要
本發(fā)明公開(kāi)了一種傳輸視頻數(shù)據(jù)的方法、系統(tǒng)和裝置,屬于網(wǎng)絡(luò)通信領(lǐng)域。方法包括第一客戶端和第二客戶端分別向中轉(zhuǎn)服務(wù)器和P2P服務(wù)器發(fā)送第一連接請(qǐng)求和第二連接請(qǐng)求;第一客戶端與中轉(zhuǎn)服務(wù)器建立第一中轉(zhuǎn)連接成功且第二客戶端與中轉(zhuǎn)服務(wù)器建立第二中轉(zhuǎn)連接成功,通過(guò)中轉(zhuǎn)服務(wù)器轉(zhuǎn)發(fā)傳輸視頻數(shù)據(jù);第一客戶端與P2P服務(wù)器發(fā)送的第一P2P連接成功且第二客戶端與P2P服務(wù)器建立第二P2P連接成功,中斷通過(guò)中轉(zhuǎn)服務(wù)器轉(zhuǎn)發(fā)傳輸視頻數(shù)據(jù);第一客戶端與第二客戶端使用P2P模式直接傳輸視頻數(shù)據(jù)。本發(fā)明實(shí)施例提供的方案,解決了客戶端利用P2P模式登陸慢、連接慢甚至連接不上的問(wèn)題,提高了用戶使用體驗(yàn),節(jié)約了網(wǎng)絡(luò)帶寬。
文檔編號(hào)H04L12/18GK101594242SQ20091015059
公開(kāi)日2009年12月2日 申請(qǐng)日期2009年6月23日 優(yōu)先權(quán)日2009年6月23日
發(fā)明者黨建國(guó), 民 楊, 董炳軍 申請(qǐng)人:騰訊科技(深圳)有限公司