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