《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 業(yè)界動態(tài) > 基于JMF和SMIL技術(shù)實現(xiàn)在線虛擬教室

基于JMF和SMIL技術(shù)實現(xiàn)在線虛擬教室

2009-01-05
作者:孫樹剛

引?? 言?

由于帶寬的限制,目前在網(wǎng)絡(luò)上提供多媒體資料傳輸?shù)膽?yīng)用還得不到所需的品質(zhì)保證,市面上也沒有一個非常完整的開放式多媒體傳輸協(xié)定和播放環(huán)境.然而隨著網(wǎng)絡(luò)技術(shù)的進步和帶寬的逐步增加,電子商務(wù),遠程教學(xué),視頻會議等都將需要一個即時互動的多媒體播放系統(tǒng).?

要在網(wǎng)絡(luò)上支持多媒體即時和同步的特性,需要以即時資料流(streaming)的形式,一邊下載一邊播放多媒體材料.本專題的目標(biāo)就是實現(xiàn)一個以SMIL技術(shù)為標(biāo)準(zhǔn),以java applet開發(fā)的在線虛擬教室系統(tǒng),該系統(tǒng)也是整個英語遠程教學(xué)系統(tǒng)的一部分.本專題結(jié)合SMIL語言描述多媒體資料“同步展示”的機制來制作遠程教學(xué)所需的教學(xué)內(nèi)容,利用java語言跨平臺和網(wǎng)絡(luò)通訊的能力,使用JMF技術(shù)來處理播放多媒體課件,用RTP協(xié)議來傳輸多媒體資料流,最終形成一個“虛擬教學(xué)系統(tǒng)”.登錄本系統(tǒng)后,老師可以播放用SMIL技術(shù)制作的多媒體教學(xué)內(nèi)容,讓所有學(xué)生能夠同步地接收到SMIL教材和老師的講解內(nèi)容.此外,整個上課的過程都會以一個SMIL檔案的形式記錄下來,方便學(xué)生在下課后隨時觀看復(fù)習(xí),以滿足遠程教學(xué)中“即時”,“同步”的要求.?

技術(shù)背景?

1.JMF和RTP?

Java媒體框架(Java Media Framework,簡稱JMF)是向java獨立應(yīng)用程序和小應(yīng)用程序中集成媒體數(shù)據(jù)類型的應(yīng)用程序接口(API).它是特為利用Java平臺的特征而設(shè)計的.它使java程序具有很多新功能:捕捉音視頻信號,存儲,播放并處理媒體數(shù)據(jù),并能夠傳輸媒體數(shù)據(jù)和對多媒體格式進行編碼和譯碼.它還支持壓縮的媒體流及存儲媒體的同步,控制,處理和播放.支持媒體流,就是說在接收媒體流的同時就產(chǎn)生音視頻,而不需要在本地存儲.?

JMF RTP API提供了對實時傳輸協(xié)議RTP的支持.JMF用會話管理器在發(fā)送端和接收端建立RTP會話連接.JMF使用一個SessionManager(會話管理器)來協(xié)調(diào)RTP會話,會話管理器跟蹤會話的參與者和被傳輸?shù)牧?從本地參與者的角度維護會話狀態(tài).圖1和圖2概括了其工作過程.?

2.SMIL?

SMIL是同步多媒體集成語言(Synchronized Multimedia Integration Language)的縮寫, 通常被人們讀作“Smile”.它是由W3C(World Wide Web Consortium)組織規(guī)定的多媒體操縱語言.最新的SMIL版本是2001年8月推出的SMIL 2.0版本. SMIL是能夠使音頻、視頻以及文本等多媒體信息內(nèi)容要素獲得同步的描述語言。創(chuàng)建SMIL文件是很簡單的,很多SMIL文件只需要文本編輯器就可以創(chuàng)建修改。一些簡單標(biāo)志的書寫就可以完成一個SMIL文件. 網(wǎng)頁設(shè)計者可很容易地安排網(wǎng)頁上的視頻、聲音及文字各部分的時序,而不需要任何編程.同時,使用SMIL也可顯著節(jié)省帶寬,因為在同一網(wǎng)頁中只有被使用的資料才會下載.

圖1. RTP Reception

圖2.RTP Transmission

系統(tǒng)功能?

該系統(tǒng)用java語言實現(xiàn),利用JMF與RTP傳輸技術(shù)實現(xiàn)傳輸和播放SMIL教材,采用C/S構(gòu)架,服務(wù)器端只要是提供客戶端登錄系統(tǒng),處理多媒體材料的廣播信息到指定的客戶端,判斷SMIL文件中所要求的多媒體文件類型,提供客戶端提出的多媒體傳輸服務(wù).客戶端負(fù)責(zé)接收想要播放的SMIL文件中的多媒體資料,根據(jù)SMIL文件中對于展示播放的同步要求,通過網(wǎng)頁上的鏈接來選擇想要播放的教材.?

根據(jù)客戶端登錄的權(quán)限可將用戶分為老師和學(xué)生兩種身份,教師部分有選擇教材,多媒體展示畫面的操作界面,指定廣播來源和對象及提供畫面注解的功能.學(xué)生部分則通過Applet界面執(zhí)行接受教師端廣播畫面的功能.具體功能如下:?

1.同步多媒體的播放?

使用SMIL語言定義每個媒體文件的版面配置,文檔來源,播放的起止時間和同步關(guān)系.由于媒體信息并不存在于SMIL文件中,可以獨立存放在媒體伺服器中,所以客戶端能夠很快的取得SMIL文件提供的信息,由SMIL Parser分析SMIL展示結(jié)構(gòu)后立即向媒體伺服器發(fā)出播放媒體文件的請求.假如突然改變媒體的播放順序,也只需編輯SMIL文件即可,不需要重新整合.?

2.即時多媒體傳輸?

由于聲音,影像文件相當(dāng)龐大,如果以TCP協(xié)議傳輸將無法滿足即時需求,而且會增加網(wǎng)絡(luò)的負(fù)載,因此本系統(tǒng)將透過JMF/RTP建立即時多媒體的流傳輸能力,在網(wǎng)絡(luò)上做到同步傳輸.?

3.提供Application和Applet兩種版本?

通過java Applet方式,在任何支持java的瀏覽器中即可使用本系統(tǒng)來學(xué)習(xí).但由于Applet在安全性上的限制,所以我們又另外開發(fā)一個java Application版本,使本系統(tǒng)的功能更加完善.?

設(shè)計實現(xiàn)?

1.SMIL文件的制作?

僅以一個教學(xué)文件的制作為例說明制作過程,以下是部分源文件:?

?

………?

?

?

以上源程序中各種媒體文件的關(guān)系如下圖所示:?

圖3.各種媒體信息在時間軸上的關(guān)系?

2.?系統(tǒng)設(shè)計?

整個系統(tǒng)的設(shè)計分為客戶端和服務(wù)器端兩部分,系統(tǒng)架構(gòu)流程如圖4所示:?

I.客戶端?

客戶端主要由html頁面和嵌入式的Applet實現(xiàn),其主要作用就是瀏覽網(wǎng)頁和收看媒體節(jié)目.客戶首先登錄到教學(xué)系統(tǒng),在進入主頁面之前,首先詢問用戶是否裝有JMF客戶端軟件包.如果沒有安裝,則提示用戶從系統(tǒng)提供的目錄下下載并安裝.JMF軟件檢測通過后,就進入虛擬教室主頁面.這時可以有兩種選擇:?

(1).客戶點擊一個媒體節(jié)目的鏈接后,服務(wù)器端就會將用戶所點播的節(jié)目名稱作為參數(shù)傳遞給服務(wù)器,服務(wù)器啟動一個新線程并建立一個RTP會話來提供服務(wù),開始傳播媒體流;與此同時,客戶端瀏覽器會自動下載并運行一個用于媒體流播放的Applet程序PlayerApplet,它包括播放器和播放節(jié)目的控制面板.當(dāng)PlayerApplet啟動后就會和服務(wù)器進行通信,建立RTP會話,開始從服務(wù)器端接收媒體數(shù)據(jù)并在播放器上播放.用戶可以收看并控制節(jié)目的播放,服務(wù)器端運行的是Java服務(wù)程序,PlayerApplet和媒體流傳輸服務(wù)程序通過Socket連接來傳輸控制信息,用RTP連接來進行媒體流傳輸;?

(2).點擊觀看實時講課后,瀏覽器就會下載并運行PlayerApplet,其功能基本同上,不過它接收的是服務(wù)器端傳來的老師講課的實時媒體流.若此時沒有老師講課,則它會從服務(wù)器端得到相應(yīng)的提示信息.

II.服務(wù)器端?

服務(wù)器端實現(xiàn)以下幾個部分的功能.?

(1).網(wǎng)絡(luò)基本服務(wù):主要是對客戶的網(wǎng)絡(luò)請求作出響應(yīng)并提供基本服務(wù),例如客戶端請求的頁面顯示,Applet服務(wù)等.?

(2).媒體傳輸服務(wù):主要是對已存儲媒體和實時媒體流的傳輸,其功能由java程序來完成.當(dāng)一個客戶端瀏覽器請求播放存儲節(jié)目時,它就啟動一個線程為用戶服務(wù).利用客戶端傳來的參數(shù)中所指定的節(jié)目名稱,該線程就到媒體存儲服務(wù)器上尋找媒體,并用RTP協(xié)議進行傳輸把媒體流發(fā)送給客戶,如果有教師登錄并進行講課時,它就從媒體制作控制服務(wù)器上接收實時媒體流,并將其廣播到網(wǎng)絡(luò)上去,多個客戶就可以接收媒體流,它要建立RTP會話并用SessionManager來管理會話.?

(3).媒體制作控制服務(wù):它是一個java程序,一方面可以允許教師登錄,把教師的講課內(nèi)容錄制并轉(zhuǎn)換成媒體流進行廣播傳輸;另一方面,系統(tǒng)管理員還可以用它來進行媒體節(jié)目制作,媒體格式的轉(zhuǎn)換等工作。?

幾點體會?

1.JMF/RTP支持的媒體文件格式有限?

2.CCD的傳輸格式為Stream,當(dāng)復(fù)制多份給客戶端時,服務(wù)器無法承擔(dān),而且音頻和視頻同步的實現(xiàn)相當(dāng)困難.?

3.同時以RTP方式傳到客戶端的音視頻信息不一定會同步,需要程序做同步控制?

4.Java Applet安全性的問題?

5.畫面同步部分,僅傳送控制信號,而不是傳送整個頁面,以加快畫面顯示速度.?

結(jié)? 束? 語?

本課題主要是探討在分布式環(huán)境下開發(fā)一套互動式的多媒體遠程教學(xué)系統(tǒng),讓這套系統(tǒng)可以在目前的Internet上實際執(zhí)行.?

經(jīng)過本專題制作的全過程,我更深入的理解了在線媒體播放的技術(shù),流媒體傳輸技術(shù),同步控制的方法和互動性功能,讓多媒體遠程教學(xué)成為網(wǎng)絡(luò)上重要的一項服務(wù)功能.?

參考文獻:?

1.王峰等編著.Java多媒體程序設(shè)計.清華大學(xué)出版社,?

2.www.liumeiti.com,流媒體中文網(wǎng)?

3. java.sun.com?

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 91国内精品久久久久免费影院 | 国产成人精品免费久久久久 | 欧美日本免费一区二区三区 | 小明福利| 天天透天天狠 | 成人毛片100部免费看 | 欧美一区二区免费 | 国产成人精品实拍在线 | 欧美亚洲激情 | 成人网视频在线观看免费 | 欧美日韩视频一区二区在线观看 | 日韩欧美三级在线 | 成人动漫在线视频 | 黄色片视频在线播放 | 亚洲欧美视频网站 | 日本免费不卡 | 天天爱天天爽 | 中国videos露脸hd | 亚洲国产日韩在线观频 | 亚洲成人高清在线观看 | 免费黄色三级网站 | 成人在线看片 | 免费看片黄 | 日韩成人免费一级毛片 | 免费高清欧美一区二区视频 | 拍真实国产伦偷精品 | 亚洲国产第一区二区香蕉日日 | 欧美精品xxx| 六月婷婷综合 | 亚洲综合香蕉 | 亚洲一区二区三区成人 | 在线播放一区 | 男男羞羞视频免费网站 | 日本处888xxxx | 免费日批网站 | 国产欧美精品一区二区三区四区 | 日本r级视频 | 午夜高清在线观看免费6 | 欧美日韩专区 | 天天澡天天摸天天添视频 | 欧美理论片大全在线观看 |