陳灝
(國家教育行政學(xué)院圖書信息技術(shù)部,北京102600)
新一代無線技術(shù)、移動終端在移動學(xué)習(xí)中的應(yīng)用研究
——以教育部直屬機(jī)關(guān)干部網(wǎng)絡(luò)學(xué)院為例
陳灝
(國家教育行政學(xué)院圖書信息技術(shù)部,北京102600)
移動學(xué)習(xí)這一新興教育學(xué)習(xí)形式伴隨著新一代無線技術(shù)、移動終端的不斷發(fā)展而發(fā)展,本文介紹了何謂移動學(xué)習(xí),并以教育部直屬機(jī)關(guān)干部網(wǎng)絡(luò)學(xué)院為例,介紹了其在移動學(xué)習(xí)方面的應(yīng)用,并簡單展望了移動學(xué)習(xí)未來的發(fā)展前景。
無線技術(shù);移動終端;移動學(xué)習(xí)
移動學(xué)習(xí),根據(jù)全國高等學(xué)校教育技術(shù)協(xié)會委員會的定義,是指依托目前比較成熟的無線移動網(wǎng)絡(luò)、國際互聯(lián)網(wǎng)以及多媒體技術(shù),學(xué)生和教師通過利用目前較為普遍使用的無線設(shè)備(如手機(jī)、PDA、筆記本電腦等)來更為方便靈活地實現(xiàn)交互式教學(xué)活動,以及教育、科技方面的信息交流。[1]移動學(xué)習(xí)可以在任何時間、任何地點展開,并且具有真實性、交互性、個性化、情境智能等新特點,[2]隨著新一代無線技術(shù)、移動終端的不斷發(fā)展、普及,學(xué)員對于移動學(xué)習(xí)的需求也日益增加,教育部直屬機(jī)關(guān)干部網(wǎng)絡(luò)學(xué)院針對上述情況特別設(shè)計了跨平臺、跨系統(tǒng)的視頻點播系統(tǒng),以滿足在不同的網(wǎng)絡(luò)環(huán)境下通過不同終端進(jìn)行網(wǎng)絡(luò)在線學(xué)習(xí),同時,提供互動交流功能,以滿足學(xué)員答疑需求。
教育部直屬機(jī)關(guān)干部網(wǎng)絡(luò)學(xué)院學(xué)員學(xué)習(xí)系統(tǒng)主要包括 “學(xué)員登錄模塊”、“自主選學(xué)模塊”、“視頻點播模塊”、“在線學(xué)習(xí)模塊”、“培訓(xùn)項目模塊”、“課程資源模塊”、“新聞模塊”、“互動交流模塊”、“用戶管理模塊”以及“搜索模塊”共10個主要模塊。其中涉及到學(xué)員移動學(xué)習(xí)比較重要的便是 “學(xué)員登錄模塊”、“視頻點播模塊”、“在線學(xué)習(xí)模塊”以及“互動交流模塊”,而其中的核心則是“視頻點播模塊”。
“視頻點播模塊”主要包含以下幾部分:流媒體點播、流媒體格式、學(xué)時記錄以及記憶播放。在PC、ISO和Android終端,能進(jìn)行視頻的跨平臺播放。學(xué)員使用手機(jī)端登錄系統(tǒng)進(jìn)行視頻的觀看時,系統(tǒng)能夠從之前中斷的地方繼續(xù)進(jìn)行播放和記時。視頻在播放、暫停、停止等狀態(tài)的情況下,能夠根據(jù)播放器的操作進(jìn)行學(xué)時的自動記錄。學(xué)員也可以手動的點擊“記錄學(xué)時”進(jìn)行學(xué)時的保存。如果課程學(xué)習(xí)進(jìn)度已經(jīng)達(dá)到100%,系統(tǒng)將不再對其有效學(xué)時進(jìn)行累加。
教育部直屬機(jī)關(guān)干部網(wǎng)絡(luò)學(xué)院在視頻點播系統(tǒng)上的研究很久,期間也經(jīng)歷了幾次換代更新,從最初的wms+drm模式到后來的apache和iis的http模式、P2P模式,效果都不是很理想,最終采用P2P+http(tcp)+cdn模式進(jìn)行流媒體點播。
1.P2P流媒體
P2P(Peer to Peer)做為中國較為流行的技術(shù),在下載和直播領(lǐng)域均有著很廣泛的使用。P2P點播系統(tǒng)我們采用專業(yè)的(北京原力公司)包括點播系統(tǒng)+資源分發(fā)系統(tǒng),該系統(tǒng)具有節(jié)省網(wǎng)絡(luò)帶寬流量和服務(wù)器資源、增加用戶的訪問流暢度(系統(tǒng)可根據(jù)網(wǎng)絡(luò)情況自動分配服務(wù)器)、智能資源分發(fā)管理系統(tǒng)、安全的視頻資源訪問機(jī)制及高效的服務(wù)器和用戶監(jiān)控系統(tǒng) (可實時監(jiān)測系統(tǒng)、服務(wù)器、網(wǎng)絡(luò)使用情況、用戶點播的情況)等優(yōu)點。
2.http(tcp)點播
P2P使用udp協(xié)議進(jìn)行數(shù)據(jù)傳輸,而對于教育系統(tǒng),因帶寬資源問題,很多地區(qū)對udp使用有所限制,這就是為什么要采用http+P2P點播,這樣以P2P優(yōu)先,如udp協(xié)議檢測未開放則采用tcp協(xié)議進(jìn)行視頻播放,來保證學(xué)員不會因網(wǎng)絡(luò)限制而導(dǎo)致視頻無法觀看?,F(xiàn)有流行的點播服務(wù)如收費(fèi)的flash meida server以及免費(fèi)的red5,或者是nginx+流點播(即實現(xiàn)實時拖放功能)都采用tcp來處理視頻視頻播放。但這個播放模式對于網(wǎng)絡(luò)帶寬和服務(wù)器都存在很大壓力,對視頻源的安全性也存在很大隱患,還需要有足夠的資源才能夠更完好地為大量用戶提供更好的服務(wù)。
3.視頻分發(fā)
在CDN上,我們采用自己DNS智能解析系統(tǒng),將服務(wù)器部署與我們需要的網(wǎng)絡(luò)環(huán)境中,使用智能DNS為用戶分配合適的網(wǎng)絡(luò)。網(wǎng)絡(luò)的選擇會更具PING的質(zhì)量及服務(wù)器的壓力進(jìn)行判斷。
對于教育部機(jī)關(guān)干部網(wǎng)絡(luò)學(xué)院,預(yù)留了P2P的點播系統(tǒng)的接口,因為培訓(xùn)規(guī)模等相關(guān)問題,暫時只使用http(tcp)+智能DNS,來完成視頻點播點播,同時通過相應(yīng)的模塊,來增加防盜鏈和防下載,進(jìn)一步保證視頻的安全。點播模式可以根據(jù)需要任意的切換和組合。
為達(dá)到跨平臺、移動式網(wǎng)絡(luò)視頻學(xué)習(xí),教育部直屬機(jī)關(guān)干部網(wǎng)絡(luò)學(xué)院在視頻格式上先后采用WMV、ASF等格式,通過實際檢測,最終采用編碼為目前比較成熟的H.263,格式為FLV及MP4格式視頻作為網(wǎng)絡(luò)視頻學(xué)習(xí)視頻。
H.263編碼是由ITU-T制定的用于視頻會議的低碼率視頻編碼標(biāo)準(zhǔn),其屬于視頻編解碼器。FLV是目前比較流行的視頻格式。
教育部直屬機(jī)關(guān)干部網(wǎng)絡(luò)學(xué)院于2011年開始著手研究以此視頻格式用于視頻學(xué)習(xí),F(xiàn)LV是FLASH VIDEO的縮寫簡稱,是流媒體格式的一種全新的視頻格式。它具有形成文件極小、加載速度極快等優(yōu)勢,從而使得網(wǎng)絡(luò)觀看視頻文件成為可能。FLV的出現(xiàn)還有效的解決了視頻文件在導(dǎo)入FLASH之后,使得導(dǎo)出的SWF文件體積過于龐大,不能很好的在網(wǎng)絡(luò)上使用等缺點。而MP4格式則應(yīng)用于新一代移動設(shè)備(如IOS系統(tǒng)等),在HTML5的支持下,通過HTML5的Video標(biāo)簽語法可以快速的在網(wǎng)頁中嵌入影片。直接通過HTML5的開放式標(biāo)簽,就會自動依照不同瀏覽器播放不同的影音格式。自然,MP4格式也在其中,因為HTML5的這般特性,系統(tǒng)無需播放器支持,即可完成網(wǎng)絡(luò)視頻的學(xué)習(xí)。
在教育部直屬機(jī)關(guān)干部網(wǎng)絡(luò)學(xué)院中,同一視頻有著兩種視頻格式(FLV、MP4),系統(tǒng)可根據(jù)學(xué)員登錄終端不同選擇不同格式進(jìn)行視頻播放,從而使得跨平臺網(wǎng)絡(luò)視頻學(xué)習(xí)成為可能并最終實現(xiàn)。
系統(tǒng)自動選擇視頻格式,由于IOS系統(tǒng)支持HTML5,系統(tǒng)直接區(qū)分Windows系統(tǒng)及IOS系統(tǒng)即可滿足區(qū)別PC及平板電腦、智能手機(jī)的需求。
Android等系統(tǒng)均可使用FLV格式視頻,所以FLV、MP4兩種視頻格式即可滿足絕大部分主流操作系統(tǒng)間跨平臺網(wǎng)絡(luò)視頻學(xué)習(xí)需求。
如圖1所示,通過調(diào)用不同的函數(shù),傳遞不同的參數(shù)來實現(xiàn)跨平臺的播放,主要是平臺的判斷、參數(shù)傳遞、JS調(diào)用的過程。
圖1 學(xué)員學(xué)習(xí)平臺跨平臺視頻播放流程圖
play.htm是視頻播放的頁面,通過JS函數(shù)進(jìn)行平臺的判斷。JS的固有函數(shù)navigator.userAgent.toLowerCase對系統(tǒng)進(jìn)行判斷,分為ipad、iphone和windows。然后根據(jù)不同的系統(tǒng)選擇播放函數(shù)playFlv和playMp4。
playFlv為 FLV播放函數(shù),調(diào)用player.js的 create_p2p_time_flash_player_5m函數(shù)進(jìn)行參數(shù)的傳遞,包括自動計時的時間設(shè)置,完成視頻的播放。
playMp4為MP4播放函數(shù),添加標(biāo)簽到播放頁面,設(shè)置視頻的播放路徑MP_Video.src、視頻的基本屬性MP_Video.setAttribute之后,調(diào)用MP_Video的函數(shù)play()進(jìn)行視頻的播放。
教育部直屬機(jī)關(guān)干部網(wǎng)絡(luò)學(xué)院先后采用學(xué)員點擊指定按鈕記錄學(xué)時、系統(tǒng)自動記錄學(xué)時的方式,各有利弊。通過研究,最終采用學(xué)員自主記錄學(xué)時和系統(tǒng)自動記錄學(xué)時相結(jié)合的方式,以確保大部分學(xué)員在各種網(wǎng)絡(luò)環(huán)境下均可準(zhǔn)確便捷地記錄學(xué)習(xí)情況。
學(xué)員如果自己點擊記錄學(xué)時,則以學(xué)員自主記錄的學(xué)時為準(zhǔn),如沒有學(xué)員自主記錄學(xué)時操作,則以系統(tǒng)自動記錄的學(xué)時為準(zhǔn)。
此方式保證學(xué)員在任何情況下,只要進(jìn)行視頻學(xué)習(xí),即可準(zhǔn)確記錄學(xué)習(xí)進(jìn)度,最大程度上保證學(xué)時記錄的準(zhǔn)確性,同時解決了部分學(xué)員忘記進(jìn)行學(xué)時記錄操作而產(chǎn)生的學(xué)時記錄不準(zhǔn)確等問題。在數(shù)據(jù)庫設(shè)計的時候,也使用user_tmptime視頻自動計時校驗表來實現(xiàn)自動計時的實現(xiàn)。
計時是一個交互性數(shù)據(jù)進(jìn)行計算存儲的過程,下面從前端的播放頁面和后臺的學(xué)時計算算法兩方面進(jìn)行詳細(xì)描述。
1.學(xué)員點擊記錄學(xué)時
學(xué)員可以點擊“記錄學(xué)時”進(jìn)行學(xué)時的手動記錄,為了實現(xiàn)手動和自動記錄學(xué)時相結(jié)合,記錄學(xué)時的函數(shù),需要每一次對user_tmptime視頻自動計時校驗表進(jìn)行掃描。通過自動計時的間隔和時間記錄點,比較學(xué)員點擊時間和自動時間記錄點,來計算實際需要記錄的時間。
學(xué)員的學(xué)時記錄成功后,需要更新學(xué)員總的培訓(xùn)時間,實時地反應(yīng)學(xué)員的學(xué)習(xí)動態(tài);同時,為了自動計時的準(zhǔn)確性,需要更新user_tmptime的用戶刷新時間為學(xué)員點擊自動記錄學(xué)時的時間。
學(xué)員手動點擊“記錄學(xué)時”的程序流程如圖2所示。
圖2 手動點擊記錄學(xué)時程序流程圖
Program類是視頻處理類,包括視頻的播放、視頻的手動計時、自動計時、添加選修課等方法。其中手動記錄學(xué)時的函數(shù)為saveTime()。
saveTime()函數(shù),調(diào)用usertmptimeManager自動記錄學(xué)時類中的方法getByRow($arrCond,$fileds="refreshtime")來得到學(xué)員視頻觀看信息的數(shù)組,通過返回值中refreshtime的值進(jìn)行計算刷新時間、觀看的有效時間和總時間,如果觀看時間屬于有效數(shù)據(jù),調(diào)用usertimeManager中的add和updateProListTime函數(shù)進(jìn)行學(xué)員視頻觀看時間、總學(xué)時的更新,同時調(diào)用usertmptimeManager函數(shù)中的update函數(shù)對自動計時的刷新時間和最新時間進(jìn)行數(shù)據(jù)的更新。
2.自動記錄學(xué)時
通過設(shè)置系統(tǒng)的計時間隔,全局靜態(tài)變量,每個指定的時間,異步刷新頁面,將刷新時間記錄到user_tmptime視頻自動計時校驗表中。
在自動記錄學(xué)時的函數(shù)中,只通過比較刷新時間和視頻的剩余時間,便可以計算出自動計時的有效時間和總時間。當(dāng)視頻的剩余時間小于全局計時間隔的時候,傳遞參數(shù)給頁面修改其刷新的時間間隔,來確保學(xué)時準(zhǔn)確的記錄。
自動計時成功后,同樣需要更新學(xué)員總的培訓(xùn)時間和user_tmptime的用戶刷新時間。
其自動計時的程序流程如圖3所示,系統(tǒng)最終只要返回給JSON數(shù)據(jù)便可,規(guī)定不同狀態(tài)值的含義,前臺根據(jù)不同的狀態(tài)去調(diào)整參數(shù)。
圖3 自動記錄學(xué)時流程圖
Program類中的doFlush()是系統(tǒng)自動記錄學(xué)時的函數(shù),采用通過調(diào)用視頻自動計時類usertmptimeManager中的getByRow($arrCond,$fileds="refreshtime")來得到學(xué)員視頻觀看信息的數(shù)組,通過返回值中refreshtime的值進(jìn)行計算刷新時間、觀看的有效時間和總時間。同時檢查視頻是否已經(jīng)觀看完畢,調(diào)用Program類的私有函數(shù)watchedOver($userid,$programid,$fileid=null)來進(jìn)行每一集的判斷。觀看完畢,對數(shù)據(jù)進(jìn)行標(biāo)記;未觀看完畢,進(jìn)行學(xué)時以及自動更新時間的計算、記錄、更新,返回前臺的JSON數(shù)據(jù)包括本集和本課程是否觀看完畢以及更新時間段。
[1]葉成林,徐福蔭,許駿.移動學(xué)習(xí)研究綜述[J].電化教育研究,2004(3):12-19.
[2]鄭潔瓊,陳澤宇等.3G網(wǎng)絡(luò)下移動學(xué)習(xí)的探索與實踐[J].開放教育研究,2012(2):159-162.
(編輯:王曉明)
G434
B
1673-8454(2015)13-0076-03