譙小兵 黎忠文



摘要:MOOC的出現,引起了世界各大高校的極大關注。但MOOC的量還不能夠滿足人們對這一課程的量的需求。其中一個重要的原因即MOOC中視頻課程單元的開發費用還比較高,還不能實現教師化(以授課教師自己完成視頻課程的錄制與制作)的制作途徑。針對這一現狀,我們設計了一個專門用于一線教師自行完成MOOC視頻片段錄制及后期制作的系統,以期在一定程度上解決這一問題,本文將就此設計與應用進行詳細闡述。
關鍵詞:MOOC;VB編程;教學視頻錄制
中圖分類號:G202 文獻標識碼:A 論文編號:1674-2117(2015)05-0106-04
● MOOC的發展現狀及現有開發方式
大規模公開線上課程(Massive Open Online Course簡稱MOOC,中文“慕課”)是由很多愿意分享和協作以便增強知識的學習者組成的一種新型的大規模網絡課程形式。[1]當前世界上的MOOC開發主要形成了Coursera、Udacity、EDX三大課程運營商,結合以斯坦福大學(Coursera平臺)、麻省理工(EDX平臺)、哈佛大學(EDX平臺)為主的世界一流大學參與開發的綜合開發模式,我國的北京大學(Coursera課程平臺),清華大學(EDX課程平臺)[2]也已正式加入其中。在一年多的時間內,網絡上已開放的MOOC種類與數量也大幅度地增長。但現有的MOOC數量與其快速增長的學員對課程種類及數量的需求還有很大的差距。影響現階段MOOC大規模開發的一個最重要的因素應該是制作成本與制作途徑。現有的MOOC開發主要為課程開發商與高校合作開發的專業化模式,特別是其制作基本上還是走專業化的路線,即主要由課程開發商來完成課程素材的制作。例如,在MOOC的教學資源構成形式中,主要的課程資源構成仍然是課堂演講視頻,只是課程提供的視頻不再是以前網絡教學的傳統的課程實錄形式,而是借鑒了可汗學院(Khan Academy)的成功經驗,主要提供按照學習的特征進行碎化的視頻片段,一般為8~12分鐘一段。[3]據以往的經驗,如果以上的視頻由專業人員來完成錄制及后期制作其費用是比較高的,而且在效果上不及教師化(由授課教師來自行完成相關的素材制作)的途徑好。據調查,現在一門MOOC的開發成本,耶魯大學為每門課3萬~4萬美元,麻省理工為2萬美元左右,這樣的開發費用對于MOOC的規模化無疑是不利的。為此,這里結合以往的網絡教學視頻制作經驗,提出了一個易于實現MOOC視頻資源制作教師化的錄制軟件開發方案供大家參考,其錄制剪輯后的視頻教學片段畫面如圖1所示。
● 對MOOC教學視頻錄制軟件系統功能的解析
MOOC的教學視頻錄制在技術上與以往的數字化教學錄制方式沒有本質的區別。數字化教學錄制系統的主要技術簡單地說就是教學視頻或音頻的數字化錄制、處理及播放技術。不管具體開發出來的教學視頻錄制系統怎樣,是造價高的所謂功能齊全的教學視頻錄制系統(如微格教學錄制系統),還是造價一般的,所謂普通的網絡教學監控錄制系統,它的系統功能總可以歸結為三大功能模塊:①教學視頻、音頻錄制功能模塊。即通過數字化設備(現主要為數碼攝像機或數字式攝像頭)記錄教學過程中或技能培訓中的場景,并保存在計算機中。②教學錄制視頻,音頻處理功能模塊。拍攝下來的教學視頻及音頻材料可以通過系統進行相應的處理,即通過現在通用的數字視頻編輯技術進行剪輯處理。③教學視頻播放功能模塊。教學實施中錄制的視頻,最終需要進行播放,以便進行有針對性地教學指導,而教學視頻播放功能的實現也是現有教學錄制系統中差異性比較大的。
教學視頻錄制系統的技術功能模塊的關鍵點在于錄制、處理、播放,因此只要設計一個系統能實現上述主要功能即能完成視頻教學錄制所要求的技術。為此,根據現有技術可以采用如圖2展示的比較簡易化MOOC課程錄制的技術實現路線。
從圖2中可以看出,這套系統能實現教學視頻的錄制、處理及播放,但它從技術的角度把系統實現的硬件要求降到了最低,應該說是一套大眾化的,造價極低的視頻錄制、處理與播放系統。其涉及的只有USB攝像頭與計算機及相應軟件,如果計算機上已配置了攝像頭與內置麥克風,則只需要一臺計算機即可實現。當然,作為一個系統,應該有一個比較方便的控制臺面,為此,可以通過編程,編制一個系統主控制臺面來方便其系統錄制、處理及播放三大功能模塊的教學實現。
● MOOC視頻錄制軟件的編程設計
為了實現MOOC所需的教學錄制的主控制的要求,可以選取基于Windows平臺的程序編程軟件Visual Basic 6.0(以下簡稱VB)完成主控制臺的軟件設計及編制工作。其界面如圖3所示。
1.其主要技術要點解析
(1)視頻的捕獲及錄制。視頻的捕獲主要利用了VB程序編輯中的API函數編程來實現,而錄制主要利用了微軟的Windows編碼器來實現,這里利用微軟的Windows Media編碼器來實現音、視頻的錄制主要是考慮到形成視頻文件的大小問題。從現有的視頻錄制文件格式來看,生成的視頻文件主要有以下格式:AVI、MPEG、WMV、FLV等,但是從具體的教學實現來看,通過比較錄制圖像的質量與形成文件大小兩方面的因素(如下表),應該說采用WMV文件格式便于教學實現。WMV文件格式作為微軟的網絡流媒體格式,它體現了生成視頻文件較小的特點,雖然它的圖像質量不如其他兩種格式,但由于文件小,占用計算機存儲空間不大,便于長時間錄制與保存,特別適用于MOOC視頻的點播與下載。而微軟的編碼器在錄制形成WMV視頻文件的過程中有其獨有的優勢。
(2)視頻的編輯。非線編軟件是數字化視頻后期處理的主要軟件,現有的非線編軟件比較多,如Adobe Premiere,繪聲繪影等。這里考慮到軟件的操作復雜程度及方便性,通過VB編程調用了Windows XP系統自帶的由微軟開發的Windows Movic Maker作為非線性編輯軟件完成視頻的編輯處理。
(3)視頻播放。視頻播放時,由于生成的主要是WMV格式文件,可以在主控臺通過調用VB自帶的多媒體播放控件的形式完成視頻的播放。當然,為了簡化軟件的編制不再在軟件的功能界面中加入文件的查找及點播功能,以簡化程序的編制及實現難度。
2.主要的VB程序技術解析
這套系統的技術要點除了以上的介紹外,還包括控制臺面的編程及錄制功能的實現,這里把其主要程序的要點呈現出來供大家參考。
(1)USB攝像頭或數字攝像機輸入視頻信號的捕獲。捕獲由USB攝像頭或數字攝像機輸入的視頻信號主要由VB的API函數來實現。這里主要通過API消息函數SendMessage來向視頻窗體發送由數字攝像頭輸入的錄制視頻圖像。作為API函數的調用,需要在使用前先對其進行函數聲明,然后才能調用。此外,為了方便程序對視頻圖像窗口的開啟與關閉控制,一般通過自定義一系列的函數來實現。以上對于函數的聲明及自定義函數的定義都通過放入公共模塊文件的形式來實現,主要代碼如下。
Module1(Module1.bas)
Declare Function SendMessage Lib "user32" Alias "SendMessageA" ( _
ByVal hwnd As Long, ByVal wMsg As Long, _
ByVal wParam As Integer, ByVal lParam As Long) As Long
’API 消息函數聲明
Function capDriverConnect(ByVal lwnd As Long, ByVal i As Integer) As Boolean
capDriverConnect = SendMessage(lwnd, WM_CAP_DRIVER_CONNECT, i, 0)
End Function
’自定義連接函數,完成與視頻設備的連接
Function capPreviewRate(ByVal lwnd As Long, ByVal wMS As Integer) As Boolean
capPreviewRate = SendMessage(lwnd, WM_CAP_SET_PREVIEWRATE, wMS, 0)
End Function
’自定義圖像錄制幀速函數,便于錄制視頻幀速的調節
Function capPreviewScale(ByVal lwnd As Long, ByVal f As Boolean) As Boolean
capPreviewScale = SendMessage(lwnd, WM_CAP_SET_SCALE, f, 0)
End Function
’自定義視頻窗口預覽模式的縮放有效或者無效,完成錄制中視頻窗口的大小調節
(2)錄制時視頻窗口的置頂技術。在錄制的過程中,有時可能臨時會彈出一些程序窗口,為了保證錄制時的視頻界面始終能位于所有的程序窗口之上,可以利用API置頂函數完成窗口的置頂。當設置視頻窗口置頂后,視頻窗口在錄制中將處于頂層的位置以保障窗口視頻不會被其他的應用程序阻擋。主要代碼如下。
Declare Function SetWindowPos Lib "user32" _
(ByVal hwnd As Long, _
ByVal hWndInsertAfter As Long, _
ByVal x As Long, _
ByVal y As Long, _
ByVal cx As Long, _
ByVal cy As Long, _
ByVal wFlags As Long) As Long
’API置頂函數聲明
Public Function SetTopMostWindow(hwnd As Long, Topmost As Boolean) As Long
If Topmost = True Then
SetTopMostWindow = SetWindowPos(hwnd, HWND_TOPMOST, 0, 0, 0, 0, FLAGS)
Else
SetTopMostWindow = SetWindowPos(hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, FLAGS)
SetTopMostWindow = False
End If
End Function
’自定義置頂函數,可以通過主控臺設置完成視頻窗口的置頂
(3)對Microsoft Windows Media與Windows Movic Maker的調用。在課程的錄制過程中,主要通過調用Microsoft Windows Media來完成對視頻及PPT課件界面的錄制,調用Windows Movic Maker來完成對錄制視頻的剪輯及添加文字等后期制作工作。對以上兩個應用程序的調用可以通過以下程序語句來實現。
ShellExecute Me.hwnd, "open", "C:\Program Files\Windows Media Components\Encoder\設置.wme", "", "", 1
’完成對編碼器程序的調用
Shell "C:\Program Files\Movie Maker\moviemk.exe"
’完成對Windows Movic Maker程序的調用
(4)其他功能的編程實現。對于錄制視頻播放及錄制系統控制等功能的實現這里就不再贅述,有興趣可參閱相關資源。
● MOOC教學錄制軟件的教學應用
作為MOOC教學視頻錄制軟件,這套系統的教學實現還涉及一些相關的硬件的配置及軟件設置,而其硬件的配置已經簡化到一臺配置了USB攝像頭與內置麥克風的計算機即可行的程度。下面將介紹其使用的基本步驟。
1.使用前的準備
(1)配置了攝像頭或攝像機與麥克風的多媒體計算機,如果有條件最好通過數碼攝像機通過視頻信號源,通過外置高質量麥克風提供音頻信號源。
(2)完成相關驅動及軟件的安裝及設置。這里主要要求安裝USB攝像頭的驅動,如果是通過攝像機送信號,需要安裝相應的板卡并安裝驅動。操作系統選Windows XP要求帶Windows Movic Maker程序,微軟編碼器可選擇Windows Media 9編碼器。
2.使用的步驟
(1)連接好設備,設置好相關參數。
(2)啟動主控制臺面,按打開視頻界面按鍵,打開錄制視頻界面。調節攝像頭或攝像機,控制好錄制的場景界面,并進行小段試錄。
(3)試錄無問題,調整好錄制界面,進行正式錄制。
(4)錄制完成,點擊主界面的編輯按鍵,調用Windows Movic Maker進行簡單的剪輯,完成后保存在指定的文件夾中備用。
(5)點擊主界面的播放按鍵,調用播放器,播放錄制并剪輯后產生的視頻文件進行播放。
(6)錄制教學視頻無問題后交由MOOC運營商進行網絡課程資源的上傳,上傳后在MOOC中供學習者調看。
3.使用中應注意的問題
(1)錄制視頻可以由攝像機送信號,也可以通過USB攝像頭,如有條件最好使用攝像機,使用攝像機不僅可以保證錄制的畫面質量,也可以方便拍攝中的場景轉換。現在市面上的攝像頭質量差異性比較大,選用攝像頭,盡量選擇性價比高的,以便保證質量。
(2)錄制中對教學視頻片段的碎化可以采用兩種形:在錄制完整的授課內容后通過調用系統進行材料的二次剪切加工,由此形成分離的教學視頻片段供網絡點播用;對于教學中的重點環節,如果需要加強,可以通過體系進行個別錄制,然后作為教學的補充材料供學習者使用。