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