專利名稱:多媒體信息流的透傳方法和系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及數(shù)據(jù)傳輸技術,特別涉及多媒體信息流的透傳方法和系統(tǒng)。
背景技術:
P2P(Peer To Peer,點對點)技術,是目前日益廣泛使用的網(wǎng)絡應用技術,或者說是一種日益流行的應用層組網(wǎng)技術。由于它在強化交流、文件傳播、分布計算等方面所表現(xiàn)出的巨大優(yōu)勢,是目前公認具有廣泛應用前途的未來“殺手級”應用。流媒體技術是應用流技術在網(wǎng)絡上傳輸?shù)亩嗝襟w技術,該技術并不會將全部文件都下載到本地,而可以實現(xiàn)一邊下載一邊播放。
P2P技術從根本上顛覆了傳統(tǒng)的“服務器-客戶端(S/C)”模式。新的模式模糊了服務提供者與使用者的界限,甚至不再有傳統(tǒng)意義上的服務器,服務提供者的作用大為減弱。每一個參與的使用者同時也成為了提供者。
在P2P流媒體系統(tǒng)中,不僅僅是支持一種媒體文件格式的,通常需要多種媒體格式并存,比如wmv壓縮文件、數(shù)據(jù)現(xiàn)場采集、rm文件格式以及現(xiàn)在很流行的MPEG格式的文件等。所以在P2P流媒體系統(tǒng)中,還需要實現(xiàn)一個多種文件媒體流格式并存的技術方案。
目前有不少方案可解決多種媒體格式并存的問題,比如微軟定義的MMS(microsoft media service,微軟媒體服務)流格式協(xié)議,就盡可能多的支持了自己編碼器所輸出的各種碼流格式比如asf、wmv、avi等。而RealPlayer定義的rstp協(xié)議,也是支持了其自主編碼的碼流格式。但是上述技術具有如下缺陷1)雖然這些協(xié)議能夠很好地利用網(wǎng)絡資源,但是,他們一般采用的都是C/S模式的,對于在線人數(shù)、server(服務)的性能方面都有很大的要求,不滿足現(xiàn)在的媒體市場的大用戶要求。2)這些各自實現(xiàn)的協(xié)議大多數(shù)都是只支持自己的編碼格式,沒有一個能夠將目前市場上所有的編碼格式全部囊括的。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種多媒體信息流的透傳方法和系統(tǒng),可以在P2P技術中解決多種媒體格式并存的問題。
本發(fā)明解決其技術問題所采用的技術方案是多媒體信息流的透傳方法,其中,發(fā)布源端執(zhí)行以下步驟A,獲得媒體數(shù)據(jù),對所述媒體數(shù)據(jù)進行分析后構建媒體數(shù)據(jù)頭,在發(fā)送時間片到達后發(fā)送所述媒體數(shù)據(jù)頭到點對點P2P網(wǎng)絡;B,在發(fā)送時間片到達且判斷所述媒體數(shù)據(jù)頭發(fā)送成功后構建媒體數(shù)據(jù)包數(shù)據(jù)并發(fā)送到P2P網(wǎng)絡。
其中,所述媒體數(shù)據(jù)頭中除包括傳統(tǒng)意義上的媒體數(shù)據(jù)頭之外還至少包括下列中的一種數(shù)據(jù)頭長度、媒體播放類型、媒體視頻壓縮格式、媒體音頻壓縮格式、媒體數(shù)據(jù)包的時間和媒體數(shù)據(jù)包大小是否固定。步驟B中,所述媒體數(shù)據(jù)包數(shù)據(jù)中除包括傳統(tǒng)意義上的媒體數(shù)據(jù)外還至少包括下列中的一種數(shù)據(jù)包長度、數(shù)據(jù)包的唯一標識、小包音頻數(shù)據(jù)個數(shù)、小包視頻數(shù)據(jù)個數(shù)。
進一步的,步驟B還包括B1,在發(fā)送時間片到達、且判斷所述媒體數(shù)據(jù)頭發(fā)送失敗后,繼續(xù)發(fā)送所述媒體數(shù)據(jù)頭到P2P網(wǎng)絡,如果所述媒體數(shù)據(jù)頭發(fā)送失敗則發(fā)送空媒體數(shù)據(jù)給P2P網(wǎng)絡。
本發(fā)明一種多媒體信息流的透傳方法還可進一步包括步驟C,在發(fā)送時間片到達、且判斷所述媒體數(shù)據(jù)頭發(fā)送成功后,判斷所述媒體數(shù)據(jù)是否已經(jīng)發(fā)送完,如果沒有,構建媒體數(shù)據(jù)包數(shù)據(jù)并發(fā)送到P2P網(wǎng)絡。
進一步的,步驟C中,如果判斷所述媒體數(shù)據(jù)已經(jīng)全部發(fā)送完,則判斷是否有新的待發(fā)布的媒體數(shù)據(jù),如果有則對所述媒體數(shù)據(jù)進行分析后構建新的媒體數(shù)據(jù)頭并發(fā)送到P2P網(wǎng)絡;否則組織空包并發(fā)送到P2P網(wǎng)絡。
本發(fā)明所述的多媒體信息流的透傳方法中,客戶端執(zhí)行以下步驟D1,接收來自P2P網(wǎng)絡的媒體數(shù)據(jù)頭;D2,對所述媒體數(shù)據(jù)頭進行解析,選擇播放器,并將所述傳統(tǒng)意義上的媒體數(shù)據(jù)頭發(fā)送到所述播放器;D3,接收來自P2P網(wǎng)絡的媒體數(shù)據(jù)包數(shù)據(jù)并進行解析后發(fā)送到所述播放器進行播放。
在客戶端進一步包括步驟E1,所述客戶端接收來自P2P網(wǎng)絡的媒體數(shù)據(jù),如果接收到媒體數(shù)據(jù)頭,則執(zhí)行E2,如果收到媒體數(shù)據(jù)包數(shù)據(jù),則執(zhí)行E3;E2,重新開辟一個數(shù)據(jù)緩沖區(qū)域,并將接收到的新的媒體數(shù)據(jù)頭存儲在所述緩沖區(qū)中;重復執(zhí)行E1;E3,將接收到的媒體數(shù)據(jù)放在最新的緩沖區(qū)域中,并判斷該緩沖區(qū)域是否正在播放,如果是,則執(zhí)行E1,否則執(zhí)行E4;E4,判斷當前播放的媒體數(shù)據(jù)是否已經(jīng)播放完畢,如果是則執(zhí)行E5,否則執(zhí)行E1;E5將當前播放的緩沖區(qū)清空,并將下一個緩沖區(qū)域的數(shù)據(jù)開始播放。
本發(fā)明還提供了一種多媒體信息流的透傳系統(tǒng),包括通過P2P網(wǎng)絡相連的發(fā)布源和客戶端,其中,所述發(fā)布源包括數(shù)據(jù)采集模塊、組包模塊和P2P模塊;所述數(shù)據(jù)采集模塊用于獲得媒體數(shù)據(jù),對所述媒體數(shù)據(jù)進行分析以獲得其媒體格式的相關信息,根據(jù)所述媒體格式的相關信息構建媒體數(shù)據(jù)頭和媒體數(shù)據(jù)包數(shù)據(jù)并發(fā)送到所述P2P模塊;所述P2P模塊用于接收來自所述數(shù)據(jù)采集模塊的數(shù)據(jù),對所述數(shù)據(jù)進行封裝后發(fā)送到P2P網(wǎng)絡,接收來自P2P網(wǎng)絡的數(shù)據(jù),對所述數(shù)據(jù)解包后發(fā)送到所述數(shù)據(jù)采集模塊。
所述客戶端包括P2P模塊和數(shù)據(jù)播放模塊;所述P2P模塊用于接收來自P2P網(wǎng)絡的數(shù)據(jù),對所述數(shù)據(jù)進行解包后發(fā)送到所述數(shù)據(jù)播放模塊;所述數(shù)據(jù)播放模塊用于對接收到的數(shù)據(jù)進行解析,從媒體數(shù)據(jù)頭中獲得所述媒體格式的相關信息,選擇播放器,將媒體數(shù)據(jù)發(fā)送到播放器中進行播放。
本發(fā)明的有益效果是可在P2P技術上實現(xiàn)多種碼流格式的傳輸,徹底解決P2P流媒體對于各種不同媒體格式的支持,不但能夠實現(xiàn)多媒體信息流的透傳、rm文件透傳、也能實現(xiàn)自主編碼格式的透傳。使得P2P層感覺在它之上的流媒體層是透明的,且多種碼流格式的傳輸對播放器本身不造成任何影響。
圖1是本發(fā)明所述多媒體信息流的透傳系統(tǒng)的方框圖;圖2是本發(fā)明所述多媒體信息流的透傳方法中發(fā)布源端的處理流程圖;圖3是本發(fā)明所述多媒體信息流的透傳方法中客戶端的處理流程圖。
具體實施例方式
下面根據(jù)附圖和具體實施例對本發(fā)明作進一步闡述。
由于P2P(Peer To Peer)技術中實現(xiàn)的媒體數(shù)據(jù)并不是走的傳統(tǒng)的C/S模式,所以在整個P2P流媒體的網(wǎng)絡中,必然存在一個特殊的Peer來產(chǎn)生媒體數(shù)據(jù),可以抽象的認為該Peer是整個在P2P流媒體網(wǎng)絡中的媒體數(shù)據(jù)的“源頭”。本發(fā)明中將這樣的特殊Peer稱為發(fā)布源1。而一般的peer將會從其他peer中取得這些媒體數(shù)據(jù),并進行播放,本發(fā)明中將這樣的peer稱為客戶端。
如圖1所示,本發(fā)明一種多媒體信息流的透傳系統(tǒng)包括通過P2P網(wǎng)絡相連的發(fā)布源1和客戶端2。其中,發(fā)布源1包括數(shù)據(jù)采集模塊11和P2P模塊12??蛻舳?包括P2P模塊22和數(shù)據(jù)播放模塊21。
發(fā)布源1負責組織媒體數(shù)據(jù)包并將組織好的媒體數(shù)據(jù)包發(fā)送到P2P網(wǎng)絡上供客戶端2使用。本發(fā)明中,發(fā)布源1共生成兩種類型的媒體數(shù)據(jù)包一種是媒體數(shù)據(jù)頭,一種是媒體數(shù)據(jù)包數(shù)據(jù)。數(shù)據(jù)采集模塊11負責從本地存儲器或網(wǎng)絡或其它設備3中獲得將要發(fā)布的媒體數(shù)據(jù)(可以是wmv壓縮文件、數(shù)據(jù)現(xiàn)場采集、rm文件、MPEG等格式),對該媒體數(shù)據(jù)進行分析,獲得其媒體格式的詳細信息,根據(jù)所述媒體格式的相關信息構建媒體數(shù)據(jù)頭并發(fā)送到P2P模塊12,按照時間順序構建媒體數(shù)據(jù)包數(shù)據(jù),根據(jù)P2P模塊12的反饋信息選擇繼續(xù)發(fā)送所述媒體數(shù)據(jù)頭或發(fā)送構建好的媒體數(shù)據(jù)包數(shù)據(jù)到P2P模塊12。而P2P模塊12負責對數(shù)據(jù)采集模塊11和P2P網(wǎng)絡之間來往的數(shù)據(jù)利用P2P層協(xié)議進行解包或封裝操作,其接收來自數(shù)據(jù)采集模塊11的數(shù)據(jù),對所述數(shù)據(jù)進行封裝后發(fā)送到P2P網(wǎng)絡,接收來自P2P網(wǎng)絡的數(shù)據(jù),對所述數(shù)據(jù)解包后送到數(shù)據(jù)采集模塊11。上述媒體數(shù)據(jù)的媒體格式信息可包括媒體播放類型、媒體視頻和音頻的壓縮格式、媒體數(shù)據(jù)包的時間等等。
其中,數(shù)據(jù)采集模塊11是根據(jù)“數(shù)據(jù)頭協(xié)議”來構建媒體數(shù)據(jù)頭的。按照所述“數(shù)據(jù)頭協(xié)議”協(xié)議構建好的媒體數(shù)據(jù)頭包括了待發(fā)布的媒體數(shù)據(jù)的傳統(tǒng)的數(shù)據(jù)頭(即傳統(tǒng)意義上的媒體數(shù)據(jù)頭,其中包括地址信息等)和自定義的、說明媒體數(shù)據(jù)媒體格式信息的其他數(shù)據(jù),如前一段所述媒體播放類型、媒體視頻和音頻的壓縮格式等信息,還包括構建好后的數(shù)據(jù)頭長度、媒體數(shù)據(jù)頭編號等信息。媒體數(shù)據(jù)頭被構建好之后將一直保存在發(fā)布源1的數(shù)據(jù)緩沖區(qū)中,其被客戶端2接收到之后也會一直保存在數(shù)據(jù)緩沖區(qū)中,除非該媒體數(shù)據(jù)頭所對應的全部媒體數(shù)據(jù)都已經(jīng)在P2P網(wǎng)絡上不再存在,這樣就充分保證了媒體數(shù)據(jù)頭的有效性。防止出現(xiàn)有媒體數(shù)據(jù)而沒有媒體數(shù)據(jù)頭的情況,因為對于播放器而言,只有數(shù)據(jù)沒有頭的媒體數(shù)據(jù)是不能播放的。表一即本發(fā)明較佳實施例中的媒體數(shù)據(jù)頭格式。
表一 表二
數(shù)據(jù)采集模塊11還根據(jù)“數(shù)據(jù)協(xié)議”構建媒體數(shù)據(jù)包數(shù)據(jù)。按照所述“數(shù)據(jù)協(xié)議”構建好的媒體數(shù)據(jù)包數(shù)據(jù)包括一個P2P網(wǎng)絡的特殊唯一編號、相關信息以及真正的傳統(tǒng)意義上的媒體數(shù)據(jù)。表二為本發(fā)明較佳實施例中的媒體數(shù)據(jù)包數(shù)據(jù)的格式。
這樣,數(shù)據(jù)采集模塊11在得到媒體數(shù)據(jù)的媒體格式的相關信息后就按照表一所述格式構建媒體數(shù)據(jù)頭,再按照表二所述格式、按照時間順序構建媒體數(shù)據(jù)包數(shù)據(jù),并通過P2P模塊12發(fā)送到P2P網(wǎng)絡。本較佳實施例是采用定時的方式構建媒體數(shù)據(jù)包的,當然也可以采用其它策略構建媒體數(shù)據(jù)包,例如使用定長包的策略等。這樣,只要到達時間就要構建一個媒體數(shù)據(jù)包,無論當前有沒有媒體數(shù)據(jù)。如果當前沒有媒體數(shù)據(jù),數(shù)據(jù)采集模塊11就組織空包交給P2P,這樣能夠保證在每一個媒體數(shù)據(jù)頭的后面跟著的數(shù)據(jù)都是隸屬于該媒體數(shù)據(jù)頭的。當然,一般的發(fā)布源都會配置多個文件進行輪換播放,當判斷媒體數(shù)據(jù)沒有的時候(如圖2中步驟S103),發(fā)布源1將會做進一步的判斷,比如下一個文件是哪個,如果還有待發(fā)布的媒體數(shù)據(jù),則接著進行下一次的媒體格式文件的透傳——獲得媒體數(shù)據(jù),分析后構建新的媒體頭并發(fā)送(步驟S106、S107)——而不發(fā)送空數(shù)據(jù)包。
發(fā)布源1是按照一定的順序將媒體數(shù)據(jù)包交給P2P網(wǎng)絡的。本較佳實施例中采用“火車”的模式傳送媒體數(shù)據(jù)。也就是說媒體數(shù)據(jù)頭就是火車頭,而后的媒體數(shù)據(jù)包數(shù)據(jù)就是火車的車廂。當需要的媒體格式已經(jīng)全部結束,又遇到一個新的媒體格式的時候,數(shù)據(jù)采集模塊11將重新構建“媒體數(shù)據(jù)頭”(步驟S106),并遵循定時的策略繼續(xù)構造媒體數(shù)據(jù)。這里的一個重要規(guī)則是,如果P2P層沒有接受“媒體數(shù)據(jù)頭”,則發(fā)布源1不會將已經(jīng)構造好的媒體數(shù)據(jù)發(fā)送給P2P層,代替的是發(fā)送空包給P2P層(如步驟S108、S109)。這樣,就保證了每個數(shù)據(jù)頭后面的數(shù)據(jù)都是隸屬于數(shù)據(jù)頭的。因此在P2P層的數(shù)據(jù)傳輸中,“媒體數(shù)據(jù)頭”協(xié)議將保證媒體數(shù)據(jù)頭被第一時間送到另一個peer處,相對于其他媒體數(shù)據(jù),媒體數(shù)據(jù)頭將擁有更高的優(yōu)先級。這樣可以保證媒體數(shù)據(jù)頭在最快、最安全的在P2P網(wǎng)絡上被傳輸。
綜上,本發(fā)明較佳實施例中,多媒體信息流的透傳方法中在發(fā)布源1處構建媒體數(shù)據(jù)并發(fā)布的方法如圖2所示流程S101,判斷是否發(fā)送數(shù)據(jù)的時間片到了,如果是則執(zhí)行步驟S102,否則繼續(xù)判斷。
S102,判斷在上一個時間片中媒體數(shù)據(jù)頭(對應媒體數(shù)據(jù)a)是否發(fā)送成功,如果是則執(zhí)行步驟S103,否則執(zhí)行步驟S107。
S103,判斷對應媒體數(shù)據(jù)a是否已經(jīng)全部發(fā)送完畢,如果還沒有則執(zhí)行步驟S104,否則執(zhí)行步驟S106。
S104,構建媒體數(shù)據(jù)包數(shù)據(jù),并發(fā)送所述媒體數(shù)據(jù)包數(shù)據(jù)到P2P網(wǎng)絡(步驟S105),然后執(zhí)行步驟S101,判斷下一個發(fā)送數(shù)據(jù)的時間片是否到了。
S106,獲取待發(fā)布的新的媒體數(shù)據(jù)b,進行分析后構建媒體數(shù)據(jù)頭,然后執(zhí)行步驟107。當然,如果此時沒有待發(fā)布的新的媒體數(shù)據(jù)b,發(fā)布源會組織空數(shù)據(jù)包給P2P網(wǎng)絡。
S107,發(fā)送對應媒體數(shù)據(jù)頭到P2P網(wǎng)絡。需要說明的是,如果是從步驟S102跳轉過到步驟S107,則發(fā)送的是媒體數(shù)據(jù)a所對應的媒體數(shù)據(jù)頭,如果是從步驟S106跳轉過來的,則發(fā)送的是媒體數(shù)據(jù)b所對應的媒體數(shù)據(jù)頭。
S108,判斷P2P網(wǎng)絡是否接受了所述媒體數(shù)據(jù)頭,如果沒有則執(zhí)行步驟S109;如果接收了所述媒體數(shù)據(jù)頭,則下一步執(zhí)行步驟S101,判斷下一個發(fā)送數(shù)據(jù)的時間片是否到了。
S109,發(fā)布源組織空媒體數(shù)據(jù)該P2P網(wǎng)絡,然后執(zhí)行步驟S101。
對于客戶端2來說,其功能是接收來自P2P網(wǎng)絡的媒體流數(shù)據(jù),并使用本地播放器4進行播放。其中,P2P模塊22的功能與發(fā)布源1中的P2P模塊的功能類似,其用于對數(shù)據(jù)播放模塊21和P2P網(wǎng)絡之間來往的數(shù)據(jù)利用P2P層協(xié)議進行解包或封裝操作,接收來自P2P網(wǎng)絡的數(shù)據(jù),對所述數(shù)據(jù)進行解包后發(fā)送到數(shù)據(jù)播放模塊21,接收來自數(shù)據(jù)播放模塊21的數(shù)據(jù),對所述數(shù)據(jù)進行封裝后發(fā)送到P2P網(wǎng)絡。而數(shù)據(jù)播放模塊21負責接收來自P2P模塊22的媒體數(shù)據(jù)頭和媒體數(shù)據(jù)包數(shù)據(jù),按照表一和表二的內(nèi)容對上述數(shù)據(jù)進行解析,從所述解析后的媒體數(shù)據(jù)頭中獲得所述媒體格式的相關信息,選擇播放器,將媒體數(shù)據(jù)發(fā)送到播放器中進行播放。
圖3所示為多媒體信息流的透傳方法中在客戶端2處的處理流程示意圖。其中,從P2P網(wǎng)絡傳送過來的媒體數(shù)據(jù)被嚴格按照[“媒體數(shù)據(jù)頭”+“媒體數(shù)據(jù)”+“媒體數(shù)據(jù)”+……]的格式交給客戶端2的數(shù)據(jù)播放模塊21。數(shù)據(jù)播放模塊21在首次接收到媒體數(shù)據(jù)頭時,會先根據(jù)媒體格式在本地選擇合適的播放器,并取出其中的傳統(tǒng)意義上的媒體數(shù)據(jù)頭交給播放器。然后,遵循時間的原則,數(shù)據(jù)播放模塊21接收來自P2P網(wǎng)絡的媒體數(shù)據(jù)包數(shù)據(jù),并進行緩存(如圖3中步驟S201到S203)。數(shù)據(jù)播放模塊21首先對所述媒體數(shù)據(jù)包數(shù)據(jù)進行簡單的分析后將這些數(shù)據(jù)交給播放器本身來解碼和播放(如步驟S204到S205)。
當數(shù)據(jù)播放模塊21收到P2P網(wǎng)絡推送過來的一個新的媒體數(shù)據(jù)頭時,表示上一個媒體數(shù)據(jù)已經(jīng)全部接受完畢。由于上一個媒體數(shù)據(jù)并不一定已經(jīng)播放完全,客戶端2沒有收到播放器發(fā)送的結束信號,所以數(shù)據(jù)播放模塊21將重新開辟一個數(shù)據(jù)緩沖區(qū)(如步驟S201到S202)來存儲新的媒體數(shù)據(jù)頭和其下面的媒體數(shù)據(jù)包數(shù)據(jù)。在播放器本身已經(jīng)將所有的媒體數(shù)據(jù)都播放完畢的時候,將通知數(shù)據(jù)播放模塊21(如步驟S206),這時數(shù)據(jù)播放模塊21會將當前播放的緩沖區(qū)清空,并對下一個緩沖區(qū)域的數(shù)據(jù)進行分析,然后根據(jù)其中存儲的媒體數(shù)據(jù)頭來確認是換一個播放器還是使用原來的播放器(如步驟S206到S205)。從而實現(xiàn)了客戶端2的多種媒體數(shù)據(jù)格式的自由轉換。
綜上所述,本發(fā)明可在P2P技術上實現(xiàn)多種碼流格式的傳輸,徹底解決P2P流媒體對于各種不同媒體格式的支持。
以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領域的技術人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的權利要求范圍之內(nèi)。
權利要求
1.多媒體信息流的透傳方法,其特征在于,發(fā)布源端執(zhí)行以下步驟A,獲得媒體數(shù)據(jù),對所述媒體數(shù)據(jù)進行分析后構建媒體數(shù)據(jù)頭,在發(fā)送時間片到達后發(fā)送所述媒體數(shù)據(jù)頭到點對點P2P網(wǎng)絡;B,在發(fā)送時間片到達且判斷所述媒體數(shù)據(jù)頭發(fā)送成功后構建媒體數(shù)據(jù)包數(shù)據(jù)并發(fā)送到P2P網(wǎng)絡。
2.根據(jù)權利要求1所述的多媒體信息流的透傳方法,其特征在于,所述媒體數(shù)據(jù)頭中除包括傳統(tǒng)意義上的媒體數(shù)據(jù)頭之外還至少包括下列中的一種數(shù)據(jù)頭長度、媒體播放類型、媒體視頻壓縮格式、媒體音頻壓縮格式、媒體數(shù)據(jù)包的時間和媒體數(shù)據(jù)包大小是否固定。
3.根據(jù)權利要求1或2所述的多媒體信息流的透傳方法,其特征在于,步驟B中,所述媒體數(shù)據(jù)包數(shù)據(jù)中除包括傳統(tǒng)意義上的媒體數(shù)據(jù)外還至少包括下列中的一種數(shù)據(jù)包長度、數(shù)據(jù)包的唯一標識、小包音頻數(shù)據(jù)個數(shù)、小包視頻數(shù)據(jù)個數(shù)。
4.根據(jù)權利要求1所述的多媒體信息流的透傳方法,其特征在于,步驟B進一步包括B1,在發(fā)送時間片到達、且判斷所述媒體數(shù)據(jù)頭發(fā)送失敗后,繼續(xù)發(fā)送所述媒體數(shù)據(jù)頭到P2P網(wǎng)絡,如果所述媒體數(shù)據(jù)頭發(fā)送失敗則發(fā)送空媒體數(shù)據(jù)給P2P網(wǎng)絡。
5.根據(jù)權利要求1所述的多媒體信息流的透傳方法,其特征在于,進一步包括步驟C,在發(fā)送時間片到達、且判斷所述媒體數(shù)據(jù)頭發(fā)送成功后,判斷所述媒體數(shù)據(jù)是否已經(jīng)發(fā)送完,如果沒有,構建媒體數(shù)據(jù)包數(shù)據(jù)并發(fā)送到P2P網(wǎng)絡。
6.根據(jù)權利要求5所述的多媒體信息流的透傳方法,其特征在于步驟C中,如果判斷所述媒體數(shù)據(jù)已經(jīng)全部發(fā)送完,則判斷是否有新的待發(fā)布的媒體數(shù)據(jù),如果有則對所述媒體數(shù)據(jù)進行分析后構建新的媒體數(shù)據(jù)頭并發(fā)送到P2P網(wǎng)絡;否則組織空包并發(fā)送到P2P網(wǎng)絡。
7.根據(jù)權利要求2所述的多媒體信息流的透傳方法,其特征在于,客戶端執(zhí)行以下步驟D1,接收來自P2P網(wǎng)絡的媒體數(shù)據(jù)頭;D2,對所述媒體數(shù)據(jù)頭進行解析,選擇播放器,并將所述傳統(tǒng)意義上的媒體數(shù)據(jù)頭發(fā)送到所述播放器;D3,接收來自P2P網(wǎng)絡的媒體數(shù)據(jù)包數(shù)據(jù)并進行解析后發(fā)送到所述播放器進行播放。
8.根據(jù)權利要求7所述的多媒體信息流的透傳方法,其特征在于,在客戶端進一步包括步驟E1,所述客戶端接收來自P2P網(wǎng)絡的媒體數(shù)據(jù),如果接收到媒體數(shù)據(jù)頭,則執(zhí)行E2,如果收到媒體數(shù)據(jù)包數(shù)據(jù),則執(zhí)行E3;E2,重新開辟一個數(shù)據(jù)緩沖區(qū)域,并將接收到的新的媒體數(shù)據(jù)頭存儲在所述緩沖區(qū)中;重復執(zhí)行E1;E3,將接收到的媒體數(shù)據(jù)放在最新的緩沖區(qū)域中,并判斷該緩沖區(qū)域是否正在播放,如果是,則執(zhí)行E1,否則執(zhí)行E4;E4,判斷當前播放的媒體數(shù)據(jù)是否已經(jīng)播放完畢,如果是則執(zhí)行E5,否則執(zhí)行E1;E5將當前播放的緩沖區(qū)清空,并將下一個緩沖區(qū)域的數(shù)據(jù)開始播放。
9.多媒體信息流的透傳系統(tǒng),包括通過P2P網(wǎng)絡相連的發(fā)布源和客戶端,其特征在于所述發(fā)布源包括數(shù)據(jù)采集模塊、組包模塊和P2P模塊;所述數(shù)據(jù)采集模塊用于獲得媒體數(shù)據(jù),對所述媒體數(shù)據(jù)進行分析以獲得其媒體格式的相關信息,根據(jù)所述媒體格式的相關信息構建媒體數(shù)據(jù)頭和媒體數(shù)據(jù)包數(shù)據(jù)并發(fā)送到所述P2P模塊;所述P2P模塊用于接收來自所述數(shù)據(jù)采集模塊的數(shù)據(jù),對所述數(shù)據(jù)進行封裝后發(fā)送到P2P網(wǎng)絡,接收來自P2P網(wǎng)絡的數(shù)據(jù),對所述數(shù)據(jù)解包后發(fā)送到所述數(shù)據(jù)采集模塊。
10.根據(jù)權利要求9所述的多媒體信息流的透傳系統(tǒng),其特征在于所述客戶端包括P2P模塊和數(shù)據(jù)播放模塊;所述P2P模塊用于接收來自P2P網(wǎng)絡的數(shù)據(jù),對所述數(shù)據(jù)進行解包后發(fā)送到所述數(shù)據(jù)播放模塊;所述數(shù)據(jù)播放模塊用于對接收到的數(shù)據(jù)進行解析,從媒體數(shù)據(jù)頭中獲得所述媒體格式的相關信息,選擇播放器,將媒體數(shù)據(jù)發(fā)送到播放器中進行播放。
全文摘要
本發(fā)明公開了一種多媒體信息流的透傳方法,其中,發(fā)布源端執(zhí)行以下步驟獲得媒體數(shù)據(jù),對所述媒體數(shù)據(jù)進行分析后構建媒體數(shù)據(jù)頭,在發(fā)送時間片到達后發(fā)送所述媒體數(shù)據(jù)頭到點對點P2P網(wǎng)絡;在發(fā)送時間片到達且判斷所述媒體數(shù)據(jù)頭發(fā)送成功后構建媒體數(shù)據(jù)包數(shù)據(jù)并發(fā)送到P2P網(wǎng)絡。本發(fā)明還公開了一種多媒體信息流的透傳系統(tǒng)。本發(fā)明可在P2P技術上實現(xiàn)多種碼流格式的傳輸,徹底解決P2P流媒體對于各種不同媒體格式的支持,不但能夠實現(xiàn)多媒體信息流的透傳、rm文件透傳、也能實現(xiàn)自主編碼格式的透傳。使得P2P層感覺在它之上的流媒體層是透明的,且多種碼流格式的傳輸對播放器本身不造成任何影響。
文檔編號H04L29/06GK101079871SQ20061012261
公開日2007年11月28日 申請日期2006年9月29日 優(yōu)先權日2006年9月29日
發(fā)明者劉一蘭, 吳波, 張寶和, 方斌, 張志東 申請人:騰訊科技(深圳)有限公司