日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 消費電子 > 消費電子
[導(dǎo)讀]隨著數(shù)字家庭的興起,數(shù)字媒體內(nèi)容的資源共享、設(shè)備之間的智能互聯(lián)及控制變得越來越重要。UPnP(通用型即插即用)是數(shù)字家庭網(wǎng)絡(luò)中的一個主流協(xié)議。介紹UPnP架構(gòu),描述UPnP媒體播放器設(shè)計的基本思想,利用De-viceBuilder生成的UPnP框架實現(xiàn)一個UPnP網(wǎng)絡(luò)媒體播放器,并對該播放器進行測試與分析。

1 引言
   
通用型即插即用UPnP(Universal Plug and Play)是PnP(Device Plug and Play)的擴展,它可發(fā)現(xiàn)和控制各種網(wǎng)絡(luò)設(shè)備,如網(wǎng)絡(luò)打印機、Internet網(wǎng)關(guān)等,并能提供相應(yīng)服務(wù)。但UPnP不是即插即用的簡單擴展,它支持“0配置”和無線網(wǎng)絡(luò),可自動發(fā)現(xiàn)其他供應(yīng)商提供的設(shè)備。在UPnP協(xié)議下,一個設(shè)備可動態(tài)的加入網(wǎng)絡(luò),獲得IP地址,廣播其功能,并了解其他設(shè)備的功能。很多種類的設(shè)備都可以使用UPnP協(xié)議,包括智能設(shè)備,無線設(shè)備。
    UPnP使用標準的TCP/IP和Internet協(xié)議,能夠很好的在現(xiàn)存網(wǎng)絡(luò)中使用,使用這些標準協(xié)議使UPnP可從已有的各種經(jīng)驗和知識中獲利,打破各種信息孤島,越過各種物理層,可以是有線的,也可以是無線的,具有設(shè)備間的相互協(xié)作基本特點。
    目前,DLNA(現(xiàn)代數(shù)字家庭)是一個非?;钴S的領(lǐng)域,UPnP是其中的主流協(xié)議之一。DLNA/UPnP的遠景是構(gòu)建一個有線與無線的互操作網(wǎng)絡(luò),由個人電腦、家用電器和移動設(shè)備組成,在家庭內(nèi)部實現(xiàn)設(shè)備互聯(lián)和網(wǎng)絡(luò)控制,從而實現(xiàn)影音娛樂、內(nèi)容共享。
    UPnP組成包括設(shè)備節(jié)點,服務(wù)節(jié)點和控制節(jié)點。在UPnP網(wǎng)絡(luò)中,最小的可控制單位是服務(wù),采用一系列的狀態(tài)變量描述服務(wù)的“行為”和“狀態(tài)”。UPnP使用各種現(xiàn)存的標準協(xié)議口,包括TCP/IP、HTTP,HTTPU、SSDP、GENA。使用標準化的協(xié)議保證了各種設(shè)備間的互操作性??傊?,UPnP建立在各種協(xié)議之上,而不是API上,這使其能應(yīng)用在各種不同的平臺上。同時,建立在各種現(xiàn)存的標準之上,具備很強的靈活性,可很好的適應(yīng)現(xiàn)在和將來各種網(wǎng)絡(luò)設(shè)備的需求。

2 UPnP媒體播放器設(shè)計的基本思想
2.1 功能描述
    UPnP網(wǎng)絡(luò)媒體播放器可以提供從網(wǎng)絡(luò)中獲取的各種娛樂信息,它允許控制節(jié)點對其進行控制。此外,根據(jù)所支持協(xié)議的不同,播放器也可以提供對數(shù)據(jù)流進行控制的功能。一個標準的UPnP網(wǎng)絡(luò)媒體播放器包含播放控制服務(wù)、連接管理服務(wù)和媒體傳輸服務(wù)。任何媒體播放器都至少提供兩種服務(wù):播放控制服務(wù)和連接管理服務(wù),媒體傳輸服務(wù)是可選的,它取決于設(shè)備所支持的傳輸協(xié)議。這里設(shè)計使用的協(xié)議是HTTP GET,能提供媒體傳輸服務(wù),因而可以在數(shù)據(jù)傳輸過程中控制數(shù)據(jù)流。
2.2 過程描述
   
媒體播放器可由控制節(jié)點在局域網(wǎng)內(nèi)對媒體服務(wù)器所提供的媒體進行播放控制。媒體服務(wù)器、播放器、控制節(jié)點3者的互動過程如下:控制節(jié)點使用SSDP協(xié)議在局域網(wǎng)內(nèi)發(fā)現(xiàn)一個或多個媒體服務(wù)器和媒體播放器,首先定位媒體服務(wù)器上的資源,并需明確在服務(wù)器和播放器之間傳輸數(shù)據(jù)所需的協(xié)議和它們都支持的數(shù)據(jù)格式。這些傳輸參數(shù)都被確定后,控制節(jié)點就可以對傳輸?shù)膬?nèi)容進行控制,如播放、暫停、停止等。真正的數(shù)據(jù)傳輸是在服務(wù)器和媒體播放器之間直接進行的,并且獨立于控制節(jié)點,因此不包含在UPnP內(nèi)。即內(nèi)容的傳輸是使用UPnP以外的協(xié)議。之后,控制節(jié)點使用媒體服務(wù)器所提供的內(nèi)容目錄服務(wù)來獲取該服務(wù)器所支持的協(xié)議和數(shù)據(jù)類型,使用媒體播放器的連接管理服務(wù)來獲取相應(yīng)的信息,比較后選定雙方都支持的傳輸協(xié)議和數(shù)據(jù)類型。在本設(shè)計中,使用的傳輸協(xié)議是HTTP GET,所支持的數(shù)據(jù)格式為MP3。最后,控制節(jié)點使用媒體播放器提供的媒體傳輸服務(wù)來控制數(shù)據(jù)流。

3 UPnP媒體播放器的實現(xiàn)方法
    設(shè)計使用Intel公司的開源UPnP開發(fā)工具Device-Builder,在Microsoft.NET Framwork下開發(fā)。DeviceBuilder生成的UPnP協(xié)議棧由MiniServer模塊、HTTP模塊、線程庫模塊、XML解析模塊及協(xié)議棧編程接口等模塊組成,負責(zé)提供基本的UPnP功能,具體實現(xiàn)流程如下。
3.1 生成UPnP框架
   
使用DeviceBuilder生成相應(yīng)平臺上的代碼,由于是在Microsoft.NET Framwork下開發(fā),所以選擇的Target Platform應(yīng)為:Windows 98,NT,XP。具體功能有:尋址、發(fā)現(xiàn)、描述、控制、發(fā)布事件。各功能組合在一起,為媒體播放器提供UPnP能力,但Intel開發(fā)包生成的僅是一個框架,還要為其添加解碼、控制功能及對播放列表的識別等。
3.2 添加媒體解碼庫
   
下載一個開源的播放器,將其改造成媒體解碼庫。即將播放器的功能抽象成函數(shù)以供外界調(diào)用,主要函數(shù)如下:
    int decodestart(char*pBuffer):調(diào)用該函數(shù)開始播放,相當于原來播放器的play功能。pBuffer是一個公共緩沖區(qū),存放已下載的媒體數(shù)據(jù)。
    extem void Read(int*position):負責(zé)向公共緩沖區(qū)中裝入已下載的媒體數(shù)據(jù),position指針則對應(yīng)于公共緩沖區(qū)中應(yīng)裝入的位置。由于一般下載的速度遠大于解碼速度,所以應(yīng)注意裝入新數(shù)據(jù)時不要將尚未解碼的數(shù)據(jù)覆蓋掉。
    extern void Decode(int*Dposition):當外界調(diào)用該函數(shù)時開始解碼,Dposition則指示對應(yīng)于公共緩沖區(qū)的解碼位置。
    此外還有pause,resume,stop等函數(shù),均對應(yīng)于原播放器的相應(yīng)功能。將已實現(xiàn)的媒體解碼庫添加到生成的UPnP框架,再在UPnP框架中相應(yīng)的位置調(diào)用庫文件中的函數(shù)以實現(xiàn)解碼、播放控制。
3.3 播放控制功能實現(xiàn)
   
添加媒體解碼庫后。還需添加:數(shù)據(jù)流實時控制能力、根據(jù)播放器的狀態(tài)發(fā)布消息。詳細過程如下:
    (1)設(shè)置傳輸?shù)刂?當控制節(jié)點從媒體服務(wù)器選定一首歌時,則觸發(fā)設(shè)置傳輸?shù)刂?由媒體傳輸服務(wù)提供)這一動作。這時,如果播放器正在播放,首先要停止播放器的解碼動作,為新歌曲的播放做準備。接下來,在播放器獲得所選定歌曲的地址后(由控制節(jié)點提供),直接從媒體服務(wù)器中下載這首歌曲,在此項目中,播放器采用HTTP GET下載。下載前,還需對該URL進行判斷,查看下載的是否為播放列表,如果是播放列表,就不能將其直接傳給播放器,而要繼續(xù)從播放列表提供的地址中得到第1首歌的URL,再從媒體服務(wù)器中下載。最后,調(diào)用函數(shù)SetLastChange發(fā)布自己的狀態(tài)信息。
    (2)數(shù)據(jù)流實時控制在下載的大小達到一定長度時,觸發(fā)傳輸控制服務(wù)中Play這一動作,這時,主線程創(chuàng)建一個解碼線程,該線程調(diào)用媒體解碼庫中的decodestart(char*pBuffer)函數(shù),對存放在公用緩沖區(qū)中的數(shù)據(jù)進行解碼并播放,進行同步控制,以免當網(wǎng)絡(luò)出現(xiàn)擁塞或系統(tǒng)內(nèi)存不足時,緩沖區(qū)中的播放指針超過下載指針而導(dǎo)致意外。如果選定的是含有多首歌曲的播放列表,則過程類似,只不過在一首歌曲播放完時會自動從媒體服務(wù)器端下載另一首歌曲,一邊下載,一邊播放。當用戶點擊next,previous時,首先檢查之前保存的URL是否為播放列表,若不是,則輸出錯誤信息;若是,則停止播放器的解碼動作,撤銷當前解碼線程,為新歌的播放做準備。由播放列表得到下一首歌的地址和端口號,開始下載數(shù)據(jù),并創(chuàng)建新的解碼線程,最后,發(fā)布狀態(tài)信息。
    所有的實際操作,如play,stop,pause,…,均與UPnP無關(guān),它只實現(xiàn)消息傳遞??刂乒?jié)點負責(zé)接收命令傳遞給播放器,再由播放器中的媒體解碼庫完成解碼、播放、暫停、停止等功能。媒體服務(wù)器、控制節(jié)點、媒體播放器的互動如圖1所示。

4 測試與分析
   
系統(tǒng)開發(fā)完成后,在兩臺同處于一個局域網(wǎng)的臺式機上進行測試,測試流程如下:首先在一臺機上啟動Intel UP-nP工具集中的AVWizard程序,該程序其實就是媒體服務(wù)器和控制節(jié)點的合體,它既能提供媒體服務(wù)器的各種功能,也可提供控制點的功能。在另一臺機上啟動媒體播放器,AVWizard首先掃描網(wǎng)絡(luò)中有無它所支持的設(shè)備,發(fā)現(xiàn)媒體播放器后,獲得該播放器的設(shè)備描述文檔,并顯示播放器的名稱。用AvWizard選定一首MP3,并將地址發(fā)送給指定的媒體播放器(UPnP MediaRender)。播放器開始從媒體服務(wù)器指定的地址下載MP3,下載到一定長度時開始播放,詳細過程描述如下:
    由圖2可知,當AVWizard選定一首歌曲時,播放器輸出
為:“Invoke:UPnPAVTransport_SetAVTransportURI…”。觸發(fā)播放器中媒體傳輸服務(wù)中的設(shè)置傳輸?shù)刂愤@一動作.告訴播放器所需下載的媒體所在的URL和端口號,接著在AV Wizard中點擊play時,可以看到圖3中播放器輸出為:“Invoke:UP-nPAVTransport_Play(0,1)”,觸發(fā)播放器媒體傳輸服務(wù)中的play動作,開始下載要播放的內(nèi)容,同時,播放器開始創(chuàng)建解
碼線程,輸出:“Create thread success!!”,則表示解碼線程創(chuàng)建成功,在該解碼線程中調(diào)用媒體解碼庫中的函數(shù)。媒體解碼庫出:“…The main proccess start…player_init”,初始化媒體解碼庫,解碼并開始播放音樂。

5 結(jié)論
    由此可見,該媒體播放器實現(xiàn)成功,但存在不足之處:由于直接在Intel公司開源UPnP開發(fā)工具DeviceBuilder生成的代碼上進行開發(fā),所以界面不夠友好。實現(xiàn)媒體播放器的創(chuàng)新點如下:(1)直接在Intel生成的UPnP框架上進行開發(fā),與現(xiàn)有的許多使用開源UPnP SDK開發(fā)相比,無需進行設(shè)備初始化和注冊工作,亦無需對UPnP的工作過程進行手動操作,使開發(fā)者的注意力可以完全集中在所需添加的服務(wù)上,無需關(guān)注繁瑣的協(xié)議通信細節(jié),簡化UPnP應(yīng)用的設(shè)計開發(fā);但缺點是由于目前業(yè)界有許多SDK開發(fā)包具有類似的功能,直接使用生成的UPnP框架不利于按需更換協(xié)議庫。(2)可在不同的操作系統(tǒng)上生成相應(yīng)的協(xié)議框架,屏蔽開發(fā)平臺的差異,方便開發(fā)人員在合適的平臺上實現(xiàn)所需的服務(wù)。(3)服務(wù)本身也可以作為模塊添加到應(yīng)用程序中,如媒體解碼庫就是作為一個獨立的模塊添加,實現(xiàn)松散耦合的應(yīng)用程序和組件,可根據(jù)不斷變化的情況和需求來實現(xiàn)服務(wù),為媒體播放器的功能擴展提供了很好的基礎(chǔ)。

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

美國紐約州阿蒙克2022年10月20日 /美通社/ -- IBM(NYSE: IBM)發(fā)布 2022 年第三季度業(yè)績報告。 IBM 董事長兼首席執(zhí)行官 Arvind Kri...

關(guān)鍵字: IBM 軟件 BSP 云平臺

北京2022年10月19日 /美通社/ -- 近日,Gartner首次發(fā)布全球邊緣計算市場指南報告(《Market Guide for Edge Computing》,以下簡稱"市場指南"),這是20...

關(guān)鍵字: 邊緣計算 GARTNER 節(jié)點 數(shù)據(jù)中心

成都2022年10月19日 /美通社/ -- 近期,平安養(yǎng)老險積極籌備個人養(yǎng)老金的產(chǎn)品設(shè)計和系統(tǒng)開發(fā)工作,發(fā)展多樣化的養(yǎng)老金融產(chǎn)品,推動商業(yè)養(yǎng)老保險、個人養(yǎng)老金、專屬商業(yè)養(yǎng)老保險等產(chǎn)品供給。 搭養(yǎng)老政策東風(fēng) ...

關(guān)鍵字: 溫度 BSP 東風(fēng) 大眾

廣東佛山2022年10月19日 /美通社/ -- 空間是人居生活的基礎(chǔ)單元,承載著生存與活動的最基本功能。而對于理想空間的解構(gòu)意義卻在物理性容器之外,體現(xiàn)出人們對于空間和生活深層關(guān)系的思考,同時也塑造著人與空間的新型連接...

關(guān)鍵字: 溫度 BSP 智能化 進程

上海2022年10月19日 /美通社/ -- 10月17日晚間,安集科技披露業(yè)績預(yù)告。今年前三季度,公司預(yù)計實現(xiàn)營業(yè)收入7.54億元至8.33億元,同比增長60.24%至77.03%;歸母凈利潤預(yù)計為1.73億...

關(guān)鍵字: 電子 安集科技 BSP EPS

北京2022年10月19日 /美通社/ -- 10月18日,北京市經(jīng)濟和信息化局發(fā)布2022年度第一批北京市市級企業(yè)技術(shù)中心創(chuàng)建名單的通知,諾誠健華正式獲得"北京市企業(yè)技術(shù)中心"認定。 北京市企業(yè)技...

關(guān)鍵字: BSP ARMA COM 代碼

北京2022年10月18日 /美通社/ -- 10月14日,國際數(shù)據(jù)公司(IDC)發(fā)布《2022Q2中國軟件定義存儲及超融合市場研究報告》,報告顯示:2022年上半年浪潮超融合銷售額同比增長59.4%,近5倍于...

關(guān)鍵字: IDC BSP 數(shù)字化 數(shù)據(jù)中心

上海2022年10月18日 /美通社/ -- 2022年9月5日,是首都銀行集團成立60周年的紀念日。趁著首都銀行集團成立60周年與首都銀行(中國)在華深耕經(jīng)營12年的“大日子”,圍繞作為外資金融機構(gòu)對在華戰(zhàn)略的構(gòu)想和業(yè)...

關(guān)鍵字: 數(shù)字化 BSP 供應(yīng)鏈 控制

東京2022年10月18日  /美通社/ -- NIPPON EXPRESS HOLDINGS株式會社(NIPPON EXPRESS HOLDINGS, INC.)旗下集團公司上海通運國際物流有限公司(Nipp...

關(guān)鍵字: 溫控 精密儀器 半導(dǎo)體制造 BSP

廣州2022年10月18日 /美通社/ -- 10月15日,第 132 屆中國進出口商品交易會("廣交會")于"云端"開幕。本屆廣交會上高新技術(shù)企業(yè)云集,展出的智能產(chǎn)品超過140,...

關(guān)鍵字: 中國智造 BSP 手機 CAN

消費電子

96051 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉