基于Web流媒體系統(tǒng)的設(shè)計與實現(xiàn)
摘 要:現(xiàn)有的流媒體系統(tǒng)采用瀏覽器/服務(wù)器體系結(jié)構(gòu),為師生提供了方便實用的在線學習系統(tǒng)平臺,但缺少對學習的監(jiān)督和評價機制。基于JSP技術(shù)和Oracle技術(shù)的視頻點播系統(tǒng),在流媒體系統(tǒng)的基礎(chǔ)上增加了相應(yīng)的教學支撐子系統(tǒng),且提供對視頻內(nèi)容的索引功能,實現(xiàn)視頻內(nèi)容的相關(guān)介紹性信息同步呈現(xiàn)。其在有效利用流媒體技術(shù)為網(wǎng)絡(luò)教學服務(wù)同時,增強了在線學習的實用性和交互性。
關(guān)鍵詞:流媒體;視頻點播;JSP;B/S結(jié)構(gòu)
0 引 言
Internet的迅速普及利發(fā)展,給人們的生活和學習方式帶來了極大的變化,越來越多的人正通過遠程教育不斷提高自己的知識水平。傳統(tǒng)的主要基于課堂的教學方式需要在這種發(fā)展變化中進行革新。教學視頻資源的在線點播,能彌補單純課堂教學在時間和空間上的局限性,使學習者能靈活安排課余時間和學習場所,通過網(wǎng)絡(luò)教學視頻重溫課堂教學過程,并且學生能及時的反饋,同時,教師也能將教學視頻資料隨時上傳到該系統(tǒng)。由此可見,這種基于網(wǎng)絡(luò)環(huán)境下的流媒體系統(tǒng)是一種靈活、高效的教學方法,加強了師生對教學過程的參與度,提高了教學質(zhì)量。
1 系統(tǒng)總體結(jié)構(gòu)的設(shè)計
1.1 系統(tǒng)設(shè)計的方案
作為網(wǎng)絡(luò)教學平臺中最為重要的組件之一流媒體系統(tǒng),其目標是在Internet/Intranet上設(shè)計在線學習系統(tǒng),所以首先要考慮的是系統(tǒng)的維護工作量,盡可能地減少客戶端的系統(tǒng)維護工作。因此,該系統(tǒng)的體系結(jié)構(gòu)建立在Web的B/S基礎(chǔ)上,通過與B/S結(jié)構(gòu)的數(shù)據(jù)庫管理系統(tǒng)結(jié)合,真正實現(xiàn)了瘦客戶機模型或稱客戶端零配置,使得系統(tǒng)的維護儀需在服務(wù)器端進行。良好的可擴展性是系統(tǒng)的另一個重要設(shè)計原則。系統(tǒng)采用模塊化的設(shè)計方法,選擇易于擴展、跨平臺的JSP編程語言環(huán)境,使用Oracle作為后臺數(shù)據(jù)庫。整個流媒體系統(tǒng)可劃分為若干個功能模塊,而且各個功能模塊之間是相互獨立的,因而各部分都可以獨立地進行功能的完善和擴展。系統(tǒng)采用Window 2000 Server作為網(wǎng)絡(luò)操作系統(tǒng),Oracle作為數(shù)據(jù)庫服務(wù)器,Apache作為應(yīng)用程序服務(wù)器,流媒體服務(wù)器使用Helix Server9.0開發(fā),并用JavaScript腳本語言編寫客戶端的程序,以便配合JSF語言開發(fā)服務(wù)器端的應(yīng)用程序。
1.2 數(shù)據(jù)庫設(shè)計
數(shù)據(jù)庫設(shè)計主要是為系統(tǒng)設(shè)計數(shù)據(jù)庫與表,該系統(tǒng)具有以下幾個表:學生基本信息表、教師管理員表、院系信息表、教學科目信息表、學生選課表、教師授課表、媒體信息表、留言信息表其中主要是媒體信息表和留言信息表,媒體信息表記錄媒體的相關(guān)信息,其屬性主要包括自動編號、路徑文件名、文件大小、類型、索引關(guān)鍵字1、索引關(guān)鍵字2、索引關(guān)鍵字3、所屬科目、所有者編號;留言信息表:記錄論壇的留言信息,包括留言的標題、內(nèi)容、媒體編號、發(fā)表者、發(fā)表日期等內(nèi)容。
2 系統(tǒng)功能模塊設(shè)計與實現(xiàn)
整個系統(tǒng)功能模塊如下圖1所示,主要功能模塊分為前臺瀏覽搜索模塊和后臺媒體管理模塊。
前臺程序部分主要實現(xiàn)學生登錄的身份驗證,分課程顯示相應(yīng)的在線視頻。前臺首先要求學生輸入姓名、學號進行身份驗證,系統(tǒng)從學生信息表中檢索,若輸入的姓名和學號不在庫中,給出相關(guān)提示,要求重新輸入;考生成功登錄后,即可對自己感興趣的科目進行點播,系統(tǒng)將自動記錄學生登錄的時間及在線時長,以及給出下一步的學習策略。
系統(tǒng)后臺管理程序采用系統(tǒng)管理員和普通教師兩級管理模式。普通教師具有上傳、刪除視頻資料功能,修改視頻文件索引內(nèi)容,學生對課程的一些看法管理,學生學習情況查詢和統(tǒng)計等功能;系統(tǒng)管理員具有系統(tǒng)的完全權(quán)限,具有教師的所有功能外還包括教師基本信息管理、學生信息管理、課程信息管理、系統(tǒng)設(shè)置。后臺管理功能可以在任意地方以Web方式進行在線的管理,登錄時首先進行身份認證,然后根據(jù)管理員表中的信息來進行相應(yīng)的管理。因此,后臺管理功能主要分為兩大功能模塊:一方面是系統(tǒng)管理員(相當于教務(wù)處人員)的管理模塊,主要的功能是課程管理;學生信息管理;教師的基本信息管理;系統(tǒng)的版面設(shè)計等;另一方面是教師的管理模塊,主要是對視頻文件和學生留言的管理以及對學生學習情況的統(tǒng)計功能。
3 系統(tǒng)中關(guān)鍵技術(shù)的實現(xiàn)
3.1 關(guān)鍵代碼介紹
對于本流媒體系統(tǒng)來說,主要是利用Jbuilder9編寫JSP應(yīng)用程序,其中主要是對0racle中的數(shù)據(jù)庫中的數(shù)據(jù)進行增加、刪除、修改和統(tǒng)計輸出操作即數(shù)據(jù)庫的讀、寫操作,完成大部分的功能模塊的編寫。限于篇幅,下面主要介紹兩個關(guān)鍵部分的代碼如下所示:
該程序段的功能是JSP連接數(shù)據(jù)庫。其中strearn―ing為數(shù)據(jù)庫名;user是該系統(tǒng)數(shù)據(jù)庫的用戶名;pass―word是訪問數(shù)據(jù)庫的密碼。而前臺是提供學生一個視頻文件列表和提供按文件名或索引關(guān)鍵字進行查詢功能;后臺程序主要是對數(shù)據(jù)庫中數(shù)據(jù)進行增加、刪除和修改等功能,下列程序是視頻文件搜索模塊:
3.2 流媒體服務(wù)器介紹
該系統(tǒng)采用的流媒體服務(wù)器是Helix Server9.0。Helix Server不支持所有的流媒體文件,所以還要一些軟件支持,因此Helix Universal Platform提供了一個功能強大的工具――Helix Produeer。它可以將HelixServer不支持的流媒體文件轉(zhuǎn)換成支持的流媒體文件。
Helix Server提供了多種類型服務(wù):
(1)點播(On―Demand)。任何時候,用戶都可以通過單擊Helix Server管理員公布的Web連接,向Helix Server提出播放流媒體文件的要求,服務(wù)器再按照用戶的要求,以“流”的方式不斷地把數(shù)據(jù)傳給用戶。用戶可以像播放本地流媒體文件一樣,隨意控制文件播放。
(2)直播(Live)。網(wǎng)絡(luò)直播和現(xiàn)實生活中的電視直播方式是類似的。直播的過程大致如下:
①用數(shù)/模轉(zhuǎn)換設(shè)備如視頻采集卡將采集的模擬信號轉(zhuǎn)換成數(shù)字信號;
②數(shù)字信號經(jīng)壓縮編碼軟件,如Helix Producer轉(zhuǎn)換成流媒體數(shù)據(jù)流,并送往Helix Server;
③用戶單擊連接時,Helix Server將接收到的數(shù)據(jù)流發(fā)送給用戶。與點播不同的是用戶收看的是實時信號,但用戶不能控制快進、暫停。
(3)模擬直播(Simulated Live)。模擬直播的過程如下:
①流媒體文件儲存在服務(wù)器或其他PC機上;
②利用Helix Server提供的輔助工具“SLTA”,將流媒體文件以數(shù)據(jù)流的形式發(fā)送給Helix Server;
③用戶單擊連接時,Helix Server將接收到的數(shù)據(jù)流發(fā)送給用戶。用戶看到的是事先制作好的流媒體文件,就象是日常生活中通過電視收看故事片一樣。
若采用Microsoft公司的windows Media Tech―nology,則上述代碼中“a href=rtsp:\10.10.14.91”部分可改為“a href=mms:\10.10.14.91”。Win―dows Media Technologyr是Microsoft提出的信息流式播放方案,其主要目的是在Internet和Intranet上實現(xiàn)包括音頻、視頻信息在內(nèi)的多媒體流信息的傳輸。
Windows Media Technology由Media Tools,MediaServer和Media Player工具構(gòu)成。MediaTools是整個方案的重要組成部分,它提供了一系列的工具幫助用戶生成ASF格式的多媒體流(包括實時生成的多媒體流),分為創(chuàng)建工具和編輯工具兩種,創(chuàng)建工具主要用于生成ASF格式的多媒體流,包括:Media En―coder,Author,VidToASF,WavToASF,Presenter五個工具;編輯工具主要對ASF格式的多媒體流信息進行編輯與管理,包括后期制作編輯工具ASFIndexer與ASFChop,以及對ASF流進行檢查并改正錯誤的AS―FCheck。Media Servet提供ASF流式媒體的網(wǎng)絡(luò)發(fā)布服務(wù),包括兩大基本服務(wù)模塊:Unicast Server和Station Servet。其中,Unicast Server為客戶提供了點對點連接方式服務(wù),Station提供廣播式服務(wù)。MediaPlayer是客戶端播放工具,提供強大的流信息的播放功能。
4 結(jié)語
該系統(tǒng)解決了學生課余自學課程的問題。這種基于Web的流媒體系統(tǒng)問題的提出、設(shè)計和開發(fā)都是基于網(wǎng)絡(luò)環(huán)境下教學的實際需求而進行的,經(jīng)過了一段時間的試用,大大提高了教學的信息化和網(wǎng)絡(luò)化程度,提高了教學效率。在此認為這是一個有價值的實用的在線教學系統(tǒng)平臺。在今后的使用過程中,教師和學生一定會對系統(tǒng)的功能提出更高的要求、反饋意見和建議,該流媒體系統(tǒng)也會進一步地實用和完善。
評論