專利名稱:接收基于網(wǎng)絡(luò)傳輸協(xié)議的流媒體數(shù)據(jù)的方法及終端的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及移動多媒體廣播系統(tǒng),具體涉及接收基于網(wǎng)絡(luò)傳輸協(xié)議的流 媒體數(shù)據(jù)的方法及終端。
背景技術(shù):
在數(shù)字電視廣播、移動多媒體技術(shù)領(lǐng)域中存在大量音視頻數(shù)據(jù)的傳輸需 求,例如實時賽事直播、在線電影視播放、滾動新聞播報等。流J!某體技術(shù)因 其實時播放的特點,成為音視頻技術(shù)的一種重要技術(shù)手段?,F(xiàn)有廣播系統(tǒng)中,通常采用復(fù)用方式傳輸音^L頻數(shù)據(jù),廣播信道幀由多 個復(fù)用幀構(gòu)成,每一復(fù)用幀又由復(fù)用包頭、 一個或多個復(fù)用子幀和填充組成。 如圖l所示,每一復(fù)用子幀又由子包頭、視頻段、音頻段和數(shù)據(jù)段組成,其 中,在子包頭中又包含一些控制信息及保留位。通常,l個復(fù)用子幀是l套視音頻節(jié)目的1秒數(shù)據(jù)碼流,其中,視頻碼流大小為384kbit,音頻碼流大 小為64kbit?;诂F(xiàn)有的復(fù)用幀結(jié)構(gòu),對于流媒體數(shù)據(jù)通常需要進行拆解重裝,對流 媒體數(shù)據(jù)包的標(biāo)準(zhǔn)格式進行改造。例如,對于RTP(實時傳輸協(xié)議,Real-time Transport Protocol)格式的流媒體處理方式中,通常需要拆掉原有RTP封裝 格式,重新組裝成現(xiàn)有復(fù)用幀凈荷,其中,復(fù)用塊與RTP包進行對應(yīng),負 載頭格式存在轉(zhuǎn)換關(guān)系。對于其它格式的音視頻數(shù)據(jù),例如WINDOWS流 媒體wmv、或asf等格式的流媒體數(shù)據(jù),同樣需要進行改造后,再進行封裝 組幀,而處理方式則不盡相同。在廣播系統(tǒng)中對流媒體業(yè)務(wù)數(shù)據(jù)進行傳輸時,對各種標(biāo)準(zhǔn)的流媒體數(shù)據(jù) 需要進行改造,破壞固有的數(shù)據(jù)格式, 一方面,在廣播發(fā)射端額外增加了處 理過程;另一方面,在接收端還需要對流媒體數(shù)據(jù)進行重裝還原,而且對于 不同的流媒體數(shù)據(jù)格式必須開發(fā)相應(yīng)的i某體播;故器,這樣增加了處理時間、 給終端造成額外負擔(dān),增加終端本身的技術(shù)復(fù)雜度,而且無法充分利用已有 的標(biāo)準(zhǔn)流媒體播放軟件。因此,隨著廣播系統(tǒng)中技術(shù)的快速發(fā)展以及不斷演進,需要一種兼容性 更高、擴展性更好、簡便統(tǒng)一的流媒體數(shù)據(jù)傳輸技術(shù)和終端,以適用多種流 媒體數(shù)據(jù)的廣播傳輸,使得廣播系統(tǒng)中數(shù)據(jù)傳輸質(zhì)量更高、確保數(shù)據(jù)正確及高效,更具通用性并具有良好的可擴展性,以適應(yīng)移動多媒體廣播系統(tǒng)的演 進發(fā)展。發(fā)明內(nèi)容本發(fā)明要解決的技術(shù)問題是提供一種接收基于網(wǎng)絡(luò)傳輸協(xié)議的流媒體 數(shù)據(jù)的方法及終端,使得終端通過調(diào)用標(biāo)準(zhǔn)的流媒體配置文件,就可以使用 標(biāo)準(zhǔn)的流媒體播放軟件實現(xiàn)流媒體數(shù)據(jù)的播放,解決了需要為終端設(shè)備單獨 開發(fā)媒體播放器的問題,提高了系統(tǒng)的兼容性。為了解決上述技術(shù)問題,本發(fā)明提供了一種能接收基于網(wǎng)絡(luò)傳輸協(xié)議的流媒體數(shù)據(jù)的終端,包括接收模塊、應(yīng)用模塊;所述接收模塊用于從廣播網(wǎng) 絡(luò)接收廣播數(shù)據(jù),所述應(yīng)用模塊用于處理接收的數(shù)據(jù);其特征在于,還包括 網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換模塊;所述接收模塊從廣播網(wǎng)絡(luò)接收的廣播數(shù)據(jù)包括基于網(wǎng)絡(luò)傳輸協(xié)議的流 :煤體幀;所述網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換模塊用于將接收模塊鏈接到的終端相應(yīng)總線上;還用 于獲取接收模塊所接收到的廣播數(shù)據(jù),并將接收到的廣播數(shù)據(jù)中的流媒體數(shù) 據(jù)構(gòu)造為IP包并發(fā)送到終端里的TCP/IP層;所述應(yīng)用模塊用于透過TCP/IP層獲取用戶數(shù)據(jù)報協(xié)議UDP包并播放。進一步的,所述網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換模塊將接收模塊鏈接到的終端相應(yīng)總線上 是指網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換模塊通過網(wǎng)絡(luò)驅(qū)動器接口標(biāo)準(zhǔn)所提供的"獲取物理設(shè)備,, 的接口函數(shù)將接收模塊鏈接到終端的相應(yīng)總線上。進一步的,所述網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換模塊將接收到的廣播數(shù)據(jù)中的流媒體數(shù)據(jù)
構(gòu)造為IP包并發(fā)送到TCP/IP層是指網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換模塊對接收到的廣播數(shù)據(jù)進行解析,其中基于網(wǎng)絡(luò)傳輸協(xié) 議的流媒體幀如果為IP數(shù)據(jù)包則直接使用,如為UDP數(shù)據(jù)包則按照IP協(xié) 議進行封包,如都不是則將其中的流J 某體數(shù)據(jù)包按UDP協(xié)議封包后再按IP 協(xié)議封包;最后通過網(wǎng)絡(luò)驅(qū)動器接口標(biāo)準(zhǔn)所提供的TCP/IP接口發(fā)送到終端 里的TCP/IP層。進一步的,所述應(yīng)用模塊播放UDP包是指所述應(yīng)用模塊保存收發(fā)雙 方約定的目標(biāo)端口號與流媒體播放軟件的對應(yīng)關(guān)系,并根據(jù)該對應(yīng)關(guān)系,用 UDP包頭中的目標(biāo)端口號所對應(yīng)的標(biāo)準(zhǔn)流媒體播放軟件來播放UDP包中的 流媒體數(shù)據(jù)。進一步的,所述網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換模塊包括數(shù)據(jù)獲取子模塊、提取流媒體 包子模塊、IP封包子模塊及網(wǎng)絡(luò)協(xié)議接口;所述數(shù)據(jù)獲取子模塊用于將接收模塊鏈接到的終端相應(yīng)總線上,還用于 向接收模塊請求所接收的廣播數(shù)據(jù),并將接收模塊發(fā)送來的廣播數(shù)據(jù)轉(zhuǎn)發(fā)給 提取流媒體包子模塊;所述提取流媒體包子模塊用于將廣播數(shù)據(jù)中的流媒體幀提取出來并發(fā) 給IP封包子模塊;所述IP封包子模塊用于將流媒體數(shù)據(jù)封裝成IP包,將目標(biāo)IP地址設(shè)置 為所述網(wǎng)絡(luò)協(xié)議接口生成的IP地址,并在封包后往目標(biāo)IP地址發(fā)送。所述網(wǎng)絡(luò)協(xié)議接口用于在上電后生成本接口的IP地址并通知IP封包子 模塊;還用于提供與終端里的TCP/IP層的接口 。進一步的,所述應(yīng)用模塊通過網(wǎng)絡(luò)協(xié)議接口從TCP/IP層獲取UDP包。本發(fā)明還提供了一種網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換模塊,其特征在于,包括數(shù)據(jù)獲取 子模塊、提取流媒體包子模塊、IP封包子模塊及網(wǎng)絡(luò)協(xié)議接口;所述數(shù)據(jù)獲取子模塊用于將接收模塊鏈接到的終端相應(yīng)總線上,還用于 向接收模塊請求所接收的廣播數(shù)據(jù),并將接收模塊發(fā)送來的廣播數(shù)據(jù)轉(zhuǎn)發(fā)給 提取流媒體包子模塊;
所述提取流媒體包子模塊用于將廣播數(shù)據(jù)中的流媒體幀提取出來并發(fā)給IP封包子模塊;所述IP封包子模塊用于將流媒體數(shù)據(jù)封裝成IP包,將目標(biāo)IP地址設(shè)置 為所述網(wǎng)絡(luò)協(xié)議接口生成的IP地址,并在封包后往目標(biāo)IP地址發(fā)送。所述網(wǎng)絡(luò)協(xié)議接口用于在上電后生成本接口的IP地址并通知IP封包子 模塊;還用于提供與終端里的TCP/IP層的接口。進一步的,所述數(shù)據(jù)獲取子模塊將接收模塊鏈接到的終端相應(yīng)總線上是指數(shù)據(jù)獲取子模塊通過網(wǎng)絡(luò)驅(qū)動器接口標(biāo)準(zhǔn)所提供的"獲取物理設(shè)備,,的 接口函數(shù)將接收模塊鏈接到終端的相應(yīng)總線上。進一步的,所述IP封包子模塊將流媒體數(shù)據(jù)封裝成IP包是指基于網(wǎng)絡(luò)傳輸協(xié)議的流媒體幀如果為IP數(shù)據(jù)包則直接使用,如為UDP 數(shù)據(jù)包則按照IP協(xié)議進行封包,如都不是則將其中的流媒體數(shù)據(jù)包按UDP 協(xié)議封包后再按IP協(xié)議封包。本發(fā)明還提供了 一種從廣播網(wǎng)絡(luò)接收基于網(wǎng)絡(luò)傳輸協(xié)議的流力某體數(shù)據(jù) 的方法,其特征在于,包括A、 保存收發(fā)雙方約定的目標(biāo)端口號與流媒體播放軟件的對應(yīng)關(guān)系;B、 獲取廣播數(shù)據(jù);C、 將接收到的廣播數(shù)據(jù)中的流媒體數(shù)據(jù)構(gòu)造成IP包,并發(fā)送到終端里 的TCP/IP層;D、 終端透過TCP/IP層獲取到UDP包并播放。進一步的,所述步驟A中還包括通過網(wǎng)絡(luò)驅(qū)動器接口標(biāo)準(zhǔn)所提供的"獲 取物理設(shè)備"的接口函數(shù)將接收模塊鏈接到終端里的相應(yīng)總線上。進一步的,所述步驟C具體包括對接收到的廣播數(shù)據(jù)進行解析,其中 基于網(wǎng)絡(luò)傳輸協(xié)議的流媒體幀如果為IP數(shù)據(jù)包則直接使用,如為UDP數(shù)據(jù) 包則按照IP協(xié)議進行封包,如都不是則將其中的流媒體數(shù)據(jù)包按UDP協(xié)議
封包后再按IP協(xié)議封包;最后通過網(wǎng)絡(luò)驅(qū)動器接口標(biāo)準(zhǔn)所提供的TCP/IP接 口發(fā)送到終端里的TCP/IP層。進一步的,所述步驟D中根據(jù)步驟A中保存的對應(yīng)關(guān)系,用UDP包 頭中的目標(biāo)端口號所對應(yīng)的標(biāo)準(zhǔn)流媒體播放軟件來播放UDP包中的流媒體 數(shù)據(jù)。進一步的,所述步驟A中還包括網(wǎng)絡(luò)協(xié)議接口生成本接口的IP地址 并通知IP封包子模塊;所述步驟B具體包括接收模塊接收廣播數(shù)據(jù);數(shù)據(jù)獲取子模塊向接收 模塊請求所接收的廣播數(shù)據(jù),并將接收模塊發(fā)送來的廣播數(shù)據(jù)轉(zhuǎn)發(fā)給提取流媒體包子模塊;所述步驟C具體包括Cl、提取流媒體包子模塊將接收到的廣播數(shù)據(jù)進行解析,將其中的基于 網(wǎng)絡(luò)傳輸協(xié)議的流媒體幀提取出來并發(fā)給IP封包子模塊;C2、 IP封包子模塊構(gòu)造IP包,將目標(biāo)IP地址設(shè)置為所述網(wǎng)絡(luò)協(xié)議接口 生成的IP地址,并在封包后往目標(biāo)IP地址發(fā)送;即發(fā)往網(wǎng)絡(luò)協(xié)議接口 。進一步的,所述步驟C2中,IP封包子模塊構(gòu)造IP包是指所述流媒體 幀如果為IP數(shù)據(jù)包則直接使用,如為UDP數(shù)據(jù)包則按照IP協(xié)議進行封包, 如都不是則將其中的流々某體數(shù)據(jù)包按UDP協(xié)議封包后再按IP協(xié)議封包。進一步的,所述步驟D中應(yīng)用模塊通過網(wǎng)絡(luò)協(xié)議接口從TCP/IP層獲 取到UDP包并播放。本發(fā)明的技術(shù)方案使終端可以接收基于網(wǎng)絡(luò)傳輸協(xié)議的流媒體數(shù)據(jù),并 且通過現(xiàn)有已經(jīng)成熟的播放軟件就可以很好的實現(xiàn)流媒體數(shù)據(jù)的播放和電 子節(jié)目指南、緊急廣播等多項數(shù)據(jù)服務(wù)顯示的功能。
圖l是現(xiàn)有技術(shù)中的一種廣播復(fù)用幀結(jié)枸示意圖2為本發(fā)明提供的能接收基于網(wǎng)絡(luò)傳輸協(xié)議的流々某體數(shù)據(jù)的終端的具體實施框圖;圖3為本發(fā)明提供的網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換模塊的具體實施框圖;圖4為本發(fā)明提供的接收基于網(wǎng)絡(luò)傳輸協(xié)議的流J!某體數(shù)據(jù)的方法的具 體實施流程圖。
具體實施方式
下面將結(jié)合附圖及實施例對本發(fā)明的技術(shù)方案進行更詳細的說明。針對于現(xiàn)有技術(shù)中存在的問題,要采用一種新的傳輸技術(shù)進行流媒體業(yè) 務(wù)數(shù)據(jù)的傳輸,其核心思想是在進行流媒體業(yè)務(wù)數(shù)據(jù)傳輸時,不改變流媒體 業(yè)務(wù)數(shù)據(jù)自身固有的標(biāo)準(zhǔn)格式,即不對流々某體編碼器所輸出的流媒體數(shù)據(jù)包 進行修改,保持其自身的數(shù)據(jù)格式,直接以流媒體數(shù)據(jù)包自身固有的格式放 入基于網(wǎng)絡(luò)傳輸協(xié)議的流媒體幀中,將所有流媒體業(yè)務(wù)都以基于網(wǎng)絡(luò)傳輸協(xié) 議的流媒體幀模式進行廣播傳輸。所述傳輸技術(shù)在發(fā)射端的過程包括首先由音視頻編碼器對音視頻數(shù)據(jù) 進行編碼,將模擬/或數(shù)字的音視頻數(shù)據(jù)轉(zhuǎn)換后,輸出為相應(yīng)編碼格式的音 視頻數(shù)據(jù)包,對于流媒體業(yè)務(wù)傳輸,則輸出對應(yīng)格式的流媒體數(shù)據(jù)包;然后 對該流媒體數(shù)據(jù)包進行封裝處理,生成流媒體幀,在幀頭中加入相關(guān)幀頭信 息,并將該流媒體幀發(fā)送至調(diào)制器進行調(diào)制后,送至發(fā)射機發(fā)送給廣播系統(tǒng) 的無線接收終端,實現(xiàn)廣播系統(tǒng)中流J 某體業(yè)務(wù)數(shù)據(jù)的無線廣插—專輸。所述幀頭信息包括長度(Length)、目標(biāo)端口 ( Dst Port)、校驗和 (Checksum)。其中所述長度信息,用于指示該流^^某體幀的長度信息;所述目標(biāo)端口,是用于區(qū)分不同節(jié)目的參數(shù)。例如,可將目標(biāo)端口設(shè)置 為指示節(jié)目的信息,可將目標(biāo)端口設(shè)置為8000,表示該流々某體幀中攜帶的 是用于節(jié)目1的流々某體數(shù)據(jù);可將目標(biāo)端口設(shè)置為8004,表示該流^ 某體幀 中攜帶的是用于節(jié)目2的流媒體數(shù)據(jù);所述校驗和,是用于判斷流媒體數(shù)據(jù)是否正確的信息,是根據(jù)流媒體數(shù)
據(jù)內(nèi)容計算生成的。在終端接收到流媒體幀后,會先根據(jù)流媒體數(shù)據(jù)內(nèi)容來 計算校驗和,并與此數(shù)據(jù)段進行對比,如果不一致則放棄對幀的使用。此外,在幀頭中通常還包括一個幀起始標(biāo)志位,以便于終端查找接收。 本發(fā)明針對上述傳輸技術(shù)提供了相應(yīng)的接收方法和終端,其核心思想是在包含操作系統(tǒng)的終端里,通過加入網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換模塊,將該模塊模擬 成一個單向接收數(shù)據(jù)的網(wǎng)卡設(shè)備,接收通過廣播網(wǎng)絡(luò)發(fā)送過來的基于網(wǎng)絡(luò)傳輸協(xié)議的流媒體幀一一如音視頻數(shù)據(jù)等,并將所接收到的數(shù)據(jù)進行處理,將 其中的流媒體數(shù)據(jù)包組成網(wǎng)絡(luò)傳輸?shù)腎P包,傳輸?shù)浇K端里的TCP/IP協(xié)議層。 所述終端里的操作系統(tǒng)可以但不限于為windows系列平臺(包括xp、 2000 等)或嵌入式操作系統(tǒng)(包括ce、 mobile等)。所述網(wǎng)絡(luò)傳輸協(xié)議包括RTP(Real-time Transport Protocol,實時傳llr協(xié)i義)協(xié)議或WMV( Windows Media Video,微軟流媒體格式)協(xié)議等,即所述流媒體數(shù)據(jù)可以是RTP包或WMV 包或其它格式的音視頻數(shù)據(jù)包,例如RM、 RSTP、 ASF、 FLV等格式。所述 接收模塊可以是采用任意接口的,比如USB (Universal Serial Bus,通用串 行總線)、或SDIO( SAVE DIGITAL IN/OUT,安全數(shù)字輸入輸出)、或PCMCIA(PERSONAL COMPUTER MEMORY CARD INTERNATIONAL ASSOCIATION,個人電腦存儲卡國際協(xié)會)。本發(fā)明提供了 一種能接收基于網(wǎng)絡(luò)傳輸協(xié)議的流媒體數(shù)據(jù)的終端,如圖 2所示,包括接收模塊、網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換模塊,應(yīng)用模塊。本發(fā)明實施例所述的接收模塊用于從廣播網(wǎng)絡(luò)接收廣播數(shù)據(jù);本發(fā)明實施例所述的接收模塊所接收的廣^^數(shù)據(jù)包括基于網(wǎng)絡(luò)傳輸協(xié) 議的流媒體幀;本發(fā)明實施例所述的接收模塊可以但不限于為數(shù)字電視接收模塊;本發(fā)明實施例所述的接收模塊可以直接內(nèi)嵌于終端,也可以存在于終端 的外部,在需要時插入終端。本發(fā)明實施例所述的網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換模塊用于將接收模塊鏈接到的終端
相應(yīng)總線上;還用于獲取接收模塊所接收到的廣播數(shù)據(jù),并將所獲取的廣播 數(shù)據(jù)中的流媒體幀里的流媒體數(shù)據(jù)包構(gòu)造為IP包并發(fā)送到終端里的TCP/IP層。在這里,i兌明一下所構(gòu)造出的IP包的結(jié)構(gòu),其包含一個IP包頭和一個 UDP (User Datagram Protocol,用戶教:據(jù)才艮協(xié)議)包;IP的包頭用來指示該 數(shù)據(jù)包的源、目的地址。所述UDP包中包括一個UDP包頭以及流々某體數(shù)據(jù) 內(nèi)容的負載,UDP包頭用來表示該流媒體數(shù)據(jù)所占用的端口;流媒體數(shù)據(jù) 內(nèi)容可能是RTP包或者WMV包或其它格式的音視頻數(shù)據(jù)包,例如RM、 RSTP、 ASF、 FLV等格式。本發(fā)明實施例所述的網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換模塊將接收模塊鏈接到的終端相應(yīng) 總線上可以但不限于是指網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換才莫塊通過NDIS ( Network Driver Interface Standard,網(wǎng)絡(luò)驅(qū)動器接口標(biāo)準(zhǔn))所提供的"獲取物理設(shè)備"的接口 函數(shù)將接收模塊鏈接到終端的相應(yīng)總線上;本發(fā)明實施例所述的總線可以包括USB總線、PCMCIA總線、或SDIO 總線等,根據(jù)接收模塊采用的接口而定;本發(fā)明實施例所述的網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換模塊獲取接收模塊所接收到的廣播 數(shù)據(jù)可以但不限于是指網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換模塊通過向USB、或PCMCIA、或 SDIO的物理總線發(fā)送請求來獲取接收模塊所接收到的廣播數(shù)據(jù);本發(fā)明實施例所述的網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換模塊將接收到的廣播數(shù)據(jù)中的流媒 體數(shù)據(jù)構(gòu)造為IP包并發(fā)送到TCP/IP層可以但不限于是指網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換才莫 塊對接收到的廣播數(shù)據(jù)進行解析,其中的基于網(wǎng)絡(luò)傳輸協(xié)議的流媒體幀如果 為IP數(shù)據(jù)包則直接使用,如為UDP數(shù)據(jù)包則按照IP協(xié)議進行封包,如都 不是則將其中的流媒體數(shù)據(jù)包按UDP協(xié)議封包后再按IP協(xié)議封包;最后通 過NDIS所提供的TCP/IP接口發(fā)送到終端里的TCP/IP層;本發(fā)明實施例所 述的按照IP協(xié)議進行封包即將UDP包前加上IP包頭;本發(fā)明實施例所述 的按照UDP協(xié)議進行封包即將將流媒體數(shù)據(jù)包加上UDP包頭,其中目標(biāo)端 口號與接收的流^(某體幀中幀頭信息里的目標(biāo)端口 一致。本發(fā)明實施例所述的網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換模塊,如圖3所示,包括數(shù)據(jù)獲取 子模塊、提取流媒體包子模塊、IP封包子模塊及網(wǎng)絡(luò)協(xié)議接口。
本發(fā)明實施例所述的數(shù)據(jù)獲取子模塊用于將接收模塊鏈接到的終端相應(yīng)總線上,還用于通過USB、 PCMCIA、 SDIO等類型的數(shù)據(jù)接口,向接收 模塊請求所接收的廣播數(shù)據(jù),并將接收模塊發(fā)送來的廣播數(shù)據(jù)轉(zhuǎn)發(fā)給提取流 媒體包子模塊。本發(fā)明實施例所述的提取流媒體包子模塊用于根據(jù)幀頭信息將廣播數(shù) 據(jù)中的流媒體幀提取出來并發(fā)給IP封包子模塊。本發(fā)明實施例所述的IP封包子模塊用于將流媒體數(shù)據(jù)封裝成IP包并發(fā) 送給所述網(wǎng)絡(luò)協(xié)議接口;具體做法可以但不限于是將目標(biāo)IP地址設(shè)置為 所述網(wǎng)絡(luò)協(xié)議接口生成的IP地址,并在封包后往目標(biāo)IP地址發(fā)送。封裝IP 包具體是指基于網(wǎng)絡(luò)傳輸協(xié)議的流媒體幀如果為IP數(shù)據(jù)包則直接使用, 如為UDP數(shù)據(jù)包則按照IP協(xié)議進行封包,如都不是則將其中的流媒體數(shù)據(jù) 包按UDP協(xié)議封包后再按IP協(xié)議封包;本發(fā)明實施例所述的按照IP協(xié)議 進行封包即將UDP包前加上IP包頭;本發(fā)明實施例所述的按照UDP協(xié)議 進行封包即將流媒體數(shù)據(jù)包加上UDP包頭,其中目標(biāo)端口號與接收的流媒 體幀中幀頭信息里的目標(biāo)端口 一致。本發(fā)明實施例所述的網(wǎng)絡(luò)協(xié)議接口用于提供與終端里的TCP/IP層的接 口 ,可以但不限于是NDIS所提供的TCP/IP接口 ;當(dāng)所述IP封包子模塊通 過設(shè)置目標(biāo)IP地址的方式發(fā)送IP數(shù)據(jù)包給網(wǎng)絡(luò)協(xié)議接口時,該網(wǎng)絡(luò)協(xié)議接 口還用于在上電后生成本接口的IP地址并通知IP封包子模塊。本發(fā)明實施例所述的應(yīng)用模塊用于透過TCP/IP層獲取UDP包并播放。本發(fā)明實施例所述的應(yīng)用模塊透過TCP/IP層獲取到UDP包可以但不限 于是指應(yīng)用模塊中的搡作系統(tǒng)通過網(wǎng)絡(luò)協(xié)議接口從TCP/IP層獲取到UDP 包,進而獲得RTP包或WMV包或其它格式的音視頻數(shù)據(jù)包,例如RM、 RSTP、 ASF、 FLV等格式;本發(fā)明實施例所述的操作系統(tǒng)可以是windows 系列平臺或windows嵌入式才喿作系統(tǒng)。本發(fā)明實施例所述的應(yīng)用模塊播放UDP包可以但不限于是指應(yīng)用模 塊中保存流媒體數(shù)據(jù)中目標(biāo)端口號與流媒體播放軟件的對應(yīng)關(guān)系,采用UDP
包頭中的目標(biāo)端口號所對應(yīng)的標(biāo)準(zhǔn)流媒體播放軟件來播放UDP包中的流媒體數(shù)據(jù)??梢缘幌抻谟昧髅襟w配置文件來指示流媒體數(shù)據(jù)中目標(biāo)端口號與流媒體播放軟件的對應(yīng)關(guān)系,比如端口號8000對應(yīng)于音頻播放軟件,端口 號8002對應(yīng)于視頻播放軟件;該文件為收發(fā)兩端預(yù)先約定的。本發(fā)明實施例所述的標(biāo)準(zhǔn)流A某體播放軟件包括QUICKTIME、 VLC PLAYER、 MEDIA PLAYER等。由此,終端可以播放基于網(wǎng)絡(luò)傳輸協(xié)議的流媒體數(shù)據(jù)流,如RTP格式 數(shù)據(jù)、WMV格式數(shù)據(jù)等。本發(fā)明還提供了一種網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換模塊,如上文所述,這里不再贅述。本發(fā)明還提供了 一種從廣播網(wǎng)絡(luò)接收基于網(wǎng)絡(luò)傳輸協(xié)議的流媒體數(shù)據(jù) 的方法,如圖4所示,包括以下步驟A、 保存收發(fā)雙方約定目標(biāo)端口號與流媒體播放軟件的對應(yīng)關(guān)系。本發(fā)明實施例所述的步驟A中,可以但不限于把所述對應(yīng)關(guān)系保存在 應(yīng)用模塊中的流媒體配置文件里。本發(fā)明實施例所述的步驟A中還可以包括,網(wǎng)絡(luò)協(xié)議接口生成本接口 的IP地址并通知IP封包子模塊。本發(fā)明實施例所述的步驟A中還可以包括將接收模塊鏈接到終端里 的相應(yīng)總線上;具體可以但不限于為網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換模塊中的數(shù)據(jù)獲取子模 塊通過NDIS所提供的"獲取物理設(shè)備"的接口函數(shù)進行鏈接;本發(fā)明實施例 所述的總線可以包括USB總線、PCMCIA總線、或SDIO總線等,根據(jù)接 收模塊采用的接口而定。B、 獲取廣播數(shù)據(jù);本發(fā)明實施例所述的步驟B具體可以但不限于包括:接收模塊從廣播網(wǎng) 絡(luò)中接收廣播數(shù)據(jù);網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換模塊中的數(shù)據(jù)獲取子模塊通過向USB、 或PCMCIA、或SDIO的物理總線發(fā)送請求給接收模塊;接收模塊收到請求 后,將所接收到的廣播數(shù)據(jù)發(fā)送給數(shù)據(jù)獲取子模塊。數(shù)據(jù)獲取子模塊將所接
收到的廣播數(shù)據(jù)轉(zhuǎn)發(fā)給提取流媒體包子模塊。C、 將接收到的廣播數(shù)據(jù)中的流媒體數(shù)據(jù)構(gòu)造成IP包,并發(fā)送到終端里的TCP/IP層;本發(fā)明實施例所述的步驟C具體可以但不限于包括Cl 、網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換模塊中的提取流媒體包子模塊將接收到的廣播數(shù)據(jù)進 行解析,將其中的基于網(wǎng)絡(luò)傳輸協(xié)議的流媒體幀提取出來并發(fā)給網(wǎng)絡(luò)協(xié)議轉(zhuǎn) 換模塊中的IP封包子模塊;C2、 IP封包子模塊構(gòu)造IP包并發(fā)往網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換模塊中的網(wǎng)絡(luò)協(xié)議接本發(fā)明實施例所述的的步驟C2具體包括:IP封包子模塊構(gòu)造IP包并將 目標(biāo)IP地址設(shè)置為所述網(wǎng)絡(luò)協(xié)議接口生成的IP地址,并在封包后往目標(biāo)IP 地址發(fā)送;即發(fā)往網(wǎng)絡(luò)協(xié)議接口 。本發(fā)明實施例所述的步驟C2中IP封包子模塊構(gòu)造IP包具體是指如 果所述流媒體幀的就是IP數(shù)據(jù)包則直接使用,如果是UDP數(shù)據(jù)包則按照IP 協(xié)議進行封包;如都不是則將其中的流々某體數(shù)據(jù)包按UDP協(xié)議封包后再按 IP協(xié)議封包;本發(fā)明實施例所述的按照IP協(xié)議進行封包即將UDP包前加上 IP包頭;本發(fā)明實施例所述的按照UDP協(xié)議進行封包即將將流i某體數(shù)據(jù)包 加上UDP包頭,其中目標(biāo)端口號與接收的流媒體幀中幀頭信息里的目標(biāo)端 口一致。D、 終端透過TCP/IP層獲取到UDP包并播放;本發(fā)明實施例所述的步驟D中,可以但不限于由應(yīng)用模塊通過windows 系列平臺或windows嵌入式操作系統(tǒng)來通過所述網(wǎng)絡(luò)協(xié)議接口從TCP/IP層 獲取到UDP包,進而獲得RTP包或WMV包或其它格式的音視頻數(shù)據(jù)包, 例如RM、 RSTP、 ASF、 FLV等格式;本發(fā)明實施例所述的步驟D具體可以但不限于為應(yīng)用模塊根據(jù)所述 流媒體配置文件,采用UDP包頭中的目標(biāo)端口號所對應(yīng)的標(biāo)準(zhǔn)流媒體播放 軟件來播放UDP包中的流媒體數(shù)據(jù)。本發(fā)明實施例所述的標(biāo)準(zhǔn)流媒體播放軟件包括QUICKTIME, VLCPLAYER、 MEDIA PLAYER等。下面用 一個應(yīng)用實例進一步說明本發(fā)明。本應(yīng)用實例中,終端采用WINDOWS XP操作系統(tǒng),接收沖莫塊為一個 USB接口的廣播信號接收設(shè)備,該接收模塊與網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換模塊作為一個 整體被操作系統(tǒng)識別為一個網(wǎng)絡(luò)適配器設(shè)備。根據(jù)收發(fā)雙方的約定將對應(yīng)于 音頻播放軟件的端口號設(shè)置為8000,對應(yīng)于視頻播放軟件的端口號設(shè)置為 8002,并將該設(shè)置保存在應(yīng)用模塊中的流々某體配置文件里。網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換模 塊中的網(wǎng)絡(luò)協(xié)議接口的IP地址設(shè)置為192.168.1.100,那么對于操作系統(tǒng)而 言,所述網(wǎng)絡(luò)適配器的IP地址就是192.168.1.100。網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換模塊通過NDIS所提供的"獲取物理設(shè)備"的接口函數(shù),將 接收模塊鏈接到終端里的USB總線上。接收模塊接收到的廣播信號中包含兩組流4某體數(shù)據(jù),視頻端口號8000, 音頻端口號8002。網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換模塊中的數(shù)據(jù)獲取子模塊通過向USB物理總線發(fā)送請求 給接收模塊;接收模塊收到請求后,將所接收到的廣播數(shù)據(jù)發(fā)送給數(shù)據(jù)獲取 子模塊。數(shù)據(jù)獲取子模塊將所接收到的廣播數(shù)據(jù)轉(zhuǎn)發(fā)給提取流媒體包子模塊;提 取流4某體包子模塊將接收到的廣播數(shù)據(jù)進行解析,將其中的基于網(wǎng)絡(luò)傳輸協(xié) 議的流媒體幀提取出來并發(fā)給IP封包子模塊;IP封包子模塊將其中的流媒 體數(shù)據(jù)構(gòu)造為IP包并發(fā)送,將目標(biāo)IP地址填寫為192.168.1.100。應(yīng)用模塊透過網(wǎng)絡(luò)協(xié)議接口從終端里的TCP/IP層得到UDP包,然后根 據(jù)所述流媒體配置文件,得到UDP包頭中的目標(biāo)端口號8000和8002所對 應(yīng)的流i某體播放軟件,然后調(diào)用相應(yīng)的播放軟件就可以實現(xiàn)對UDP包中的 流媒體的播放。當(dāng)然,本發(fā)明還可有其他多種實施例,在不背離本發(fā)明精神及其實質(zhì)的 情況下,熟悉本領(lǐng)域的技術(shù)人員當(dāng)可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變 形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護范圍。
權(quán)利要求
1、一種能接收基于網(wǎng)絡(luò)傳輸協(xié)議的流媒體數(shù)據(jù)的終端,包括接收模塊、應(yīng)用模塊;所述接收模塊用于從廣播網(wǎng)絡(luò)接收廣播數(shù)據(jù),所述應(yīng)用模塊用于處理接收的數(shù)據(jù);其特征在于,還包括網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換模塊;所述接收模塊從廣播網(wǎng)絡(luò)接收的廣播數(shù)據(jù)包括基于網(wǎng)絡(luò)傳輸協(xié)議的流媒體幀;所述網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換模塊用于將接收模塊鏈接到的終端相應(yīng)總線上;還用于獲取接收模塊所接收到的廣播數(shù)據(jù),并將接收到的廣播數(shù)據(jù)中的流媒體數(shù)據(jù)構(gòu)造為IP包并發(fā)送到終端里的TCP/IP層;所述應(yīng)用模塊用于透過TCP/IP層獲取用戶數(shù)據(jù)報協(xié)議UDP包并播放。
2、 如權(quán)利要求1所述的終端,其特征在于,所述網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換才莫塊將 接收模塊鏈接到的終端相應(yīng)總線上是指網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換模塊通過網(wǎng)絡(luò)驅(qū)動器接口標(biāo)準(zhǔn)所提供的"獲取物理設(shè)備" 的接口函數(shù)將接收模塊鏈接到終端的相應(yīng)總線上。
3、 如權(quán)利要求1或2所述的終端,其特征在于,所述網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換模 塊將接收到的廣播數(shù)據(jù)中的流媒體數(shù)據(jù)構(gòu)造為IP包并發(fā)送到TCP/IP層是 指網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換模塊對接收到的廣播數(shù)據(jù)進行解析,其中基于網(wǎng)絡(luò)傳輸協(xié) 議的流媒體幀如果為IP數(shù)據(jù)包則直接使用,如為UDP數(shù)據(jù)包則按照IP協(xié) 議進行封包,如都不是則將其中的流媒體數(shù)據(jù)包按UDP協(xié)議封包后再按IP 協(xié)議封包;最后通過網(wǎng)絡(luò)驅(qū)動器接口標(biāo)準(zhǔn)所提供的TCP/IP接口發(fā)送到終端 里的TCP/IP層。
4、 如權(quán)利要求3所述的終端,其特征在于,所述應(yīng)用模塊播放UDP包 是指所述應(yīng)用模塊保存收發(fā)雙方約定的目標(biāo)端口號與流媒體播放軟件的對 應(yīng)關(guān)系,并根據(jù)該對應(yīng)關(guān)系,用UDP包頭中的目標(biāo)端口號所對應(yīng)的標(biāo)準(zhǔn)流 媒體播放軟件來播放UDP包中的流i某體數(shù)據(jù)。
5、 如權(quán)利要求1或2所述的終端,其特征在于,所述網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換模 塊包括數(shù)據(jù)獲取子模塊、提取流媒體包子模塊、IP封包子模塊及網(wǎng)絡(luò)協(xié)議 接口;所述數(shù)據(jù)獲取子模塊用于將接收模塊鏈接到的終端相應(yīng)總線上,還用于 向接收模塊請求所接收的廣播數(shù)據(jù),并將接收^^莫塊發(fā)送來的廣播數(shù)據(jù)轉(zhuǎn)發(fā)給 提取流媒體包子模塊;所述提取流媒體包子模塊用于將廣播數(shù)據(jù)中的流媒體幀提取出來并發(fā) 給IP封包子模塊;所述IP封包子模塊用于將流々某體數(shù)據(jù)封裝成IP包,將目標(biāo)IP地址設(shè)置 為所述網(wǎng)絡(luò)協(xié)議接口生成的IP地址,并在封包后往目標(biāo)IP地址發(fā)送。所述網(wǎng)絡(luò)協(xié)議接口用于在上電后生成本接口的IP地址并通知IP封包子 模塊;還用于提供與終端里的TCP/IP層的接口 。
6、 如權(quán)利要求5所述的終端,其特征在于,所述應(yīng)用模塊通過網(wǎng)絡(luò)協(xié) 議接口從TCP/IP層獲取UDP包。
7、 一種網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換模塊,其特征在于,包括數(shù)據(jù)獲取子模塊、提 取流媒體包子模塊、IP封包子模塊及網(wǎng)絡(luò)協(xié)議接口 ;所述數(shù)據(jù)獲取子模塊用于將接收模塊鏈接到的終端相應(yīng)總線上,還用于 向接收模塊請求所接收的廣播數(shù)據(jù),并將接收模塊發(fā)送來的廣播數(shù)據(jù)轉(zhuǎn)發(fā)給 提取流媒體包子模塊;所述提取流媒體包子模塊用于將廣播教據(jù)中的流媒體幀提取出來并發(fā) 給IP封包子模塊;所述IP封包子模塊用于將流媒體數(shù)據(jù)封裝成IP包,將目標(biāo)IP地址設(shè)置 為所述網(wǎng)絡(luò)協(xié)議接口生成的IP地址,并在封包后往目標(biāo)IP地址發(fā)送。所述網(wǎng)絡(luò)協(xié)議接口用于在上電后生成本接口的IP地址并通知IP封包子 模塊;還用于提供與終端里的TCP/IP層的接口 。
8、 如權(quán)利要求7所述的網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換模塊,其特征在于,所述數(shù)據(jù)獲 取子模塊將接收模塊鏈接到的終端相應(yīng)總線上是指數(shù)據(jù)獲取子模塊通過網(wǎng)絡(luò)驅(qū)動器接口標(biāo)準(zhǔn)所提供的"獲取物理設(shè)備"的 接口函數(shù)將接收模塊鏈接到終端的相應(yīng)總線上。
9、 如權(quán)利要求7或8所述的網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換模塊,其特征在于,所述IP 封包子模塊將流媒體數(shù)據(jù)封裝成IP包是指基于網(wǎng)絡(luò)傳輸協(xié)議的流媒體幀如果為IP數(shù)據(jù)包則直接使用,如為UDP 數(shù)據(jù)包則按照IP協(xié)議進行封包,如都不是則將其中的流媒體數(shù)據(jù)包按UDP 協(xié)議封包后再按IP協(xié)議封包。
10、 一種從廣播網(wǎng)絡(luò)接收基于網(wǎng)絡(luò)傳輸協(xié)議的流媒體數(shù)據(jù)的方法,其特 4正在于,包4舌A、 保存收發(fā)雙方約定的目標(biāo)端口號與流媒體播放軟件的對應(yīng)關(guān)系;B、 獲取廣播數(shù)據(jù);C、 將接收到的廣播數(shù)據(jù)中的流媒體數(shù)據(jù)構(gòu)造成IP包,并發(fā)送到終端里 的TCP/IP層;D、 終端透過TCP/IP層獲取到UDP包并插-;故。
11、 如權(quán)利要求IO所述的方法,其特征在于,所述步驟A中還包括 通過網(wǎng)絡(luò)驅(qū)動器接口標(biāo)準(zhǔn)所提供的"獲取物理設(shè)備"的接口函數(shù)將接收模塊 鏈接到終端里的相應(yīng)總線上。
12、 如權(quán)利要求10或11所述的方法,其特征在于,所述步驟C具體 包括對接收到的廣播數(shù)據(jù)進行解析,其中基于網(wǎng)絡(luò)傳輸協(xié)議的流J某體幀如 果為IP數(shù)據(jù)包則直接使用,如為UDP數(shù)據(jù)包則按照IP協(xié)議進行封包,如 都不是則將其中的流J 某體數(shù)據(jù)包按UDP協(xié)議封包后再按IP協(xié)議封包;最后 通過網(wǎng)絡(luò)驅(qū)動器接口標(biāo)準(zhǔn)所提供的TCP/IP接口發(fā)送到終端里的TCP/IP層。
13、 如權(quán)利要求12所述的方法,其特征在于,所述步驟D中根據(jù)步 驟A中保存的對應(yīng)關(guān)系,用UDP包頭中的貝標(biāo)端口號所對應(yīng)的標(biāo)準(zhǔn)流4某體 播放軟件來播放UDP包中的流媒體數(shù)據(jù)。
14、 如權(quán)利要求10或11所述的方法,其特征在于,所述步驟A中還 包括網(wǎng)絡(luò)協(xié)議接口生成本接口的IP地址并通知IP封包子模塊;所述步驟B具體包括接收模塊接收廣播數(shù)據(jù);數(shù)據(jù)獲取子模塊向接收 模塊請求所接收的廣播數(shù)據(jù),并將接收模塊發(fā)送來的廣播數(shù)據(jù)轉(zhuǎn)發(fā)給提取流 媒體包子模塊;所述步驟C具體包括Cl、提取流媒體包子模塊將接收到的廣播數(shù)據(jù)進行解析,將其中的基于 網(wǎng)絡(luò)傳輸協(xié)議的流媒體幀提取出來并發(fā)給IP封包子模塊;C2、 IP封包子模塊構(gòu)造IP包,將目標(biāo)IP地址設(shè)置為所述網(wǎng)絡(luò)協(xié)議接口 生成的IP地址,并在封包后往目標(biāo)IP地址發(fā)送;即發(fā)往網(wǎng)絡(luò)協(xié)議接口 。
15、 如權(quán)利要求14所述的方法,其特征在于,所述步驟C2中,IP封 包子模塊構(gòu)造IP包是指所述流媒體幀如果為IP數(shù)據(jù)包則直接使用,如為 UDP數(shù)據(jù)包則按照IP協(xié)議進行封包,如都不是則將其中的流媒體數(shù)據(jù)包按 UDP協(xié)議封包后再按IP協(xié)議封包。
16、 如權(quán)利要求14所述的方法,其特征在于,所述步驟D中應(yīng)用模 塊通過網(wǎng)絡(luò)協(xié)議接口從TCP/IP層獲取到UDP包并播放。
全文摘要
本發(fā)明公開了一種接收基于網(wǎng)絡(luò)傳輸協(xié)議的流媒體數(shù)據(jù)的方法及終端;終端包括接收模塊,用于從廣播網(wǎng)絡(luò)接收包括基于網(wǎng)絡(luò)傳輸協(xié)議的流媒體幀的廣播數(shù)據(jù);網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換模塊,用于將接收模塊鏈接到的終端相應(yīng)總線上;還用于獲取接收模塊所接收到的廣播數(shù)據(jù),并將接收到的廣播數(shù)據(jù)中的流媒體數(shù)據(jù)構(gòu)造為IP包并發(fā)送到終端里的TCP/IP層;應(yīng)用模塊,用于透過TCP/IP層獲取用戶數(shù)據(jù)報協(xié)議UDP包并播放。本發(fā)明還公開了終端所包括的網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換模塊。本發(fā)明的技術(shù)方案使終端可以接收基于網(wǎng)絡(luò)傳輸協(xié)議的流媒體數(shù)據(jù),并且通過現(xiàn)有已經(jīng)成熟的播放軟件就可以很好的實現(xiàn)流媒體數(shù)據(jù)的播放和電子節(jié)目指南、緊急廣播等多項數(shù)據(jù)服務(wù)顯示的功能。
文檔編號H04L12/18GK101159579SQ200710176870
公開日2008年4月9日 申請日期2007年11月6日 優(yōu)先權(quán)日2007年11月6日
發(fā)明者呂義柱, 輝 張, 王西強, 鄒暢捷, 郭洛瑋 申請人:北京創(chuàng)毅視訊科技有限公司