周書賢
摘 要:近幾年來,以MOOC為代表的新型在線開放課程在世界范圍內迅速興起,給教育教學改革帶來了新的機遇和挑戰。在線開放課程的教學內容已經實現了視頻化,但輔導答疑部分依然沿用傳統在線聊天的形式,以文字和圖片作為載體交換意見和看法,難以給學習者帶來良好的學習體驗。為了克服這一不足,文章基于Flash Media Server和Flash技術構建了視頻答疑模塊,并對模塊的整體架構與核心功能的實現進行了詳細的分析和闡述。
關鍵詞:在線開放課程;視頻答疑;Flash Media Server;Flash
隨著信息技術的飛速發展,課程的形態也在不斷地尋求自身的變革與超越,實現了由傳統課程向網絡課程、視頻公開課程與在線開放課程的更迭。在此過程中,最顯著的特征無疑是視頻所占的比重在逐漸提升。特別是近幾年來,以MOOC為代表的新型在線開放課程和學習平臺在世界范圍內迅速興起,給教育教學改革帶來了新的機遇和挑戰。一般來說,MOOC主要由3個部分構成:一是課程講座視頻;二是課程測試;三是輔導答疑。當前,對于前2個構成部分的關注較多,如微課程視頻制作中的注意引導設計[1],MOOC視頻制作平民化方法[2],視頻中內嵌的自動化測試[3]等。而對于輔導答疑部分,依然沿用傳統在線聊天的形式,以文字和圖片作為載體交換意見和看法,難以給學習者帶來良好的學習體驗。為了克服這一不足,本文提出了一種可行的方案,即用Flash的繪圖功能完成輔導答疑模塊的界面設計,用Flash ActionScript腳本語言結合Flash Media Server實現輔導答疑模塊的文字答疑、音視頻答疑等功能。
1 總體設計
本模塊由Server端(asc文件)和Client端(swf文件)構成,Server端和Client端的數據通過Real-Time Message Protocol(RTMP)進行實時傳輸,Web Server通過http服務把內容提供給Client端。模塊的整體思路如圖1所示。
使用Flash軟件創建視頻會議系統的客戶端組件,生成的swf文件提供了該模塊的用戶界面,其中也包含了與Flash Media Server連接和控制的as腳本。服務器端則需要相關的應用程序目錄,其中包含了運行客戶端所需要的asc腳本,提供多個客戶端之間邏輯控制和數據交換。如圖2所示。
客戶端程序需要發布到合適的位置以保證程序的正常運行,這里結合了Web Server。服務器端程序(包含asc、flv等文件)需要放置到正確的應用程序目錄下面。具體的位置如圖3所示。
2 詳細設計與功能實現
該模塊主要有用戶登錄、音視頻答疑、文字答疑等幾個功能,篇幅所限只將音視頻答疑功能的詳細設計描述如下。
2.1 建立連接
視頻聊天模塊的實現,首先在客戶端建立客戶對象的連接。建立連接的關鍵代碼如下:
conn = new NetConnection();
_root.conn.connect("rtmp:// 服務器的IP地址/_ definst_", _root.my_name);
NetConnection是建立鏈接的類,使用它可以在本地驅動器或HTTP地址上播放FLV文件流,conn是這個類的對象。Connect是NetConnection的方法,可以通過它從HTTP地址或本地文件系統回放視頻(FLV)文件的本地連接。
_root.conn.connect("rtmp://服務器的IP地址/_ definst_", _root.my_name);這條語句實現的是請求建立連接功能,其中rtmp(the Real-time Messaging Protocol)協議是實時消息傳送協議。它是客戶端和服務器端的傳輸協議,專門為高效傳輸音視頻數據而設計的 TCP/IP 協議,使用RTMP 協議傳輸的數據是未經加密的,包括用戶名和密碼等認證信息。服務器端應用程序文件在_definst_下,_root.my_ name是傳遞到服務器端的參數,作為onConnect函數的參數。
在服務器端用onConnect方法來判定是否允許客戶端建立鏈接。代碼如下:
當服務器第一次載入應用程序實例時調用application. onAppStart以建立共享對象,該方法在應用程序實例的生命周期中僅僅調用1次。Application.onConnect方法根據客戶端發出的驗證信息(參數)執行驗證。當客戶端調用NetConnection.connect()方法時,服務端通過調用application.onConnect來判斷是否建立鏈接。
3 音視頻流的獲取與發布

在這個函數中首先給參數myID賦值,然后建立一個NetStream類的對象ns,該類可以在本地文件系統或HTTP地址播放Flash視頻(FLV)文件。ns.attachAudio(Microphone. get())用來指定要播放的一個音頻流,該音頻流是從麥克風獲得的。其中后四行代碼完成的功能是:從攝像頭捕獲視頻,在舞臺上的 Video 對象的邊界內顯示,并發布這個視頻流。
4 結語
為了提高用戶體驗,出現了一種具有高度互動性和豐富用戶體驗的Internet應用程序,這就是Rich Internet Applications(簡稱RIA,中文翻譯為“富因特網應用程序”)。其最大的特點是,集桌面應用程序的最佳用戶界面功能與Web應用程序普遍采用的快速、低成本部署以及互動多媒體通信的實時快捷于一體[4]。Macromedia公司也借此機會發布了Flash Media Server來促進RIA的開發和普及。開發者可以使用FMS與Flash編寫一系列媒體應用程序,并使用FMS來部署這些程序。我們提出的基于FMS和Flash技術的視頻答疑模塊具有如下優點:(1)客戶端零部署安裝。客戶端無需專線接入,無需專用硬件,無需任何軟件,用戶完全可以利用現有的計算機網絡以及操作系統捆綁的瀏覽器,實現該模塊的應用。(2)系統架構的創新。本模塊采用RIA的系統架構方式,同時擁有C/S和B/S的優點。RIA中的Rich Client(富客戶端)提供可承載已編譯客戶端應用程序(以文件形式,用HTTP傳遞)的運行環境,客戶端應用程序使用異步客戶/服務器架構連接現有的后端應用服務器,這是一種新的面向服務模型,該模型由采用的Web服務所驅動。同時,結合了聲音、視頻和實時對話的綜合通信技術,使該模塊具有前所未有的網上用戶體驗。
[參考文獻]
[1]張曉君,李東哲,陳雷.微課程視頻制作中的注意引導設計[J].現代教育技術,2013(8):105-107.
[2]于青青,李曉明.MOOC視頻制作平民化方法的探索與評價[J].現代遠程教育研究,2015(1):106-111.
[3]王永固,張慶.MOOC:特征與學習機制[J].教育研究,2014(9):112-120.
[4]肖治國.RIA技術特性及發展趨勢[J].長春大學學報,2008(6):34-36.
The Design and Implementation of Video Question-Answering Module in Online Open Courses
Zhou Shuxian
(Jiangsu Center for Educational Technology,Nanjing 210013, China)
Abstract: In recent years, the rapid rise of the new online open courses represented by MOOC has brought new opportunities and challenges to the education and teaching reform. Open online coursescontent has been achieved in the video, but question-answering is still follow the traditional online chat, using words and pictures as a carrier to exchange views and opinions and make it difficult for learners to obtain good learning experience. In order to overcome this problem, the article built a video question-answering module based on Flash Media Server and Flash technology, and made a detailed analysis and elaboration about the overall structure of the module and the realization of core functions.
Key words: online open courses; video question-answering; Flash Media Server; Flash