新聞中心

EEPW首頁(yè) > 消費(fèi)電子 > 設(shè)計(jì)應(yīng)用 > 基于Web流媒體系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

基于Web流媒體系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

作者: 時(shí)間:2009-04-24 來(lái)源:網(wǎng)絡(luò) 收藏

摘 要:現(xiàn)有的采用瀏覽器/服務(wù)器體系結(jié)構(gòu),為師生提供了方便實(shí)用的在線學(xué)習(xí)平臺(tái),但缺少對(duì)學(xué)習(xí)的監(jiān)督和評(píng)價(jià)機(jī)制。JSP技術(shù)和Oracle技術(shù)的視頻點(diǎn)播,在系統(tǒng)的基礎(chǔ)上增加了相應(yīng)的教學(xué)支撐子系統(tǒng),且提供對(duì)視頻內(nèi)容的索引功能,視頻內(nèi)容的相關(guān)介紹性信息同步呈現(xiàn)。其在有效利用技術(shù)為網(wǎng)絡(luò)教學(xué)服務(wù)同時(shí),增強(qiáng)了在線學(xué)習(xí)的實(shí)用性和交互性。
關(guān)鍵詞:流媒體;視頻點(diǎn)播;JSP;B/S結(jié)構(gòu)

本文引用地址:http://butianyuan.cn/article/166995.htm


0 引 言
Internet的迅速普及利發(fā)展,給人們的生活和學(xué)習(xí)方式帶來(lái)了極大的變化,越來(lái)越多的人正通過(guò)遠(yuǎn)程教育不斷提高自己的知識(shí)水平。傳統(tǒng)的主要課堂的教學(xué)方式需要在這種發(fā)展變化中進(jìn)行革新。教學(xué)視頻資源的在線點(diǎn)播,能彌補(bǔ)單純課堂教學(xué)在時(shí)間和空間上的局限性,使學(xué)習(xí)者能靈活安排課余時(shí)間和學(xué)習(xí)場(chǎng)所,通過(guò)網(wǎng)絡(luò)教學(xué)視頻重溫課堂教學(xué)過(guò)程,并且學(xué)生能及時(shí)的反饋,同時(shí),教師也能將教學(xué)視頻資料隨時(shí)上傳到該系統(tǒng)。由此可見(jiàn),這種網(wǎng)絡(luò)環(huán)境下的流媒體系統(tǒng)是一種靈活、高效的教學(xué)方法,加強(qiáng)了師生對(duì)教學(xué)過(guò)程的參與度,提高了教學(xué)質(zhì)量。


1 系統(tǒng)總體結(jié)構(gòu)的
1.1 系統(tǒng)的方案
作為網(wǎng)絡(luò)教學(xué)平臺(tái)中最為重要的組件之一流媒體系統(tǒng),其目標(biāo)是在Internet/Intranet上在線學(xué)習(xí)系統(tǒng),所以首先要考慮的是系統(tǒng)的維護(hù)工作量,盡可能地減少客戶端的系統(tǒng)維護(hù)工作。因此,該系統(tǒng)的體系結(jié)構(gòu)建立在的B/S基礎(chǔ)上,通過(guò)與B/S結(jié)構(gòu)的數(shù)據(jù)庫(kù)管理系統(tǒng)結(jié)合,真正了瘦客戶機(jī)模型或稱客戶端零配置,使得系統(tǒng)的維護(hù)儀需在服務(wù)器端進(jìn)行。良好的可擴(kuò)展性是系統(tǒng)的另一個(gè)重要設(shè)計(jì)原則。系統(tǒng)采用模塊化的設(shè)計(jì)方法,選擇易于擴(kuò)展、跨平臺(tái)的JSP編程語(yǔ)言環(huán)境,使用Oracle作為后臺(tái)數(shù)據(jù)庫(kù)。整個(gè)流媒體系統(tǒng)可劃分為若干個(gè)功能模塊,而且各個(gè)功能模塊之間是相互獨(dú)立的,因而各部分都可以獨(dú)立地進(jìn)行功能的完善和擴(kuò)展。系統(tǒng)采用Window 2000 Server作為網(wǎng)絡(luò)操作系統(tǒng),Oracle作為數(shù)據(jù)庫(kù)服務(wù)器,Apache作為應(yīng)用程序服務(wù)器,流媒體服務(wù)器使用Helix Server9.0開(kāi)發(fā),并用JavaScript腳本語(yǔ)言編寫(xiě)客戶端的程序,以便配合JSF語(yǔ)言開(kāi)發(fā)服務(wù)器端的應(yīng)用程序。
1.2 數(shù)據(jù)庫(kù)設(shè)計(jì)
數(shù)據(jù)庫(kù)設(shè)計(jì)主要是為系統(tǒng)設(shè)計(jì)數(shù)據(jù)庫(kù)與表,該系統(tǒng)具有以下幾個(gè)表:學(xué)生基本信息表、教師管理員表、院系信息表、教學(xué)科目信息表、學(xué)生選課表、教師授課表、媒體信息表、留言信息表其中主要是媒體信息表和留言信息表,媒體信息表記錄媒體的相關(guān)信息,其屬性主要包括自動(dòng)編號(hào)、路徑文件名、文件大小、類型、索引關(guān)鍵字1、索引關(guān)鍵字2、索引關(guān)鍵字3、所屬科目、所有者編號(hào);留言信息表:記錄論壇的留言信息,包括留言的標(biāo)題、內(nèi)容、媒體編號(hào)、發(fā)表者、發(fā)表日期等內(nèi)容。


2 系統(tǒng)功能模塊設(shè)計(jì)與
整個(gè)系統(tǒng)功能模塊如下圖1所示,主要功能模塊分為前臺(tái)瀏覽搜索模塊和后臺(tái)媒體管理模塊。

前臺(tái)程序部分主要實(shí)現(xiàn)學(xué)生登錄的身份驗(yàn)證,分課程顯示相應(yīng)的在線視頻。前臺(tái)首先要求學(xué)生輸入姓名、學(xué)號(hào)進(jìn)行身份驗(yàn)證,系統(tǒng)從學(xué)生信息表中檢索,若輸入的姓名和學(xué)號(hào)不在庫(kù)中,給出相關(guān)提示,要求重新輸入;考生成功登錄后,即可對(duì)自己感興趣的科目進(jìn)行點(diǎn)播,系統(tǒng)將自動(dòng)記錄學(xué)生登錄的時(shí)間及在線時(shí)長(zhǎng),以及給出下一步的學(xué)習(xí)策略。
系統(tǒng)后臺(tái)管理程序采用系統(tǒng)管理員和普通教師兩級(jí)管理模式。普通教師具有上傳、刪除視頻資料功能,修改視頻文件索引內(nèi)容,學(xué)生對(duì)課程的一些看法管理,學(xué)生學(xué)習(xí)情況查詢和統(tǒng)計(jì)等功能;系統(tǒng)管理員具有系統(tǒng)的完全權(quán)限,具有教師的所有功能外還包括教師基本信息管理、學(xué)生信息管理、課程信息管理、系統(tǒng)設(shè)置。后臺(tái)管理功能可以在任意地方以方式進(jìn)行在線的管理,登錄時(shí)首先進(jìn)行身份認(rèn)證,然后根據(jù)管理員表中的信息來(lái)進(jìn)行相應(yīng)的管理。因此,后臺(tái)管理功能主要分為兩大功能模塊:一方面是系統(tǒng)管理員(相當(dāng)于教務(wù)處人員)的管理模塊,主要的功能是課程管理;學(xué)生信息管理;教師的基本信息管理;系統(tǒng)的版面設(shè)計(jì)等;另一方面是教師的管理模塊,主要是對(duì)視頻文件和學(xué)生留言的管理以及對(duì)學(xué)生學(xué)習(xí)情況的統(tǒng)計(jì)功能。


3 系統(tǒng)中關(guān)鍵技術(shù)的實(shí)現(xiàn)
3.1 關(guān)鍵代碼介紹
對(duì)于本流媒體系統(tǒng)來(lái)說(shuō),主要是利用Jbuilder9編寫(xiě)JSP應(yīng)用程序,其中主要是對(duì)0racle中的數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行增加、刪除、修改和統(tǒng)計(jì)輸出操作即數(shù)據(jù)庫(kù)的讀、寫(xiě)操作,完成大部分的功能模塊的編寫(xiě)。限于篇幅,下面主要介紹兩個(gè)關(guān)鍵部分的代碼如下所示:


該程序段的功能是JSP連接數(shù)據(jù)庫(kù)。其中strearn―ing為數(shù)據(jù)庫(kù)名;user是該系統(tǒng)數(shù)據(jù)庫(kù)的用戶名;pass―word是訪問(wèn)數(shù)據(jù)庫(kù)的密碼。而前臺(tái)是提供學(xué)生一個(gè)視頻文件列表和提供按文件名或索引關(guān)鍵字進(jìn)行查詢功能;后臺(tái)程序主要是對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)進(jìn)行增加、刪除和修改等功能,下列程序是視頻文件搜索模塊:


3.2 流媒體服務(wù)器介紹
該系統(tǒng)采用的流媒體服務(wù)器是Helix Server9.0。Helix Server不支持所有的流媒體文件,所以還要一些軟件支持,因此Helix Universal Platform提供了一個(gè)功能強(qiáng)大的工具――Helix Produeer。它可以將HelixServer不支持的流媒體文件轉(zhuǎn)換成支持的流媒體文件。
Helix Server提供了多種類型服務(wù):
(1)點(diǎn)播(On―Demand)。任何時(shí)候,用戶都可以通過(guò)單擊Helix Server管理員公布的連接,向Helix Server提出播放流媒體文件的要求,服務(wù)器再按照用戶的要求,以“流”的方式不斷地把數(shù)據(jù)傳給用戶。用戶可以像播放本地流媒體文件一樣,隨意控制文件播放。
(2)直播(Live)。網(wǎng)絡(luò)直播和現(xiàn)實(shí)生活中的電視直播方式是類似的。直播的過(guò)程大致如下:
①用數(shù)/模轉(zhuǎn)換設(shè)備如視頻采集卡將采集的模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào);
②數(shù)字信號(hào)經(jīng)壓縮編碼軟件,如Helix Producer轉(zhuǎn)換成流媒體數(shù)據(jù)流,并送往Helix Server;
③用戶單擊連接時(shí),Helix Server將接收到的數(shù)據(jù)流發(fā)送給用戶。與點(diǎn)播不同的是用戶收看的是實(shí)時(shí)信號(hào),但用戶不能控制快進(jìn)、暫停。
(3)模擬直播(Simulated Live)。模擬直播的過(guò)程如下:
①流媒體文件儲(chǔ)存在服務(wù)器或其他PC機(jī)上;
②利用Helix Server提供的輔助工具“SLTA”,將流媒體文件以數(shù)據(jù)流的形式發(fā)送給Helix Server;
③用戶單擊連接時(shí),Helix Server將接收到的數(shù)據(jù)流發(fā)送給用戶。用戶看到的是事先制作好的流媒體文件,就象是日常生活中通過(guò)電視收看故事片一樣。
若采用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上實(shí)現(xiàn)包括音頻、視頻信息在內(nèi)的多媒體流信息的傳輸。
Windows Media Technology由Media Tools,MediaServer和Media Player工具構(gòu)成。MediaTools是整個(gè)方案的重要組成部分,它提供了一系列的工具幫助用戶生成ASF格式的多媒體流(包括實(shí)時(shí)生成的多媒體流),分為創(chuàng)建工具和編輯工具兩種,創(chuàng)建工具主要用于生成ASF格式的多媒體流,包括:Media En―coder,Author,VidToASF,WavToASF,Presenter五個(gè)工具;編輯工具主要對(duì)ASF格式的多媒體流信息進(jìn)行編輯與管理,包括后期制作編輯工具ASFIndexer與ASFChop,以及對(duì)ASF流進(jìn)行檢查并改正錯(cuò)誤的AS―FCheck。Media Servet提供ASF流式媒體的網(wǎng)絡(luò)發(fā)布服務(wù),包括兩大基本服務(wù)模塊:Unicast Server和Station Servet。其中,Unicast Server為客戶提供了點(diǎn)對(duì)點(diǎn)連接方式服務(wù),Station提供廣播式服務(wù)。MediaPlayer是客戶端播放工具,提供強(qiáng)大的流信息的播放功能。


4 結(jié)語(yǔ)
該系統(tǒng)解決了學(xué)生課余自學(xué)課程的問(wèn)題。這種基于Web的流媒體系統(tǒng)問(wèn)題的提出、設(shè)計(jì)和開(kāi)發(fā)都是基于網(wǎng)絡(luò)環(huán)境下教學(xué)的實(shí)際需求而進(jìn)行的,經(jīng)過(guò)了一段時(shí)間的試用,大大提高了教學(xué)的信息化和網(wǎng)絡(luò)化程度,提高了教學(xué)效率。在此認(rèn)為這是一個(gè)有價(jià)值的實(shí)用的在線教學(xué)系統(tǒng)平臺(tái)。在今后的使用過(guò)程中,教師和學(xué)生一定會(huì)對(duì)系統(tǒng)的功能提出更高的要求、反饋意見(jiàn)和建議,該流媒體系統(tǒng)也會(huì)進(jìn)一步地實(shí)用和完善。



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉