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