當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]基于UPnP發(fā)現(xiàn)與組播技術(shù)的IPTV終端實(shí)現(xiàn)

摘 要:本文設(shè)計(jì)并實(shí)現(xiàn)的終端系統(tǒng)工作在mClinux操作系統(tǒng)下,通過(guò)應(yīng)用UPnP中的SSDP服務(wù)發(fā)現(xiàn)協(xié)議,實(shí)現(xiàn)在局域網(wǎng)中IPTV終端的自動(dòng)發(fā)現(xiàn), 并使用IP組播技術(shù)將TV視頻信號(hào)及本地的AV視頻信號(hào)。通過(guò)數(shù)字化處理和MEPG-2編碼壓縮后封裝為RTP包發(fā)送到組播地址,供局域網(wǎng)內(nèi)的合法用戶觀看。
關(guān)鍵詞:IPTV;UPnP;IP組播技術(shù); MPEG-2

  引言

  IPTV是一項(xiàng)系統(tǒng)技術(shù), 可使音/視頻內(nèi)容節(jié)目或信號(hào)以IP 包的方式在不同物理網(wǎng)絡(luò)中被安全、有效和保質(zhì)地傳送或分發(fā)給不同用戶。

  基于UPnP中的簡(jiǎn)單服務(wù)發(fā)現(xiàn)協(xié)議(SSDP,Simple Service Discovery Protocol)和IP組播技術(shù),本文提出并實(shí)現(xiàn)了一種新的IPTV終端系統(tǒng)。該系統(tǒng)不僅能將CATV(有線電視網(wǎng))模擬信號(hào)和本地AV模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),并通過(guò)MPEG-2編碼,再使用RTP/RTCP協(xié)議組播到家庭網(wǎng)絡(luò),而且提供了實(shí)時(shí)串流視頻、本地視頻定時(shí)存儲(chǔ)播放和VoD(Video On Demand)服務(wù)。

  UPnP協(xié)議棧中的SSDP協(xié)議

  UPnP(Universal Plug and Play——通用即插即用)是針對(duì)局域網(wǎng)絡(luò)范圍內(nèi)對(duì)等(peer-to-peer)互聯(lián)而設(shè)計(jì)的一種應(yīng)用層技術(shù)標(biāo)準(zhǔn),旨在為家庭、小型企業(yè)、公共場(chǎng)所提供基于IP技術(shù)、易于使用的網(wǎng)絡(luò)服務(wù)自動(dòng)發(fā)現(xiàn)機(jī)制。

  SSDP用于服務(wù)發(fā)現(xiàn),控制點(diǎn)借此可定位其感興趣的資源在網(wǎng)絡(luò)中的位置,設(shè)備可借此告之它們的可用性。SSDP客戶(控制點(diǎn))可往本地保留的多播地址的SSDP端口(239.255.255.250:1900)發(fā)送發(fā)現(xiàn)(Discovery)消息來(lái)尋找SSDP服務(wù);SSDP服務(wù)(設(shè)備)也可以同樣的方式發(fā)送SSDP指示來(lái)宣告它的存在。

  本文IPTV終端的UPnP發(fā)現(xiàn)過(guò)程,即控制點(diǎn)(運(yùn)行在mClinux上的服務(wù)器程序)搜索網(wǎng)絡(luò)上的UPnP設(shè)備(運(yùn)行在PC上的客戶端程序),同時(shí),UPnP設(shè)備也要宣告自己的存在。當(dāng)用戶在PC上打開(kāi)一個(gè)新的客戶端程序時(shí),它會(huì)通過(guò)標(biāo)準(zhǔn)的本地多播地址發(fā)送多播發(fā)現(xiàn)消息宣告一個(gè)新的用戶存在??刂泣c(diǎn)監(jiān)聽(tīng)該多播地址,獲取用戶的可用信息。同樣,當(dāng)控制點(diǎn)被添加到網(wǎng)絡(luò)時(shí),它會(huì)多播一條發(fā)現(xiàn)消息來(lái)搜索是否已有客戶端存在。

  IPTV終端系統(tǒng)設(shè)計(jì)

  系統(tǒng)軟件架構(gòu)及

  子系統(tǒng)模塊設(shè)計(jì)

  IPTV終端系統(tǒng)軟件架構(gòu)分為服務(wù)器和客戶端兩部分,如圖1所示。

圖2 IPTV終端系統(tǒng)軟件架構(gòu)圖

  服務(wù)器軟件部分包括:

  RTP/RTCP模塊:該模塊包含RTP/RTCP協(xié)議棧,負(fù)責(zé)將視頻信息打包成RTP組播或單播到局域網(wǎng)中。

  串流模塊:客戶端用戶選擇本地音/視頻文件或VoD服務(wù)器里存有的音/視頻文件,將其發(fā)送到VLC播放器中處理并轉(zhuǎn)發(fā)到服務(wù)器的串流模塊,由此模塊在局域網(wǎng)內(nèi)組播,供在線合法用戶觀看。

  定時(shí)音/視頻存儲(chǔ)、播放模塊:管理員選擇本地音/視頻文件,將其發(fā)送到VLC播放器中處理并轉(zhuǎn)發(fā)到服務(wù)器的定時(shí)音/視頻存儲(chǔ)、播放模塊,由此模塊異步寫入Flash中存儲(chǔ)。管理員可以設(shè)定要播放存儲(chǔ)視頻的時(shí)間、播放次數(shù)、連續(xù)播放時(shí)間間隔、播放長(zhǎng)度和結(jié)束時(shí)間等。

  用戶合法性管理模塊:該模塊在用戶登錄時(shí)檢查普通用戶或系統(tǒng)管理員的合法性,并實(shí)時(shí)管理所有在線用戶信息,定時(shí)顯示所有在線用戶的IP地址。

  UPnP服務(wù)發(fā)現(xiàn)模塊:該模塊負(fù)責(zé)使用UPnP中簡(jiǎn)單服務(wù)發(fā)現(xiàn)協(xié)議監(jiān)聽(tīng)局域網(wǎng)內(nèi)客戶端程序的運(yùn)行,并在客戶端程序發(fā)出SSDP Notify消息時(shí)響應(yīng)。

  服務(wù)控制模塊:由管理員更改服務(wù)器IP地址,用戶更改音量、頻道、畫質(zhì)等模塊組成。

  硬件驅(qū)動(dòng)模塊:該模塊由服務(wù)器上的硬件驅(qū)動(dòng)程序組成。

  客戶端軟件部分包括:

  UPnP服務(wù)發(fā)現(xiàn)模塊:客戶端應(yīng)用程序運(yùn)行時(shí),在局域網(wǎng)內(nèi)發(fā)送UPnP SSDP宣告消息。

  用戶登錄模塊:當(dāng)收到服務(wù)器的UPnP響應(yīng)消息時(shí),運(yùn)行此模塊,檢查用戶合法性。

  VoD上傳模塊:通過(guò)VLC播放器和服務(wù)器上的串流模塊,將音/視頻上傳到本地VoD服務(wù)器。

  遙控器程序:系統(tǒng)UI部分,提供友好的系統(tǒng)管理員和普通用戶操作界面。

  VLC播放器:一種強(qiáng)大的跨平臺(tái)媒體播放軟件,支持多種音/視頻格式(MPEG-1、MPEG-2、 MPEG-4、DivX、MP3、ogg...)、流媒體協(xié)議和串流組播。

  系統(tǒng)硬件體系結(jié)構(gòu)設(shè)計(jì)與實(shí)現(xiàn)

  本方案是以華邦A(yù)RM W90N740芯片為主控制器的硬件平臺(tái),在W90N740的外圍添加網(wǎng)絡(luò)模塊、串口接口模塊、調(diào)諧器模塊、音/視頻解碼及數(shù)字化處理模塊、MPEG-2音/視頻壓縮模塊和USB模塊等。系統(tǒng)硬件體系結(jié)構(gòu)如圖2所示。

圖2 系統(tǒng)硬件體系結(jié)構(gòu)框圖

  1、CPU部分

  CPU(W90N740)、ROM(512KB)、Flash(8MB)、SDRAM(32MB)、SRAM(32K×32b)和CPLD構(gòu)成了最基本的處理系統(tǒng)。ROM存放BOOT程序,每次RESET后,CPU從這里運(yùn)行,該部分程序主要作硬件初始化,為運(yùn)行mClinux作準(zhǔn)備。Flash存放mClinux和用戶程序。SDRAM是程序運(yùn)行時(shí)存放mClinux和用戶程序的地方。SRAM是PCI橋成為本地總線主機(jī)時(shí),寫入數(shù)據(jù)的地方,由于PLX9080不能操作SDRAM,所以,要用一個(gè)SRAM來(lái)做數(shù)據(jù)緩存。CPLD主要完成PCI總線的仲裁、地址譯碼、RESET信號(hào)的產(chǎn)生、中斷信號(hào)的匯總、SRAM的片選,以及一些信號(hào)的電平或時(shí)序轉(zhuǎn)換。在CPU與 SRAM的數(shù)據(jù)總線和地址總線之間有一個(gè)開(kāi)關(guān),用于解決當(dāng)CPU訪問(wèn)PCI設(shè)備和PCI設(shè)備訪問(wèn)SRAM同時(shí)發(fā)生時(shí)引起的死鎖。當(dāng)這種情況發(fā)生時(shí),開(kāi)關(guān)將斷開(kāi)CPU的數(shù)據(jù)總線和地址總線,同時(shí)輸出WAIT信號(hào),讓CPU處于等待中,而讓PCI設(shè)備先訪問(wèn)SRAM,完成后,再恢復(fù)CPU對(duì)PCI設(shè)備的訪問(wèn)。

  2、PLX9080部分

  PLX9080將PCI總線和本地總線連接起來(lái),它主要提供本地地址到PCI地址的雙向轉(zhuǎn)換,本地控制到PCI控制的雙向轉(zhuǎn)換。PLX9080收到CPU的命令后,首先向CPLD的PCI仲裁器申請(qǐng),獲得許可后,開(kāi)始進(jìn)行PCI讀寫。PCI設(shè)備(比如SAA7134)也是通過(guò)PLX9080將數(shù)據(jù)寫入本地存儲(chǔ)器,當(dāng)外部設(shè)備向PLX9080發(fā)起PCI寫操作后,PLX9080將向CPU申請(qǐng)本地總線的使用權(quán),CPU釋放總線的控制權(quán),PLX9080就將PCI的地址翻譯成本地地址,將數(shù)據(jù)寫入SRAM中。

  3、SAA7134HL部分

  SAA7134HL主要將SIF和CVBS信號(hào)進(jìn)行解碼、取樣,然后數(shù)字化,組合成ITU-R BT.656格式的視頻數(shù)據(jù)和I2S格式的音頻數(shù)據(jù)送給MPEG-2壓縮,同時(shí)接收MPEG-2壓縮器已經(jīng)壓縮好的傳輸流數(shù)據(jù),進(jìn)行緩沖后,將數(shù)據(jù)通過(guò)PLX9080寫入SRAM中,完成后向CPU發(fā)出中斷,請(qǐng)求CPU進(jìn)行處理。SAA7134HL還包含了一個(gè)I2C MASTER總線控制器,可以完成對(duì)調(diào)諧器和SAA6752HS的控制。

  4、SAA6752HS部分

  SAA6752HS主要對(duì)SAA7134HL送來(lái)的視頻和音頻數(shù)據(jù)按照MPEG-2標(biāo)準(zhǔn)進(jìn)行壓縮,完成壓縮后將數(shù)據(jù)回送給SAA7134HL進(jìn)行傳送。

  硬件功能說(shuō)明如下:

  *調(diào)諧器:該部分是將從天線或同軸電纜接收進(jìn)來(lái)的TV射頻信號(hào)進(jìn)行解調(diào),輸出視頻信號(hào)和音頻信號(hào)。

  *視頻、音頻解碼和數(shù)字化:該部分將復(fù)合的視頻信號(hào)(CVBS)解碼,取出其中的Y、U、V分量信號(hào),然后對(duì)這些信號(hào)取樣作A/D轉(zhuǎn)換,再把這些數(shù)據(jù)組合成滿足ITU-R BT.656的數(shù)據(jù),輸出給MPEG-2壓縮部分。同時(shí),也對(duì)音頻信號(hào)取樣作A/D轉(zhuǎn)換,再把這些數(shù)據(jù)組合成I2S格式的數(shù)據(jù)輸出給MPEG-2壓縮部分。

  *MPEG-2壓縮部分:這部分將滿足ITU-R BT.656規(guī)定的視頻數(shù)據(jù)和I2S格式的音頻數(shù)據(jù)按照MPEG-2標(biāo)準(zhǔn)進(jìn)行壓縮,生成MPEG-2傳輸流輸出到PCI傳輸部分。

  *PCI傳輸部分:該部分將MPEG-2傳輸流的數(shù)據(jù)經(jīng)過(guò)緩沖后,將其經(jīng)過(guò)PCI總線寫入到系統(tǒng)的內(nèi)存中,然后發(fā)中斷給處理器,通知其有數(shù)據(jù)要處理。

  *PCI橋:PCI橋是將處理器的本地總線和PCI總線連接起來(lái)的部件,主要完成對(duì)PCI 總線和本地總線的申請(qǐng),以及PCI總線地址與本地總線地址之間的轉(zhuǎn)換、PCI總線地址與本地總線之間的控制時(shí)序的轉(zhuǎn)換。

  *處理器及其外圍部件:該部分主要由CPU和能讓其運(yùn)行起來(lái)的基本外圍器件組成。包括地址譯碼、SDRAM、Flash、ROM器件。

  *接口部分:與外部進(jìn)行通信的接口,由兩個(gè)以太網(wǎng)端口和一個(gè)RS-232,以及一個(gè)USB口組成。

  測(cè)試運(yùn)行情況

  服務(wù)器平臺(tái)配置:CPU (W90N740)、ROM(512KB)、Flash(8MB)、SDRAM(32MB)、SRAM(32K×32b),及mClinux操作系統(tǒng)。

  客戶端平臺(tái)配置: 奔騰 CPU(2.4GHz)、內(nèi)存(256MB)、Windows XP 操作系統(tǒng)。

  在測(cè)試中, 普通用戶使用IPTV終端在局域網(wǎng)內(nèi)接收并流暢播放CATV電視、本地AV,觀看實(shí)時(shí)串流或定時(shí)存儲(chǔ)的音/視頻,通過(guò)終端系統(tǒng)正常進(jìn)行VoD點(diǎn)播。系統(tǒng)管理員可以設(shè)置服務(wù)器IP地址、接收TV頻道的范圍、允許同時(shí)存在普通用戶的最大個(gè)數(shù)、用戶密碼、實(shí)時(shí)串流、定時(shí)存儲(chǔ)及上傳到服務(wù)器的音/視頻文件路徑等功能。

  在播放的同時(shí),用戶可以通過(guò)遙控器程序設(shè)置播放色彩,畫質(zhì),音量,頻道及AV->TV->VoD->AV循環(huán)切換。

  系統(tǒng)運(yùn)行性能指標(biāo):

  (1)丟包率

  丟包率=(理論發(fā)包數(shù)-實(shí)際收包數(shù))/理論發(fā)包數(shù)

  本系統(tǒng)在運(yùn)行時(shí)可以根據(jù)上述公式動(dòng)態(tài)計(jì)算傳輸丟包率,并在任何用戶丟包率大于10%時(shí)自動(dòng)斷開(kāi)用戶與服務(wù)器的連接。

  (2)時(shí)延

  系統(tǒng)運(yùn)行時(shí),用戶可以在線流暢地觀看TV/AV/VoD視頻流。

  如圖3所示,當(dāng)用戶數(shù)量從1個(gè)增加到10個(gè)時(shí),時(shí)延將隨之從2ms增加到4.2ms。

圖3 用戶數(shù)量與時(shí)延關(guān)系圖

  結(jié)語(yǔ)

  隨著網(wǎng)絡(luò)的迅速發(fā)展,將本終端系統(tǒng)應(yīng)用于無(wú)線環(huán)境中,可提供支持廣域網(wǎng)訪問(wèn)的服務(wù),支持MPEG-4視頻編碼是下一步工作所要做的。

  參考文獻(xiàn):

  1. UPnP Forum, http://www.UPnP.org

  2.Walko, J. I Love My IPTV. IEE Communications Engineer, pp. 16-19, Dec. 2005

  3. Jerry C., Whitaker. Interactive TV Demystified. Mc-Graw Hill,2001

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉