劉杰
教學(xué)中,教師經(jīng)常需要播放一些多媒體文件來(lái)提高課堂教學(xué)效果,但很多智能終端上的多媒體文件不能直接在Windows系統(tǒng)上播放。而利用通用即插即用(UPnP)技術(shù),能夠?qū)⒍喾N播放媒體集成到單一終端上,從而實(shí)現(xiàn)透明控制并簡(jiǎn)化用戶的操作。
基于此,本文提出基于開(kāi)放UPnP協(xié)議的多媒體文件分享系統(tǒng)。該系統(tǒng)實(shí)現(xiàn)了基于iOS系統(tǒng)的智能終端與普通PC的多媒體文件分享,同時(shí)也實(shí)現(xiàn)了利用智能終端來(lái)對(duì)播放進(jìn)行遠(yuǎn)程操控。
這有助于教師選擇更加便捷的方式來(lái)播放多媒體文件,也減少了傳輸文件的時(shí)間,提高工作效率。
一、目標(biāo)需求
目前多媒體電子教室中各種技術(shù)的遙控器存在著各種問(wèn)題。將各種播放媒體集成到單一終端(智能手機(jī))上,可以突破傳統(tǒng)控制網(wǎng)絡(luò)的規(guī)模限制,達(dá)到透明控制的效果,并為用戶的使用帶來(lái)易操作性。這里基于UPnP AV架構(gòu),在iOS智能手機(jī)平臺(tái)(iPhone、iPad)上,實(shí)現(xiàn)了多媒體文件分享系統(tǒng),可以把我們存儲(chǔ)在iOS設(shè)備上的多媒體文件,分享到支持UPnP協(xié)議的播放設(shè)備上。
具體目標(biāo):iOS智能設(shè)備能夠發(fā)現(xiàn)支持UPnP協(xié)議的播放設(shè)備;iOS智能設(shè)備能夠控制支持UPnP協(xié)議的播放設(shè)備;iOS設(shè)備能夠把本機(jī)上的多媒體文件傳給支持UPnP協(xié)議的播放設(shè)備。
二、設(shè)備需求
根據(jù)設(shè)計(jì)的目標(biāo)需求,首先需要iOS設(shè)備,可以是iPhone或者iPad智能終端設(shè)備,其次還需要一臺(tái)PC設(shè)備。當(dāng)然,還需要有網(wǎng)絡(luò)環(huán)境,使設(shè)備處于同一個(gè)局域網(wǎng)內(nèi),這樣就滿足了多媒體文件分享的基本硬件和網(wǎng)絡(luò)設(shè)備需求。
三、系統(tǒng)架構(gòu)設(shè)計(jì)
基于UPnP的多媒體文件分享系統(tǒng)架構(gòu),在物理上主要由智能終端設(shè)備(iOS設(shè)備)和教學(xué)終端設(shè)備(PC機(jī))組成;在邏輯上,可以分為媒體服務(wù)器(Media Server)、媒體播放器(Media Render)和AV控制點(diǎn)(AV Control Point)三個(gè)功能模塊。多媒體文件分享系統(tǒng)架構(gòu)如下圖。
1.媒體服務(wù)器模塊設(shè)計(jì)
(1) 內(nèi)容目錄服務(wù)。負(fù)責(zé)提供一系列行為,使 AV 控制點(diǎn)能夠找到媒體服務(wù)器提供給網(wǎng)絡(luò)的媒體內(nèi)容。提供的主要行為是瀏覽功能,使AV控制點(diǎn)可以獲得教學(xué)網(wǎng)絡(luò)中多媒體內(nèi)容的詳細(xì)信息,并通過(guò)這些信息判斷播放器是否能播放該多媒體內(nèi)容。
(2)連接管理服務(wù)。負(fù)責(zé)管理與設(shè)備的連接,提供的主要行為是準(zhǔn)備連接。AV控制點(diǎn)通過(guò)調(diào)用該行為,使媒體服務(wù)器在數(shù)據(jù)傳輸前做好準(zhǔn)備。準(zhǔn)備連接行為成功后,多媒體服務(wù)器將根據(jù)支持的傳輸協(xié)議和數(shù)據(jù)格式,向AV控制點(diǎn)返回一個(gè)實(shí)例句柄,以控制以后的媒體數(shù)據(jù)傳輸。
(3) 內(nèi)容傳輸服務(wù)。負(fù)責(zé)AV控制點(diǎn)對(duì)相關(guān)多媒體內(nèi)容播放的控制,包括停止、前進(jìn)、后退、定位等。當(dāng)媒體服務(wù)器同時(shí)傳輸多個(gè)媒體內(nèi)容時(shí),AV控制點(diǎn)通過(guò)內(nèi)容傳輸服務(wù)的實(shí)例句柄區(qū)分和控制它們。
2.媒體播放器模塊設(shè)計(jì)
(1)播放控制服務(wù)。通過(guò)提供一系列的行為,使AV控制點(diǎn)能夠控制媒體內(nèi)容的播放,包括開(kāi)關(guān)控制、音量控制等。該服務(wù)支持將多個(gè)多媒體內(nèi)容合并播放。
(2) 連接管理服務(wù)。負(fù)責(zé)管理與設(shè)備的連接,使AV控制點(diǎn)能夠列舉媒體播放器所支持的傳輸協(xié)議和數(shù)據(jù)格式??刂泣c(diǎn)發(fā)起連接請(qǐng)求后,媒體服務(wù)器返回給控制點(diǎn)一個(gè)連接實(shí)例,供控制點(diǎn)控制媒體播放。
(3) 內(nèi)容傳輸服務(wù)。與媒體服務(wù)器的內(nèi)容傳輸服務(wù)相似。
3.AV控制點(diǎn)模塊設(shè)計(jì)
AV控制點(diǎn)負(fù)責(zé)協(xié)調(diào)媒體服務(wù)器和媒體播放器之間的互操作,主要實(shí)現(xiàn)以下服務(wù)。
(1)AV設(shè)備發(fā)現(xiàn)服務(wù)。利用UPnP協(xié)議的發(fā)現(xiàn)機(jī)制,來(lái)尋找教學(xué)網(wǎng)絡(luò)中的媒體服務(wù)器和媒體播放器。
(2)多媒體內(nèi)容定位服務(wù)。通過(guò)調(diào)用媒體服務(wù)器中的內(nèi)容服務(wù),來(lái)定位要找的媒體內(nèi)容。媒體服務(wù)器返回所支持的傳輸協(xié)議和數(shù)據(jù)格式等信息。
(3)媒體播放器支持的傳輸協(xié)議/數(shù)據(jù)格式檢測(cè)服務(wù)。通過(guò)調(diào)用媒體播放器中的連接管理服務(wù),將媒體的信息傳給媒體播放器,檢測(cè)媒體播放器是否支持該傳輸協(xié)議和數(shù)據(jù)格式,將結(jié)果返回給AV控制點(diǎn)。
(4)多媒體內(nèi)容選擇服務(wù)。該服務(wù)確定要傳輸?shù)亩嗝襟w內(nèi)容。
(5)播放特性調(diào)整服務(wù)。該服務(wù)負(fù)責(zé)按照用戶需要調(diào)用播放控制行為。
四、關(guān)鍵技術(shù)
1.iOS平臺(tái)的UPnP實(shí)現(xiàn)
我們需要在iOS設(shè)備上實(shí)現(xiàn)下列兩個(gè)功能:一是實(shí)現(xiàn)媒體服務(wù)器的功能,把iOS設(shè)備上的資源添加到教學(xué)網(wǎng)絡(luò),讓媒體播放器可以播放。二是實(shí)現(xiàn)AV控制點(diǎn)的功能,實(shí)現(xiàn)iOS設(shè)備和媒體服務(wù)器的交互和控制,同時(shí)也讓iOS設(shè)備可以和媒體服務(wù)器進(jìn)行交互和控制。
另外,我們也需要在教學(xué)網(wǎng)內(nèi)的PC設(shè)備上安裝支持UPnP協(xié)議的播放器,來(lái)提供媒體播放器的功能。這里我們選擇XBMC軟件。
2.媒體服務(wù)器實(shí)現(xiàn)
媒體服務(wù)器負(fù)責(zé)提供內(nèi)容目錄、連接管理、內(nèi)容傳輸三種服務(wù),從這三個(gè)方面進(jìn)行實(shí)現(xiàn),同時(shí)實(shí)現(xiàn)相關(guān)的協(xié)議。
3.XML協(xié)議解析實(shí)現(xiàn)
XML上UPnP通信過(guò)程中使用的數(shù)據(jù)格式協(xié)議所傳輸數(shù)據(jù)的格式是XML的,所以在iOS平臺(tái)上要實(shí)現(xiàn)XML數(shù)據(jù)協(xié)議的解析。
4.AV控制點(diǎn)實(shí)現(xiàn)
AV控制點(diǎn)負(fù)責(zé)協(xié)調(diào)媒體服務(wù)器和媒體播放器之間的互操作。為了使AV控制點(diǎn)能夠與各種媒體服務(wù)器和媒體播放器交互,這里主要實(shí)現(xiàn)以下服務(wù):設(shè)備發(fā)現(xiàn)服務(wù)、多媒體內(nèi)容定位服務(wù)、媒體播放器支持的傳輸協(xié)議/數(shù)據(jù)格式檢測(cè)服務(wù)、多媒體內(nèi)容選擇服務(wù)。