原型系統所要實現的基本功能是在Internet上,教師和學生可以完成課堂教學的部分功能。教師在一臺教師機上(通過麥克風和攝像頭)上課,學生可以通過局域網或者撥號方式,在不同地理位置的學生機上,在不同的窗口看到教師的圖像,聽到教師的聲音并同時看到教師計算機上的數據,完成實時上課。教師也可以將自己的上課的實況錄制成相應的媒體文件,存放在媒體流服務器上以便學生進行視頻點播。也可以由教師在上課時將該媒體文件通過多播的方式發送給需要接收的學生,學生可以同步的在學生機上接收,完成非實時的上課。考慮到網絡傳輸的帶寬問題,學生也可以將教師上課的媒體文件傳輸到自己的學生機上進行本地播放或者通過WEB服務器提供的媒體流服務,使用HTTP協議穿越防火墻進行遠程播放。以上完成的都是遠程教學中的音頻和視頻媒體流的傳輸和交互。學生和教師都可以通過聊天室進行聊天,完成文字的交互和傳輸。教師也可以啟動電子白板的服務器,并在教師機和學生機上啟動電子白板的客戶端完成圖形和圖象的交互和傳輸。
原型系統要求同時包括視頻,音頻,文字和數據信息,還要保證各種媒體之間的同步。另外,還要考慮數據流穿越路由器和防火墻和如何保證多媒體信息的服務質量等一系列問題。
5.3系統總體設計
原型系統的體系結構(參見圖5.1)中音頻和視頻的交互和傳輸的設計思路有兩條,一個是采用無服務器方式,即使用標準的WEB服務器和HTTP協議將多媒體數據發送給學生機,另一個是采用專門的多媒體流服務器,它可以存放多媒體文件或者接受教師機的多媒體信號,而且可以使用UDP、TCP、RTP和多播通信協議,有較好的靈活性。但是采用WWW方式可以減少對學生機的要求,提供統一的瀏覽器界面,方便學生使用。原型系統并不實現媒體服務器和WEB服務器,可以采用現有成熟的產品,媒體服務器可以使用Microsoft Media Server,Cisco IPTV Server,Real Server。WEB服務器可以使用Microsoft IIS,Apache WEB Server等。原型系統中實現一個客戶端的媒體播放功能模塊,可以以單播或者多播方式接收,用來播放本地和遠程的媒體流。系統中也實現多播服務模塊用于以多播方式發送媒體流文件或者媒體捕捉。
在很多聊天室的實現中都是以一個中心服務器多個客戶機的方式,使用有連接的TCP協議進行通信,在該原型系統中的聊天室部分采用了無連接的UDP協議并通過多播發送,這樣不需要建立專門的中心服務器,教師機和學生機完全是對等的。
原型系統中的電子白板仍然采用服務器/客戶機方式,可以選擇的傳輸協議包括TCP Socket,HTTP和LRMP(輕量級可靠多播協議),在原型系統中主要采用LRMP協議。白板服務器可以作為獨立的服務器,也可以放在教師機上由教師在必要時啟動。
原型系統按照上述的體系結構分成三個主要的模塊(參見圖5.2),音頻視頻媒體傳輸模塊,聊天室模塊和電子白板模塊。其中音頻視頻媒體傳輸模塊包括了服務器的傳輸本地存儲媒體文件和傳輸視頻音頻捕捉兩個部分,教師機的本地音頻視頻捕捉和輸出到文件模塊以及學生機的播放本地媒體,播放遠程媒體和多播接收服務器的媒體流三個部分。這三個部分一起完成遠程教學的音頻視頻傳輸和交互功能;聊天室模塊因為采用多播對等方式,所以只需一個模塊;電子白板模塊包括服務器和客戶機兩個模塊,服務器負責各個客戶機間的消息通信和協調,客戶機部分完成與用戶的交互界面和消息發送接收。
5.4系統設計思路
原型系統主要面向網絡運行,考慮到網絡的帶寬和異構性,原型系統的實現采用了當前比較流行的面向對象的Java語言實現。Java語言具有魯棒性,安全性等優點,并支持各種操作系統平臺,一次編寫處處運行。而且提供了非常強大的網絡編程機制。面向對象的編程具有繼承,封裝和多態等特性,能夠減少開發周期和維護費用,并具有很好的擴展能力。系統編碼采用了Java提供的事件觸發和異常處理機制,在產生相應事件時可以通知注冊的事件狀態進行處理,在系統執行過程中發生異常或者錯誤,都將調用相關的異常處理代碼完成恢復,顯示錯誤信息或者退出執行的操作。除此之外還使用了Java Media Freamwork(JMF)機制,支持多媒體的傳輸和交互的實現。Java Shared Data Toolkit(JSDT)提供了類似電子白板的數據共享和通信的應用的功能,為實現原型系統的電子白板提供了方便。JSDT提供了三種傳輸協議實現,TCP Socket,HTTP和LRMP,原型系統采用最后一種,需要一個支持LRMP的Java包。在Java中已經提供了Java.IO包,這個包提供了豐富的網絡編程接口,包括多播通信所需要的類。
因為Java具有跨平臺的特性,所以對運行原型系統的操作系統平臺沒有限制,可以是Windows平臺或者Unix平臺,只要在平臺上具有相應的Java虛擬機即可。需要用到的JMF,JSDT和LRMP相關類可以由原型系統自己攜帶,并制作成安裝版本方便安裝,分布和共享。
如果通過HTTP分布媒體流,需要WEB服務器,同樣的如果需要存儲和分發流媒體完成視頻點播可以安裝成熟的流媒體服務器。電子白板服務器集成在原型系統中,也可以在任何平臺上運行。圖7.3列出了系統運行所需要的相關內容:
本博客為學習交流用,凡未注明引用的均為本人作品,轉載請注明出處,如有版權問題請及時通知。由于博客時間倉促,錯誤之處敬請諒解,有任何意見可給我留言,愿共同學習進步。