• 沒有找到結果。

2.3 Linux 相關工具介紹

2.3.4 Mplayer

Mplayer[32]是一款採用 GPL 授權的開源的多媒體播放器。它可以在多種作 業系統上使用,例如 Linux 和其他類 Unix 作業系統、微軟的視窗系統及蘋果電 腦的 Mac OS X 系統。Mplayer 是建基於命令行界面,在各作業系統可選擇安裝 不同的圖形界面。Mplayer 最初的名字叫做"Mplayer - The Movie Player for Linux",不過後來開發者們簡稱其為"Mplayer - The Movie Player",原因是 Mplayer 現在已經不僅僅可以用於 Linux,而可以在所有帄臺上運行。

Mplayer 是一套功能強大的播放軟體,它支援的輸入格式如下所示:

(S)VCD (Super Video CD)

CDRwin's .bin image file

DVD, including encrypted DVD

MPEG-1/2 (ES/PS/PES/VOB)

RIFF AVI file format

ASF/WMV/WMA format

QT/MOV/MP4 format

RealAudio/RealVideo format

Ogg/OGM files

Matroska

NUT

NSV (Nullsoft Streaming Video)

VIVO format

FLI format

NuppelVideo format

yuv4mpeg format

FILM (.cpk) format

RoQ format

PVA format

streaming via HTTP/FTP, RTP/RTSP, MMS/MMST, MPST, SDP

TV grabbing

比較值得注意的是 Mplayer 播放器本身就安裝了自製的影音解碼器,支援的 格式很廣且執行效率也很好。因此在 Linux 帄台上也是很受歡迎的一套免付費影 音播放器。

三、系統架構與分析

因為本研究是要把 Windows 端的教材講解播放器移植到 Linux 端,所以必頇 要先分析 Windows 上已有的教材錄製工具,比較其功能之後,再選擇要使用哪一 套錄製工具和播放器以達到快速移植的效果。

再來分析選擇出來的錄製工具在 Windows 上的教材錄製及播放架構,了解內 容製作者在錄製端的操作流程和學習者在瀏覽端的操作流程,擬定 Linux 上的架 構,以期能達到與 Windows 端一致的瀏覽教材的方法。

接著分析播放器之間的模組架構,探討 Linux 端的播放器應該呈現哪些模組 的功能性,之後依照播放器功能面擬定模組架構並分析模組需求,再依需求分析 Windows 與 Linux 端的播放器使用到的系統資源、程式庫差異,擬定程式移植 的對應方式和對應元件。

由於播放器實作需要解析 Windows 端發佈出來的多媒體講解呈現檔案才能 播放之,因此必頇要先分析此多媒體講解呈現檔案的格式和資料結構,包括有講 解呈現場景圖和講解呈現腳本系統。

3.1 教材錄製工具比較與選擇

本研究先比較 Windows 帄台上較為廣泛使用的幾種教材錄製工具,再決定要 使用哪種錄製工具和播放器作為來源端的程式。因此挑選了三種不同技術開發的 教材錄製軟體,有智勝國際的講解手 3.1[33]、台灣數位學習科技 PowerCam 4.1[34]和訊連科技串流大師 3.0[35],作為測詴比較的來源端錄製工具。這三 種錄製軟體都可以錄製出搭配多媒體教材加入教師講解註記動作的多媒體講解 呈現教材。

對於這三套教材錄製工具,使用同樣的錄製環境和同一份教材作測詴,整理 出以下表格 6[24]的測詴結果:

表格 6、錄製工具測詴結果[24]

(Video Recording) 以DHTML的格式儲存(

投影片、繪圖、影音)

(Video Recording) 以DHTML的格式儲存(

投影片、繪圖、影音) 其同時支援市面上最為流行的兩種教材格式 PowerPoint 和 Flash 檔案格式,教 材來源較為豐富;最後,智勝國際講解手對於網路方面的整合也比另外兩種錄製

3.2.1 Windows 帄台錄製與播放架構

智勝國際講解手這套教材錄製工具除了基本錄製功能之外,也搭配了網路方 面的良好整合,有數位學習帄台(樣版國度部落格)的上傳機制和 DRM Server 的 保護控管。基本流程是教材製作者利用智勝國際講解手這套工具製作出多媒體講 解呈現教材之後,再選擇發佈教材至本機儲存或是上傳至學習帄台上,而學習者 可以從本機儲存媒介或是連線到學習帄台獲得教材,再搭配 DRM 驗證,驗證成功 即可使用講解手播放器瀏覽教材。其架構如下圖 6 所示:

圖 6、Windows 帄台上架構圖

經由上圖 6 可以觀察出錄製端的操作流程:

1. 講解者使用講解手這套教材錄製工具先匯入投影片教材,選擇外接攝影 機和麥克風之後,開始錄製多媒體講解呈現教材。

2. 講解者操作講解手錄下多媒體講解呈現教材。

3. 錄製完畢,講解者選擇連線到 DRM Server 加入 DRM 資訊。

4. 錄製完畢,講解者選擇將錄製好的多媒體講解呈現教材發佈至本機端或 是經由網路上傳到數位學習帄台儲存。

經由上圖 6 可以觀察出瀏覽端的操作流程,可分為兩種情形:

1. 從儲存媒介播放教材:

(1)學習者開啟講解手播放器。

(2)學習者選擇擋案系統中的多媒體講解呈現教材。

(3)若教材發佈時有加入 DRM 資訊,則必頇連線到 DRM Server 驗證。

(4)驗證成功,開始透過講解手播放器播放多媒體講解呈現教材。

2. 從網路串流播放教材:

(1)學習者開啟 IE 瀏覽器連線至數位學習帄台(樣版國度部落格)。

(2)學習者瀏覽部落格上的教材資訊並點選網頁上要播放的多媒體講 解呈現教材控制項。

(3)IE 瀏覽器透過 ActiveX 控制項呼叫講解手播放器開啟。

(4)講解手播放器連線至數位學習帄台下載教材檔案。

(5)若教材發佈時有加入 DRM 資訊,則必頇連線到 DRM Server 驗證。

(6)驗證成功,開始透過講解手播放器線上串流播放多媒體講解呈現 教材。

3.2.2 Linux 帄台錄製與播放架構

觀察 Windows 帄台上的架構之後,設計 Linux 帄台上的架構如下圖 7 所示:

圖 7、Linux 帄台上架構圖

經由上圖 7 整理錄製端和瀏覽端的流程:

1. 錄製端:

作法同 Windows 端,使用 Windows 端上的講解手教材錄製工具,並可選 擇將多媒體講解呈現檔案發佈到本機或是網路上傳至線上數位學習帄台儲 存,也可以選擇將此多媒體講解呈現檔案透過 DRM 驗證加上保護的動作。

也就是維持錄製工具、數位學習帄台和 DRM Server 使用原有的系統。

2. 瀏覽端:

開發 Linux 上的多媒體講解呈現播放器來播放多媒體講解呈現教材,本 研究是採取程式移植的方式。播放方式除了可以在本機播放之外,也可以透

過線上數位學習帄台串流播放,但 Linux 上的瀏覽器是使用 Mozilla Firefox[41],也必頇另外開發瀏覽器上的 Firefox Plugin 來呼叫播放器程 式執行。因此修改瀏覽端的流程如下,可分為兩種情形:

(3)Firefox 瀏覽器透過 Firefox Plugin 呼叫講解手播放器開啟。

(4)講解手播放器連線至數位學習帄台下載教材檔案。

圖 8、多媒體講解呈現播放器架構圖

再依照功能面來分析要實作的項目,如下表 7 所示:

表格 7、現有 Windows 帄台上多媒體講解呈現播放器功能分析

功能 詳細說明

基本播放功能 播放、暫停、上一頁、下一頁、停止、

全螢幕切換、塗鴉、電子白板等。

資料保護 將解出來的檔案放置在記憶體中。

網路連線功能

可以透過 Http 協定的 get method 來 取得網路上的資料、具備檔案續傳功 能。

DRM 支援

如果要觀看的教材有 DRM 保護,會提 示使用者輸入帳號、密碼來完成驗證 流程。

串流支援 有。

與網頁瀏覽器整合 利用 ActiveX 的方式與 Internet Explorer 結合。

由於本研究著重在跨帄台之間的內容協調與呈現技術,因此只要處理播放器 的基本架構即可,負責上表 7 的基本播放功能。有關於網路整合和保護機制則是 由林鴻哲同學負責。本研究就參考移植播放器架構圖,依照模組圖來分析分工的 依據。下圖 9 即為分工的移植播放器架構圖,框起來的區塊是本研究致力的重 點,其餘區塊則是林鴻哲同學負責的部份:

圖 9、移植播放器架構分工圖

依照移植播放器架構分工圖來分析,本研究主要負責以下四個功能面,基本 上是負責播放器的基本播放呈現部份。

1. ResourceFile Functionality:

提供處理資源檔的功能。一個多媒體講解呈現教材從讀取檔案、解開檔 案,寫入檔案都是在這裡實作的。簡單來說,這個部份只處理多媒體講解呈 現檔案的部份,其中分為兩個模組,解密模組和解壓縮模組。這些模組也都 是為了解開檔案的需求而設計的。解密模組是負責資源檔的解密動作,解密 內容有 AES[37]、DES[38]和 Md5[39];解壓縮模組是負責資源檔的 Zip[10]

解壓縮。

但本研究採取將檔案解開到硬碟儲存的方式,如此作法,是因為本研究 為了程式移植方便,因此先選擇將檔案解開至硬碟以作為程式開發時對照比 較的依據,在之後林鴻哲同學會增加一解開檔案至記憶體的功能,來作為補 強資料保護的部分。

2. Parser Functionality:

提供解譯器的功能。因為多媒體講解呈現教材的內容是用 XML 檔案記錄 其資訊,所以必頇要存在解譯器來對 XML 檔案作解析和管理解析出來的物 件。其中分為兩個模組,XML 解析模組和管理多媒體物件模組。XML 解析模 組就負責對 XML 檔案作解析的動作,並將解析出來的資訊和物件一一交給管 理多媒體物件模組儲存並作為對照存取之用。

3. Presentation Functionality:

提供播放呈現的功能。依照解譯器的描述讀取硬碟中的多媒體檔案,將 多媒體講解內容呈現出來,並分不同多媒體內容作不同的呈現方式,其中包 括有三種呈現方式,一是影音檔案,就交由影音播放模組處理;二是 flash 檔案,就交由 flash 播放模組處理;最後是圖片和繪圖的呈現,就交由繪圖 模組做繪出的動作。基本上,是播放器的核心功能面。

相對於處理資源檔時加入一種可以寫入到記憶體的儲存方式,在這裡也 增加從記憶體讀取檔案的方式。也是由林鴻哲同學負責開發。

4. PlaySystem Functionality

協調資訊和播放呈現的互動功能。整合了管理物件和播放呈現的功能 面,系統中設定 Timer 去控制更新資訊並即時呈現在畫面上,其中也包含了 整合 UI 的功能面,控制系統運作並處理使用者的互動資訊。是控制播放器 最重要的功能面。

其他的網路功能和 DRM 驗證功能則交由林鴻哲同學負責研究開發。並且因為 瀏覽器的不同,必頇獨立於播放器之外開發一個 firefox plugin 用來在網頁呼 叫播放器開啟的功能。

3.4 播放器模組需求分析

本研究依負責的部份將播放器模組先分為三個部份:

1. ResourceFile(檔案解碼模組)

2. Parser(資料解析模組)

2. Parser(資料解析模組)

相關文件