專利名稱:P2p協(xié)議下實(shí)現(xiàn)多媒體即時(shí)播放的方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種多媒體文件的播放技術(shù),特別是通過網(wǎng)絡(luò)傳輸?shù)亩嗝襟w文件的播 放技術(shù)。
背景技術(shù):
基于P2P (Peer to Peer)協(xié)議的技術(shù)解決了客戶端-服務(wù)器模式下載文件存在的很 容易因耗盡服務(wù)器硬件資源而降低下載效率的問題,使得大文件在網(wǎng)絡(luò)上的傳輸變得 更為便利。這也直接促進(jìn)了多媒體文件在網(wǎng)絡(luò)上的傳輸。基于P2P技術(shù)的多媒體文件 下載需要將該文件下載到本地存儲(chǔ)設(shè)備中,這一過程根據(jù)文件的大小需要消耗一定的 時(shí)間。使用者在下載到完整的多媒體文件后,可以利用多媒體播放器播放該文件。
現(xiàn)有的基于P2P協(xié)議的下載多媒體文件的方式存在以下問題使用者由于某種原 因?qū)ο螺d得到的多媒體文件不滿意的話,需要重新下載包含有需要內(nèi)容的多媒體文件, 而下載第一個(gè)多媒體文件已經(jīng)耗費(fèi)了一定的時(shí)間和網(wǎng)絡(luò)資源,并且重新下載的多媒體 文件也可能令人不滿意,這就意味著需要再次耗費(fèi)時(shí)間與網(wǎng)絡(luò)資源,造成較大的浪費(fèi)。
發(fā)明內(nèi)容
為了解決現(xiàn)有基于P2P協(xié)議的下載多媒體文件方式存在的浪費(fèi)時(shí)間與資源的問 題,本發(fā)明提供了一種P2P協(xié)議下實(shí)現(xiàn)多媒體即時(shí)播放的方法及實(shí)現(xiàn)該方法的裝置。 即時(shí)播放剛剛下載到的部分多媒體文件可以判斷該文件是否令人滿意,不必在耗費(fèi)了 大量時(shí)間與網(wǎng)絡(luò)資源后才可以做判斷,從而避免了浪費(fèi)的問題。
本發(fā)明的技術(shù)方案如下
P2P協(xié)議下實(shí)現(xiàn)多媒體即時(shí)播放的方法包括如下步驟
A、 啟動(dòng)多媒體播放器播放得到的多媒體文件分塊單位;
B、 根據(jù)多媒體播放進(jìn)度將還未得到的多媒體文件分塊單位按需求緊迫程度分類;
C、 根據(jù)從網(wǎng)絡(luò)節(jié)點(diǎn)得到多媒體文件分塊單位的速度將網(wǎng)絡(luò)節(jié)點(diǎn)分類;
D、 向步驟C得到的特定的網(wǎng)絡(luò)節(jié)點(diǎn)類別請(qǐng)求獲得步驟B得到的匹配類別的多媒 體文件分塊單位,步驟C類別與步驟B類別匹配的原則是速度快的網(wǎng)絡(luò)節(jié)點(diǎn)請(qǐng)求獲 得需求緊迫程度高的多媒體文件分塊單位。
所述P2P協(xié)議下實(shí)現(xiàn)多媒體即時(shí)播放的方法還包括如下歩驟為網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)定超 時(shí)時(shí)間,如果從該網(wǎng)絡(luò)節(jié)點(diǎn)獲得多媒體文件分塊單位的時(shí)間超過所述超時(shí)時(shí)間,則取 消向該網(wǎng)絡(luò)節(jié)點(diǎn)獲取該多媒體文件分塊單位的過程。所述P2P協(xié)議下實(shí)現(xiàn)多媒體即時(shí)播放的方法還包括如下步驟獲得下載的文件中 多媒體文件的起始位置與結(jié)束位置。
所述P2P協(xié)議下實(shí)現(xiàn)多媒體即時(shí)播放的方法還包括如下步驟如果所述播放器播 放位置后續(xù)一定播放時(shí)間所需的多媒體文件分塊單位少于設(shè)定的數(shù)量,則放慢播放多 媒體文件分塊單位的速度。
如果進(jìn)行了快進(jìn)或倒退等定位操作,或者播放器播放位置移動(dòng)到緩沖數(shù)據(jù)尚未完 成的位置,則先將播放器暫停,并從此位置開始請(qǐng)求數(shù)據(jù),待數(shù)據(jù)量足以播放的時(shí)候 再繼續(xù)播放。
P2P協(xié)議為Bittorrent協(xié)議,在網(wǎng)絡(luò)節(jié)點(diǎn)之間傳遞的Bittorent握手包中設(shè)置標(biāo)識(shí), 表明需要優(yōu)先向發(fā)出握手包的網(wǎng)絡(luò)節(jié)點(diǎn)提供文件分塊單位。
所述標(biāo)識(shí)設(shè)置于Bittorent握手包中標(biāo)志字段最后一個(gè)字節(jié)的最高位。
P2P協(xié)議下實(shí)現(xiàn)多媒體即時(shí)播放的裝置,設(shè)置在下載文件的終端上,包括多媒體 播放器和多媒體播放控制模塊,多媒體播放器和多媒體播放控制模塊連接,多媒體播 放器用于播放多媒體文件分塊單位,多媒體播放控制模塊執(zhí)行如下歩驟
獲取得到的文件分塊單位的類型并啟動(dòng)多媒體播放器;
根據(jù)發(fā)出請(qǐng)求到獲得多媒體文件分塊單位的獲取周期長(zhǎng)短將網(wǎng)絡(luò)節(jié)點(diǎn)由高到低分 若干級(jí);
根據(jù)對(duì)多媒體文件分塊單位需求的緊急程度將未獲得的多媒體文件分塊單位分 級(jí),向獲取周期短的網(wǎng)絡(luò)節(jié)點(diǎn)請(qǐng)求獲得需求緊急程度高的多媒體文件分塊單位。 多媒體播放控制模塊還執(zhí)行如下步驟
如果從網(wǎng)絡(luò)節(jié)點(diǎn)獲得多媒體文件分塊單位的時(shí)間超過預(yù)設(shè)的超時(shí)時(shí)間,則取消向 該網(wǎng)絡(luò)節(jié)點(diǎn)獲取該多媒體文件分塊單位的過程。
多媒體播放控制模塊還執(zhí)行如下步驟
獲得下載的文件中多媒體文件的起始位置與結(jié)束位置。
多媒體播放控制模塊還執(zhí)行如下步驟
如果所述播放器播放位置后續(xù)一定播放時(shí)間所需的多媒體文件分塊單位少于設(shè)定 的數(shù)量,則放慢多媒體播放器的播放速度。 本發(fā)明的技術(shù)效果
由于本發(fā)明可以實(shí)現(xiàn)基于P2P協(xié)議的多媒體文件邊下載邊播放,這就可以在僅下 載了部分多媒體文件分塊單位的情況下進(jìn)行播放,根據(jù)播放可以判斷出這個(gè)文件是否 是需要的,從而避免了耗費(fèi)大量時(shí)間和網(wǎng)絡(luò)資源下載不需要的多媒體文件的問題。
圖1為P2P協(xié)議下實(shí)現(xiàn)多媒體即時(shí)播放的方法的流程圖。
圖2為當(dāng)多媒體文件分塊單位具有次級(jí)分塊情況下下載文件的流程。
具體實(shí)施方式
本部分結(jié)合附圖對(duì)本發(fā)明的技術(shù)方案進(jìn)行詳細(xì)說明。
圖1說明了本發(fā)明實(shí)現(xiàn)多媒體即時(shí)播放的方法的主要步驟。
首先,丌始在P2P協(xié)議下的下載文件的過程。根據(jù)得到的文件地址或種子文件等 信息可以得到多媒體文件的類型,這可以通過文件的擴(kuò)展名得到,具體的需要先請(qǐng)求 靠近多媒體文件開始位置的一個(gè)分塊,得到第一個(gè)分塊之后,可以根據(jù)文件擴(kuò)展名推 知文件格式,由于在文件頭保存了多媒體文件的結(jié)構(gòu)等信息,從而可以對(duì)多媒體文件 結(jié)構(gòu)進(jìn)行分析,得到影片碼率、索引起始位置等信息。根據(jù)得到的索引起始位置,從 靠近索引的位置開始請(qǐng)求數(shù)據(jù),得到完整的多媒體文件索引。從播放位置開始請(qǐng)求數(shù) 據(jù),緩沖足夠長(zhǎng)度的數(shù)據(jù)以保證播放的流暢性。從播放位置開始,后續(xù)要播放的一定 量的多媒體文件分塊單位(如可播放2分鐘的分塊量)構(gòu)成播放緩沖區(qū)。在獲得文件 頭、索引,并且緩沖了部分文件分塊單位之后,對(duì)于普通的多媒體文件類型如wmv、 avi、 rmvb、 rm等,啟動(dòng)Directshow或Mediaplayer播放模塊,對(duì)于flash格式,則啟動(dòng) flash播放器。
如果進(jìn)行了快進(jìn)或倒退等定位操作,或者播放器播放位置移動(dòng)到緩沖數(shù)據(jù)尚未完 成的位置,則先將播放器暫停,并從此位置開始請(qǐng)求數(shù)據(jù),待數(shù)據(jù)量足以播放的時(shí)候 再繼續(xù)播放。在緩沖了足夠長(zhǎng)個(gè)字節(jié)的數(shù)據(jù)之后,則可以隨機(jī)的請(qǐng)求數(shù)據(jù),但每次請(qǐng) 求時(shí)都檢測(cè)一次播放器播放位置的緩沖區(qū)數(shù)據(jù)是否足夠,并優(yōu)先請(qǐng)求靠近播放位置的 多媒體文件分塊單位。
在使用種子文件的情況下,下載的文件可能不止一個(gè),因此,在得到種子文件后 可以計(jì)算出該多媒體文件在若干文件中的起始位置與結(jié)束位置。
在實(shí)施本發(fā)明方法的終端上設(shè)置可以播放若干種類型多媒體文件的播放器(可以 是一種或多種播放器),根據(jù)得到的多媒體文件類型啟動(dòng)適用的播放器。
根據(jù)需要的緊迫程度將還未獲得的多媒體文件分塊單位分類,在此依次分為高優(yōu) 先級(jí)隊(duì)列、普通優(yōu)先級(jí)隊(duì)列和低優(yōu)先級(jí)隊(duì)列。本發(fā)明在下載多媒體文件過程中,由于 需要播放已經(jīng)得到的多媒體文件分塊單位,根據(jù)播放的進(jìn)度,對(duì)還未獲得的多媒體文 件分塊單位的需求緊迫程度是不同的,如相比于IO分鐘后播放的文件分塊單位,2分
鐘后就需要播放的文件分塊單位的需求緊迫程度更高。
根據(jù)獲得多媒體文件分塊單位時(shí)間(DRTT)的長(zhǎng)短將提供多媒體文件分塊單位的 網(wǎng)絡(luò)節(jié)點(diǎn)分級(jí)。DRTT是指針對(duì)某一網(wǎng)絡(luò)節(jié)點(diǎn),從發(fā)出下載一個(gè)文件分塊單位請(qǐng)求到從 該網(wǎng)絡(luò)節(jié)點(diǎn)得到該文件分塊單位的時(shí)間(分塊的大小應(yīng)該適當(dāng),以避免DRTT過長(zhǎng)), 根據(jù)這一時(shí)間的長(zhǎng)短將連接上的網(wǎng)絡(luò)節(jié)點(diǎn)分為若干等級(jí)(類)。同時(shí)為網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)定超 時(shí)時(shí)間,如果從該網(wǎng)絡(luò)節(jié)點(diǎn)獲得多媒體文件分塊單位的時(shí)間超過所述超時(shí)時(shí)間,則取 消向該網(wǎng)絡(luò)節(jié)點(diǎn)獲取該多媒體文件分塊單位的過程。
將上述完成分類的網(wǎng)絡(luò)節(jié)點(diǎn)與多媒體文件分塊單位進(jìn)行匹配,匹配規(guī)則可以有多 種,原則就是更緊迫需要的文件分塊單位傾向于向DRTT短的網(wǎng)絡(luò)節(jié)點(diǎn)請(qǐng)求下載。這 樣就盡可能地保證了播放過程不會(huì)由于文件分塊單位還未下載而出現(xiàn)中斷。根據(jù)確定 的匹配規(guī)則,向匹配的網(wǎng)絡(luò)節(jié)點(diǎn)請(qǐng)求需要的多媒體文件分塊單位。多媒體播放器可以在播放多媒體文件分塊單位的同時(shí)下載其他文件分塊單位,由 于有可能會(huì)出現(xiàn)多媒體播放器當(dāng)前播放位置后續(xù)一定播放時(shí)間所需要的文件分塊單位 不足的情況,從而使得播放中斷。為了緩解這一情況所,本發(fā)明設(shè)定一個(gè)具體的上述 一定的播放時(shí)間,如果當(dāng)前播放位置后該一定播放時(shí)間內(nèi)所需要的多媒體文件分塊單 位缺乏時(shí),將播放速度降低,相當(dāng)于延遲出時(shí)間等待獲得足夠的多媒體文件分塊單位, 這在一定程度上降低了發(fā)生中斷的幾率,而播放速度的降低不會(huì)對(duì)播放效果產(chǎn)生太大 的影響。當(dāng)然,上述放緩播放速度的設(shè)置可以分為多級(jí)設(shè)置,就是說當(dāng)缺乏的多媒體 文件分塊單位小于a時(shí),降低播放速度到b,當(dāng)缺乏的多媒體文件分塊單位小于C時(shí), 降低播放速度到d, a小于c, b大于d,依此類推逐級(jí)設(shè)置,直到最后停止播放。
由于本發(fā)明需要盡快下載到多媒體文件分塊單位,因此可以在P2P協(xié)議的網(wǎng)絡(luò)中 設(shè)置標(biāo)識(shí)表明需要優(yōu)先下載文件分塊單位,具體設(shè)置標(biāo)識(shí)可以采用類似以下例子所示 的方法(以Bittorrent協(xié)議為例在網(wǎng)絡(luò)節(jié)點(diǎn)之間傳遞的Bittorent握手包中設(shè)置標(biāo)識(shí), 表明需要優(yōu)先向發(fā)出握手包的網(wǎng)絡(luò)節(jié)點(diǎn)提供文件分塊單位;所述標(biāo)識(shí)設(shè)置于Bittorent 握手包中標(biāo)志字段最后一個(gè)字節(jié)的最高位,將該最高位設(shè)置為1,由于此位目前沒有被 使用,因此可以用來(lái)作為標(biāo)識(shí)。
P2P協(xié)議中還有對(duì)文件分塊單位進(jìn)一歩劃分為次級(jí)分塊的情況,如Bittorrent協(xié)議 中文件分塊默認(rèn)單位大小為256K,每個(gè)文件分塊單位可以進(jìn)一步劃分為多個(gè)次級(jí)分塊 ——64個(gè)分片,每個(gè)分片的大小為4K。下載過程中可以以分片為單位,這樣可以在網(wǎng) 絡(luò)帶寬有限的情況下比較容易成功下載分片(如果只能下載256K的文件分塊單位容易 出現(xiàn)由于發(fā)生錯(cuò)誤而導(dǎo)致下載失敗,下載效率降低)。而本發(fā)明中播放還是以256K這 樣的文件分塊單位進(jìn)行,不以次級(jí)分塊進(jìn)行,這樣便于減少對(duì)要播放的分塊(文件分 塊單位或次級(jí)分塊)的驗(yàn)證次數(shù)。次級(jí)分塊的存在使得與網(wǎng)絡(luò)節(jié)點(diǎn)的匹配變得復(fù)雜, 圖2舉例揭示了存在次級(jí)分塊情況下的下載過程。
在揭示圖2所示的流程前需要說明如下情況,為了說明方便,以下部分將文件分 塊單位簡(jiǎn)稱為分塊,將次級(jí)分塊簡(jiǎn)稱為分片。
將需要進(jìn)行播放的終端連接的網(wǎng)絡(luò)節(jié)點(diǎn)根據(jù)DRTT的長(zhǎng)短分成高優(yōu)先級(jí)和普通優(yōu) 先級(jí),高優(yōu)先級(jí)網(wǎng)絡(luò)節(jié)點(diǎn)的DRTT較普通優(yōu)先級(jí)網(wǎng)絡(luò)節(jié)點(diǎn)的DRTT短。根據(jù)對(duì)分片需 求的緊迫程度(如離播放位置的遠(yuǎn)近、前后等位置關(guān)系表明的緊迫程度)將未下載的 分片分類為高優(yōu)先級(jí)隊(duì)列、普通優(yōu)先級(jí)隊(duì)列和低優(yōu)先級(jí)隊(duì)列。分片分級(jí)的原則如下 高優(yōu)先級(jí)隊(duì)列中的分片為播放位置后緩沖區(qū)中的數(shù)據(jù),播放器很快就會(huì)需要使用它, 因此要盡快獲得;普通優(yōu)先級(jí)隊(duì)列的分片為播放位置之后緩沖區(qū)之后的數(shù)據(jù),這些分 片以后也會(huì)被播放,但并不會(huì)立即被播放,所以優(yōu)先級(jí)次之;低優(yōu)先級(jí)隊(duì)列的分片可 能是播放位置之前的分片,也可能是與播放無(wú)關(guān)的數(shù)據(jù),因此其優(yōu)先級(jí)最低。
首先判斷連接的網(wǎng)絡(luò)節(jié)點(diǎn)是否為高優(yōu)先級(jí)。為了避免等待某一個(gè)分片的時(shí)間過長(zhǎng) 而導(dǎo)致播放中斷,因此為網(wǎng)絡(luò)節(jié)點(diǎn)都設(shè)定一個(gè)超時(shí)時(shí)間,高優(yōu)先級(jí)的超時(shí)時(shí)間設(shè)定的 較短,普通優(yōu)先級(jí)的超時(shí)時(shí)間設(shè)定的較長(zhǎng)。定期檢測(cè)獲取每個(gè)分片的DRTT是否超過 該網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)定的超時(shí)時(shí)間,如果超時(shí),則取消從該網(wǎng)絡(luò)節(jié)點(diǎn)獲取此分片的過程,根據(jù)多媒體播放器當(dāng)前的播放位置,計(jì)算此分片的優(yōu)先程度,放入對(duì)應(yīng)的優(yōu)先隊(duì)列中, 并重新計(jì)算該網(wǎng)絡(luò)節(jié)點(diǎn)的優(yōu)先級(jí)別。如果剛與一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)建立連接,則需設(shè)其超時(shí) 時(shí)間為某一數(shù)值(如為高優(yōu)先級(jí)用戶的超時(shí)時(shí)間)。規(guī)定某一時(shí)間長(zhǎng)度(如1秒)作為對(duì)用 戶級(jí)別的界限,如果平均DRTT時(shí)間小于此值,則判定此網(wǎng)絡(luò)節(jié)點(diǎn)為高優(yōu)先級(jí),否則 為低優(yōu)先級(jí)。對(duì)于已取消的獲得分片的過程,記錄這些信息到一個(gè)列表,當(dāng)一個(gè)分片 下載下來(lái)時(shí),檢測(cè)它是否已經(jīng)被請(qǐng)求過,如果請(qǐng)求過此分片,不論是否被取消,都將 該分片寫入磁盤或緩沖區(qū)。如果沒有請(qǐng)求過此分片,認(rèn)為此分片是錯(cuò)誤的,丟棄此分 片。
根據(jù)從每個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)的獲得分片的速率,進(jìn)而可以得到本地(發(fā)出下載文件分塊 單位請(qǐng)求的網(wǎng)絡(luò)節(jié)點(diǎn))的總下載速率,記錄歷史上的總下載速率,同時(shí)可也得到過去 一段時(shí)間內(nèi)的總下載速率峰值。如果當(dāng)前需要下載的高優(yōu)先級(jí)隊(duì)列的數(shù)量較多并且當(dāng) 前的總下載速度接近總速率峰值,則應(yīng)減少對(duì)普通優(yōu)先級(jí)隊(duì)列和低優(yōu)先級(jí)隊(duì)列中分片 的請(qǐng)求,以加快高優(yōu)先級(jí)分片的下載。
在多媒體播放器播放的過程中,定時(shí)檢測(cè)播放位置后緩沖區(qū)的狀態(tài),如果緩沖區(qū) 分塊數(shù)量不夠,則可適當(dāng)減慢播放器的播放速度,以獲得更長(zhǎng)的時(shí)間等待數(shù)據(jù),如果 只是一小塊數(shù)據(jù)尚未到達(dá),該數(shù)據(jù)的缺乏不影響播放效果,則在播放到此位置時(shí),可 直接跳過此小塊數(shù)據(jù),如果是一大塊數(shù)據(jù),則減慢播放速度直到靜止,直到數(shù)據(jù)緩沖 完成再啟動(dòng)播放。
對(duì)圖2中所示的流程說明如下。
如果網(wǎng)絡(luò)節(jié)點(diǎn)為高優(yōu)先級(jí),則先檢測(cè)播放緩沖區(qū)中是否有緊急分塊需要下載,如 果有緊急分塊需要請(qǐng)求,則與高優(yōu)先級(jí)隊(duì)列或普通優(yōu)先級(jí)隊(duì)列的分塊進(jìn)行比較,選擇 出更緊急的。然后依次檢測(cè)高優(yōu)先級(jí)、普通優(yōu)先級(jí)、低優(yōu)先級(jí)隊(duì)列中是否有此分塊的 分片,如果在某個(gè)優(yōu)先級(jí)隊(duì)列中有此分塊的分片,則說明之前己經(jīng)發(fā)出過部分請(qǐng)求, 只是未能全部請(qǐng)求下來(lái),所以將剩余的分片依次逐個(gè)請(qǐng)求出去。如果這三個(gè)隊(duì)列中均 沒有此分塊的分片,說明請(qǐng)求的是一個(gè)新的緊急分塊,請(qǐng)求此分塊的一個(gè)分片之后, 將其余分片放入高優(yōu)先級(jí)隊(duì)列中。
如果緩沖區(qū)里沒有緊急分塊需要請(qǐng)求,即緩沖區(qū)里所以分塊都已下載或都已經(jīng)歸 類到各優(yōu)先隊(duì)列中,則依次檢測(cè)高優(yōu)先級(jí)、普通優(yōu)先級(jí)、低優(yōu)先級(jí)隊(duì)列中是否有分片 可以請(qǐng)求,如果有,則請(qǐng)求此分片,如果沒有,則檢查網(wǎng)絡(luò)節(jié)點(diǎn)是否有本地需要的分 塊可以請(qǐng)求,如果仍沒有,則隨機(jī)發(fā)出分塊請(qǐng)求。
如果連接的網(wǎng)絡(luò)節(jié)點(diǎn)為普通優(yōu)先級(jí),則直接從低優(yōu)先級(jí)隊(duì)列開始請(qǐng)求。如果低優(yōu) 先級(jí)隊(duì)列中沒有可以請(qǐng)求的分片,則依次檢測(cè)是否可以請(qǐng)求該網(wǎng)絡(luò)節(jié)點(diǎn)具有的本地需 要的分塊,或者隨機(jī)發(fā)出分塊請(qǐng)求。
本發(fā)明還提供了實(shí)現(xiàn)上述方法的多媒體即時(shí)播放裝置,具體說明如下。
本發(fā)明的P2P協(xié)議下實(shí)現(xiàn)多媒體即時(shí)播放的裝置設(shè)置在下載文件的終端上,包括 多媒體播放器和多媒體播放控制模塊,多媒體播放器和多媒體播放控制模塊連接,多 媒體播放器用于播放多媒體文件分塊單位,多媒體播放控制模塊執(zhí)行如下步驟-獲取得到的文件分塊單位的類型并啟動(dòng)多媒體播放器;
根據(jù)發(fā)出請(qǐng)求到獲得多媒體文件分塊單位的獲取周期長(zhǎng)短將網(wǎng)絡(luò)節(jié)點(diǎn)由高到低分 若干級(jí);
根據(jù)對(duì)多媒體文件分塊單位需求的緊急程度將未獲得的多媒體文件分塊單位分 級(jí),向獲取周期短的網(wǎng)絡(luò)節(jié)點(diǎn)請(qǐng)求獲得需求緊急程度高的多媒體文件分塊單位。
即多媒體播放控制模塊執(zhí)行圖1和圖2所示的歩驟,具體描述見對(duì)圖1和圖2的 說明,在需要的時(shí)候調(diào)用多媒體播放器播放多媒體文件分塊單位。
權(quán)利要求
1、P2P協(xié)議下實(shí)現(xiàn)多媒體即時(shí)播放的方法,其特征在于包括如下步驟A、啟動(dòng)多媒體播放器播放得到的多媒體文件分塊單位;B、根據(jù)多媒體播放進(jìn)度將還未得到的多媒體文件分塊單位按需求緊迫程度分類;C、根據(jù)從網(wǎng)絡(luò)節(jié)點(diǎn)得到多媒體文件分塊單位的速度將網(wǎng)絡(luò)節(jié)點(diǎn)分類;D、向步驟C得到的特定的網(wǎng)絡(luò)節(jié)點(diǎn)類別請(qǐng)求獲得步驟B得到的匹配類別的多媒體文件分塊單位,步驟C類別與步驟B類別匹配的原則是速度快的網(wǎng)絡(luò)節(jié)點(diǎn)請(qǐng)求獲得需求緊迫程度高的多媒體文件分塊單位。
2、 根據(jù)權(quán)利要求1所述P2P協(xié)議下實(shí)現(xiàn)多媒體即時(shí)播放的方法,其特征在于還包括如下步驟為網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)定超時(shí)時(shí)間,如果從該網(wǎng)絡(luò)節(jié)點(diǎn)獲得多媒體文件分塊單位 的時(shí)間超過所述超時(shí)時(shí)間,則取消向該網(wǎng)絡(luò)節(jié)點(diǎn)獲取該多媒體文件分塊單位的過程。
3、 根據(jù)權(quán)利要求1或2所述P2P協(xié)議下實(shí)現(xiàn)多媒體即時(shí)播放的方法,其特征在于 還包括如下步驟獲得下載的文件中多媒體文件的起始位置與結(jié)束位置。
4、 根據(jù)權(quán)利要求1或2所述P2P協(xié)議下實(shí)現(xiàn)多媒體即時(shí)播放的方法,其特征在于還包括如下歩驟如果所述播放器播放位置后續(xù)一定播放時(shí)間所需的多媒體文件分塊單位少于設(shè)定的數(shù)量,則放慢播放多媒體文件分塊單位的速度。
5、 根據(jù)權(quán)利要求1或2所述P2P協(xié)議下實(shí)現(xiàn)多媒體即時(shí)播放的方法,其特征在于 P2P協(xié)議為Bi加rrent協(xié)議,在網(wǎng)絡(luò)節(jié)點(diǎn)之間傳遞的Bi加rent握手包中設(shè)置標(biāo)識(shí),表明 需要優(yōu)先向發(fā)出握手包的網(wǎng)絡(luò)節(jié)點(diǎn)提供文件分塊單位。
6、 根據(jù)權(quán)利要求5所述P2P協(xié)議下實(shí)現(xiàn)多媒體即時(shí)播放的方法,其特征在于所述 標(biāo)識(shí)設(shè)置于Bittorent握手包中標(biāo)志字段最后一個(gè)字節(jié)的最高位。
7、 P2P協(xié)議下實(shí)現(xiàn)多媒體即時(shí)播放的裝置,其特征在于設(shè)置在下載文件的終端上, 包括多媒體播放器和多媒體播放控制模塊,多媒體播放器和多媒體播放控制模塊連接, 多媒體播放器用于播放多媒體文件分塊單位,多媒體播放控制模塊執(zhí)行如下步驟獲取得到的文件分塊單位的類型并啟動(dòng)多媒體播放器;根據(jù)發(fā)出請(qǐng)求到獲得多媒體文件分塊單位的獲取周期長(zhǎng)短將網(wǎng)絡(luò)節(jié)點(diǎn)由高到低分 若干級(jí);根據(jù)對(duì)多媒體文件分塊單位需求的緊急程度將未獲得的多媒體文件分塊單位分 級(jí),向獲取周期短的網(wǎng)絡(luò)節(jié)點(diǎn)請(qǐng)求獲得需求緊急程度高的多媒體文件分塊單位。
8、 根據(jù)權(quán)利要求7所述的即時(shí)播放裝置,其特征在于多媒體播放控制模塊還執(zhí)行 如下步驟如果從網(wǎng)絡(luò)節(jié)點(diǎn)獲得多媒體文件分塊單位的時(shí)間超過預(yù)設(shè)的超時(shí)時(shí)間,則取消向 該網(wǎng)絡(luò)節(jié)點(diǎn)獲取該多媒體文件分塊單位的過程。
9、 根據(jù)權(quán)利要求7或8所述的即時(shí)播放裝置,其特征在于多媒體播放控制模塊還 執(zhí)行如下步驟獲得下載的文件中多媒體文件的起始位置與結(jié)束位置。
10、根據(jù)權(quán)利要求7或8所述的即時(shí)播放裝置,其特征在于多媒體播放控制模塊 還執(zhí)行如下步驟如果所述播放器播放位置后續(xù)的多媒體文件分塊單位少于設(shè)定的數(shù)量,則放慢多 媒體播放器的播放速度。如果進(jìn)行了快進(jìn)或倒退等定位操作,或者播放器播放位置移動(dòng)到緩沖數(shù)據(jù)尚未完 成的位置,則先將播放器暫停,并從此位置開始請(qǐng)求數(shù)據(jù),待數(shù)據(jù)量足以播放的時(shí)候 再繼續(xù)播放。
全文摘要
為了解決現(xiàn)有基于P2P協(xié)議的下載多媒體文件方式存在的浪費(fèi)時(shí)間與資源的問題,本發(fā)明提供了一種P2P協(xié)議下實(shí)現(xiàn)多媒體即時(shí)播放的方法,包括如下步驟啟動(dòng)多媒體播放器播放得到的多媒體文件分塊單位;根據(jù)多媒體播放進(jìn)度將還未得到的多媒體文件分塊單位按需求緊迫程度分類;根據(jù)從網(wǎng)絡(luò)節(jié)點(diǎn)得到多媒體文件分塊單位的速度將網(wǎng)絡(luò)節(jié)點(diǎn)分類;向特定的網(wǎng)絡(luò)節(jié)點(diǎn)類別請(qǐng)求獲得上述匹配類別的多媒體文件分塊單位,速度快的網(wǎng)絡(luò)節(jié)點(diǎn)請(qǐng)求獲得需求緊迫程度高的多媒體文件分塊單位。本發(fā)明可以盡快判斷出正在下載的多媒體文件是否符合需求,以免浪費(fèi)網(wǎng)絡(luò)資源。
文檔編號(hào)H04L12/18GK101626304SQ20091000024
公開日2010年1月13日 申請(qǐng)日期2009年1月14日 優(yōu)先權(quán)日2008年7月11日
發(fā)明者耀 黃 申請(qǐng)人:寶利微電子系統(tǒng)控股公司