一个基于MOOC的教学视频录制软件的设计及应用
2015-06-05谯小兵黎忠文
谯小兵 黎忠文
摘要: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)录制中对教学视频片段的碎化可以采用两种形:在录制完整的授课内容后通过调用系统进行材料的二次剪切加工,由此形成分离的教学视频片段供网络点播用;对于教学中的重点环节,如果需要加强,可以通过体系进行个别录制,然后作为教学的补充材料供学习者使用。