使用 Linux 和 MBone 的远程教育
互联网最有前景的应用之一是远程教育。与以往的远程教育通信模式相比,互联网连接最显著的优势在于教师和学习者之间可以进行高度互动。教育是一个高度互动的过程。如果不是这样,就不需要学校了——仅教科书就足够了。互联网协议支持双向通信,并且为集成多媒体提供了几乎无限的可能性(在带宽和服务质量充足的情况下),这为将教育的范围扩展到传统课堂之外提供了前所未有的机会。
互联网技术在远程教育中的大多数应用都是基于网络的课程。在基于网络的课程中,课程内容以 HTML 模块的形式开发,互动通过讨论区或普通的电子邮件异步进行。一些基于网络的课程也通过聊天会话支持同步互动。基于网络的课程的一些优点是它们在调制解调器带宽下运行良好,并且只需要学生计算机上的 Web 浏览器,从而最大限度地扩大了可能的受众并最大限度地减少了技术支持要求。然而,高质量的基于网络的课程需要付出大量的努力才能制作出来;在工程等内容必须经常更新的学科中,课程的维护也可能很重要。另一个重要的限制是互动基本上仅限于文本媒体。在回答工程课学生的问题时,教师通常需要构建或标记图表,同时解释概念。这最好在支持实时视听互动的环境中完成,这就是为什么传统的面对面课堂在过去几百年中能够如此出色地生存下来。
考虑到这一点,北卡罗来纳州立大学开发了“MBone 虚拟教室”,允许学生通过从工作站“收听”课程,从远程地点参加现场工程课程。这个概念尽可能地复制了面对面的环境,包括音频、视频和图形的实时互动。为了解决许多远程学生虚拟参加课堂的问题,采用了 IP 组播和 MBone 工具。自 1996 年秋季以来,虚拟教室一直在使用,为北卡罗来纳州多个地点的学生提供工程课程。本文介绍了如何使用 IP 组播和 MBone 工具创建虚拟教室环境,以及 DETA(远程教育教学助手)的开发,DETA 是一个基于 Tcl/Tk 的包装器,为虚拟教室的许多硬件和软件组件提供了一个简单、统一的界面。
IP 组播,IP 中使 MBone 网络成为可能的 D 类寻址方案,由 Steve Deering 在他在斯坦福大学的博士论文中开发,后来在 Xerox Palo Alto 研究中心 (PARC) 开发和实施。第一个组播隧道于 1988 年夏天在 BBN 和斯坦福大学之间建立。互联网组播骨干网 (MBone) 随后被建立为现有互联网上组播隧道的虚拟网络。1992 年,互联网用户增长到一百万,Mosaic 在 NCSA 创建的同一年,MBone 承载了它的第一个实时音频和视频流量。
IP 组播很有用,因为它为通过互联网“广播”数据提供了一种有效的机制。最好通过与 IP 单播的比较来理解它。当使用单播将相同的数据发送到多个客户端时,必须打开与这些客户端的多个单独连接。当客户端数量显着增长时,发送者的负载会急剧增加。使用 IP 组播,数据只需要发送一次。启用组播的网络将数据副本发送给所有希望接收数据的客户端。这样,无论有多少客户端希望接收数据,发送者都只发送一次数据。这非常类似于电视广播,单个发射器发送单个视频传输,并且信号范围内的任何人都可以接收传输。由于它在将相同数据发送给多个接收者时效率更高,因此组播非常适合多媒体网络应用,例如视频会议或现场网络广播。
发送和接收 IP 组播的能力主要取决于您的网络。网络的路由器必须知道如何处理组播数据包。几年前,只有极少数路由器能够处理组播数据包。当时,需要一种方法通过设计为仅处理单播数据包的网络发送组播数据包。这种方法变成了虚拟组播骨干网或 MBone。使用 MBone 的软件本质上是将组播数据包打包在单播数据包内,非组播功能的路由器知道如何处理这些数据包。启用组播的路由器能够识别和处理组播数据包,以及运行 MBone 软件的计算机。
NC State 使用的远程教育软件的主要组件是 MBone 工具。这些工具是 vic、rat、wbd 和 sdr,可以在伦敦大学学院 (UCL) 的网站 http://www-mice.cs.ucl.ac.uk/multimedia/software/ 上以二进制和源代码形式下载。vic 是一个 MBone 视频会议工具。它最初由 Lawrence Berkeley 国家实验室 (LBNL) 网络研究组的 Steve McCanne 和 Van Jacobson 开发。NC State 目前使用的版本目前正在 UCL 开发中。此版本提供使用 Video4Linux 的视频捕获支持,因此许多现有的视频捕获卡都与之兼容。它结合了许多编解码器,包括 H.261 和 H.263。它提供了调整帧率、带宽和视频质量以及许多其他选项的控件。用户可以在缩略图和全屏视频窗口之间切换,并在多种视频格式之间切换。vic 在组播会议模式或点对点单播模式下运行。
Robust Audio Tool (rat) 是一种 MBone 音频会议工具。rat 由 UCL 的网络多媒体研究组开发。RAT 有两个版本:稳定的、收费质量(即电话质量)版本 3 和改进的、但实验性的高质量版本 4。rat 同时支持 ALSA(高级 Linux 声音架构)和 OSS(开放声音系统),因此它与大量声卡兼容。rat 提供了许多音频编解码器,以及数据包丢失隐藏方案。其他功能包括自动增益控制、静音抑制和加密。rat 还提供了一个图形界面,显示会议参与者和音频级别。与 vic 一样,rat 可以在点对点单播模式或组播会议模式下运行。
wbd 是一个 MBone 共享白板。它允许多个会议参与者共享一个白板工作区。它最初由拉夫堡大学的 Julian Highfield 编写。最近对它的开发工作是由 UCL 的 Kristian Hasler 完成的。wbd 与 LBNL 白板 wb 兼容,wb 由 Steve McCanne 开发。由于 wb 仅以 UNIX 平台的二进制形式提供,Julian Highfield 编写 wbd 主要是为了满足 Windows 版本 wb 的需求。由于源代码是免费提供的,我们选择在 Linux 上使用 wbd 而不是仅二进制的 wb。wbd 具有一套标准的白板功能,例如字体、颜色和线宽选项、文本输入功能、绘图工具和各种页面方向。wbd 可以导入 PostScript 和文本文件。wbd 设计为在点对点和共享组播模式下工作,但目前只有组播模式在 Linux 中正常运行。
会议中的每个用户不必连接到其他每个用户,MBone 用户加入一个组播组。发送到组的任何内容都由组的所有当前成员接收。到目前为止讨论的 MBone 工具都没有提供任何定位或宣传这些组的方法。这是通过会话目录工具 sdr 完成的。从某种意义上说,会话目录就像电视指南,显示 MBone 上所有当前可用的“节目”。sdr 最初在 UCL 编写,并模仿了另一个名为 sd 的 LBNL 工具。当用户加载 sdr 时,会出现所有公共和私有 MBone 会话的列表。要获取有关特定会话的更多信息,用户单击会话名称。要加入会话,用户单击该会话的加入按钮,然后 sdr 加载参与该会话所需的各种工具。要创建新会话,用户单击“新建”按钮并输入有关会话的各种信息。sdr 然后生成组播地址并宣传该会话以供其他用户查看。
按照当前标准,MBone 工具的带宽要求相对较低。每个视频源每秒仅需约 128KBps,速率为每秒十帧。音频以电话质量需要约 64KBps。更高的帧率视频是可能的,但我们发现高质量的白板数据与高质量的音频相结合,足以弥补慢速视频。视频主要为参与者定向并提供视觉线索,而实际内容通过音频和白板数据提供。对于某些课程,提供全动态视频更为重要,并且在适当调整后,vic 可以提供这一点。
MBone 工具并非专门为远程教育而设计。事实上,尽管应用程序之间的互操作性和统一性是原始设计者的目标,但在 NC State 开始第一个 MBone 课程时,这一点尚未实现。此外,这些工具本身对于非技术用户来说具有相对陡峭的学习曲线。例如,为了创建一个新会话,必须在 sdr 中设置许多技术选项,包括会话类型、会话范围、媒体类型和会话时间。经验丰富的用户可以轻松浏览这些选项,但为了满足远程教育的需求,用户必须能够在仅接受最少培训的情况下操作这些工具。为了实现此目标,创建了远程教育教学助手。DETA 是 MBone 工具的向导式界面。它隐藏了非经验用户不应处理的所有技术选项。最初,它主要充当启动基于 Mbone 的远程教育课程的简化界面。多年来,添加了许多功能,包括提供预先准备好的演示文稿和课程的自动数字存档的能力。
DETA 背后的基本目的是将各种工具和支持程序融合到一个单一、易于使用的应用程序中。DETA 是用 Tcl/Tk 解释型脚本语言编写的。选择这种语言的主要原因与 MBone 工具有关。它们都是用 C 或 C++ 编写的基于 Tcl 的应用程序。这不仅在应用程序本身中提供了极大的灵活性,而且还允许它们之间进行基本的互操作性。这种互操作性是通过 Tcl 的 Send 命令实现的。Send 允许一个 Tcl 解释器在另一个应用程序解释器中远程执行命令。在 DETA 中,Send 命令主要用于远程操作 SDR,以及设置其他 MBone 工具中的选项。
使用 Tcl Send 命令进行通信的缺点之一是它不会隐藏任何各种工具的内部实现。当该实现发生更改或添加新工具时,这会成为一个问题。然后必须更改核心 DETA 脚本以适应工具中的更改。解决此问题的一种方法是直接修改各种工具,以便它们通过通用的、独立于实现的总线进行通信。这将需要 MBone 工具的单独修改版本。与其使用 MBone 工具的修改版本,不如决定将与各种工具通信的代码模块化为单独的接口包。接口包含字符串数组中所有特定于工具的 Tcl 代码。这些数组在启动时由主 DETA 脚本加载。通过这种方式,可以修改核心脚本而不会影响依赖于实现的代码,并且只需创建新的接口模块即可添加新的或更新的工具。

图 1. DETA 的模式选择屏幕
当用户首次启动 DETA 时,他或她会获得四个模式选项,如图 1 所示。第一个是创建新会话。这将创建一个新的组播会话,该会话将在会话处于活动状态时宣布,并在会话变为非活动状态后过期。通过创建会话,用户成为该会话的指定主机。第二个选项是托管现有会话。包含此模式是为了让用户可以托管永久存在的会话。在 NC State,Troy Holder 编写了一个会话目录服务器,该服务器持续宣布课程会话。这样,学期制的课程公告不必在每次会议时重新创建。第三个选项是加入现有会话。这是远程参与者将选择的选项。它允许用户从可用会话列表中选择所需的会话,然后加入它。最后一个选项是播放录制的会话。此模式用于选择以前存档的会话,以便通过远程 VCR 服务器播放。选择模式后,用户输入有关会话的信息。图 2 显示了创建新会话时所需的信息。这包括会话名称、讲师姓名以及会话中要使用的 MBone 工具。这会在会话之间保存,通常不需要重新输入。设置会话选项后,DETA 会创建会话并加载 MBone 工具。
除了融合核心 MBone 工具外,DETA 还添加了许多功能。第一个是在 NC State 开发的名为 WBDImport 的工具。此工具模仿了 Van Jacobson 编写的 WBImport。它允许用户使用共享白板工具进行 PowerPoint 风格的演示文稿。幻灯片文件的格式是通用的 PostScript。用户在启动时指示将使用哪些文件,方法是指定包含幻灯片的目录,或指定包含所有文件及其位置列表的文本文件。在会话期间,WBDImport 窗口列出启动时指定的所有幻灯片。要显示幻灯片,用户只需单击所需幻灯片的名称,它就会加载到共享白板中。此工具允许教授提前准备一组幻灯片,然后在讲课期间对其进行注释。幻灯片和注释会实时发送给会话中的所有参与者。已发现以这种方式使用预先准备好的幻灯片优于手写,尤其对于需要大量书面笔记的课程。
DETA 中使用的音频工具一次只允许一个用户讲话。如果远程站点有疑问,那么必须有一种方法向主机发出信号,以便可以提出问题。一个名为 Electronic Hand Raiser 的工具提供了此功能。远程用户有一个控制面板,上面有一个标有“提问”的按钮。当他们单击此按钮时,会话主持人将听到提示音并看到一条消息按钮,指示问题来自何处。为了确认问题,主持人单击消息,然后允许远程站点提出他们的问题。远程站点还有一个“取消问题”按钮,如果远程用户希望撤回他们的问题。除了解决半双工音频问题外,此工具还提供了一种符合传统课堂协议的楼层控制形式(参见图 4)。图 3 显示了 DETA 实时会话,其中包含 MBone 视频、音频和白板工具,以及 Electronic Hand Raiser 和 WBDImport 工具。
DETA 的另一个功能是会话的集成录制和播放。要录制会话,主持人选中录制选项,会话将自动录制在单独的 VCR 服务器上。要播放会话,用户选择播放会话选项,然后选择所需的会话。选择会话后,DETA 提供一个 VCR 风格的界面(参见图 4)。此界面还允许用户启动各种工具,并提供标准的 VCR 控件,例如播放和倒带。VCR 服务器本身是一个单独的 Tcl 脚本,DETA 通过 TCP/IP 套接字与其通信。服务器的主要功能是启动和停止一个名为 mVCR 的 Java 应用程序。mVCR 由瑞典吕勒奥理工大学的 Peter Parnes 编写。它能够捕获和播放 MBone 音频、视频和白板工具的组播数据流。DETA VCR 服务器和 mVCR 与 DETA 结合使用,可提供会话的即时按需播放。一旦课堂会话完成,该会话即可用于远程播放。这大大降低了向远程站点提供延时课程所需的成本和开销。此外,错过课程或希望复习课程的学生可以单独重播录制的会话。
DETA 会话的录制和播放并非完全没有问题。录制系统的工作原理是捕获客户端工作站初始实时会话期间接收到的所有网络数据包,将它们与时间戳一起编码并写入磁盘。在播放时,时间戳用于传递“相同”的网络数据包流,这将完全模仿原始会话并保持音频、视频和白板的同步。录制(或实时会话)的质量可能会受到网络拥塞、处理器负载或其他来源导致的数据包丢失的影响。一般来说,丢失单个数据包只会对音频或视频录制造成最小的损害。播放期间错过的音节很容易从上下文中填补,而错过的视频帧只会导致短暂的暂停或失真。对于白板来说,情况通常并非如此。教师使用白板的一种方式是加载包含图形或方程式的预先准备好的 PostScript 幻灯片,然后使用白板的标记功能来提供其他信息并引导课堂讨论所呈现的材料。典型的 PostScript 图像,即使压缩后,也可能为 10 到 50KB。为了将其流式传输到客户端系统,图像由服务器分解为多个网络数据包,并在客户端重新组装,然后再进行渲染。如果在传输过程中丢失了哪怕一个数据包,重新组装的图像也会不完整,并且渲染将失败。整个图像将从客户端白板上消失。白板协议包含一个功能,用于处理实时会话期间的此问题。每个网络数据包都编号,因此每个客户端都可以识别何时缺少数据包。然后,该客户端可以向所有其他会话参与者发送请求,请求重新传输数据包,并且任何拥有请求数据包的客户端都可以响应。这种延迟交付机制非常适合白板,因为它对同步不太敏感。不幸的是,mVCR 录制工具是被动的。它只是记录接收到的数据包,而不请求重新传输丢失的数据包。每当收到任何数据包丢失的 PostScript 图像时,它在录制中将是不完整的,并且在播放期间不会出现。这可能会显着降低学习体验的质量,因为观看播放的学生无法看到准备好的材料。
为了克服这个困难,开发了一个修复工具:fix_wb_recording.pl。Perl 工具只是解析白板录制,找到任何数据丢失的 PostScript 图像,并用完整的图像替换它们。解析录制需要详细了解 mVCR 录制格式和 wb 数据格式。这两者都没有得到很好的文档记录,但 Web 上提供了足够的信息。mVCR 录制格式由 Peter Parnes 在 www.cdt.luth.se/~peppar/progs/mMOD/doc/fileformat.txt 中描述。mVCR 格式只是一个包含基本设置信息(组播地址和端口号)的标头,以及任意数量的包装 wb 数据包。wb 数据格式从未发布,但 Lars Rasmusson 在 www.it.kth.se/~d90-lra/wb-proto.html 上发布了对该格式的反向工程描述。虽然已知此描述在某些细节上是不完整且不正确的,但它对于修复 mVCR 录制的目的来说足够准确。在 wb 数据格式中,PostScript 图像以绘制命令序列(不一定是连续的)的形式出现,这些命令编码 PostScript 数据并发出命令以客户端渲染完整图像。
每当解析例程在录制中遇到 PostScript 图像时,它都会打开原始会话中使用的每个 PostScript 文件,并搜索匹配的数据块。由于大多数教师都使用单个软件工具准备他们所有的 PostScript 图像,因此图像通常包含大量相同的片段。因此,通常需要检查几个录制的数据块,然后才能找到与原始图像之一产生唯一匹配的数据块。一旦找到唯一匹配项,与录制图像关联的每个绘制命令都会被删除,并插入包含完整图像的所有数据块和关联的渲染图像命令的新绘制命令。录制完成后,DETA 为用户提供使用修复工具后处理幻灯片的选项。如果选择此选项,DETA 会将实际的 PostScript 幻灯片发送到 VCR 服务器并运行 fix_wb_recording.pl 工具。一旦实施了这一点,录制会话的质量问题几乎降至零。

图 5. NC State 的 MBone 教室
自 1996 年秋季以来,北卡罗来纳州立大学一直在开设 MBone 课程。在此期间,许多本科工程课程已交付给参与的大学和社区学院。在 NC State,专门为远程教育建造了一个教室(参见图 5)。这个教室包含本地学生的座位。有两个远程控制摄像机,一个用于讲师,一个用于学生。有三台大型电视监视器,本地学生可以在上面看到计算机屏幕。有一个控制区,配有计算机工作站、文档摄像机、两台小型电视监视器和一个 AMX 控制器。AMX 控制器控制摄像机以及其他音频和视频源。它还提供中央控制来操作房间内的其他设备。教室最创新的功能是安装在教室前墙上的数字投影 SMARTBoard。SMARTBoard 是 SMART Technologies 制造的输入设备。它本质上是标准办公白板的触摸感应版本。在 SMARTBoard 表面上书写的任何内容都会传输到计算机。教室中使用的投影版本与 LCD 投影仪结合使用,将计算机屏幕的图像直接投影到 SMARTBoard 上。通过这种方式,讲师实际上是直接在计算机屏幕上书写。SMARTBoard 足够大,本地学生可以直接看到讲师在 SMARTBoard 上书写的内容。这项技术为计算机提供了一个自然的闭环界面,与传统的教室黑板非常相似。
通常,教学助理操作计算机设备和摄像机,而讲师讲课。这使讲师不必在课堂进行时处理任何技术问题。其中一个问题与 DETA 的楼层控制方面有关。Electronic Hand Raiser 提供的楼层控制纯粹是自愿的,并且要求所有参与者都遵循正确的协议。我们经常发现远程参与者会在共享白板上乱写乱画以引起讲师的注意,或者讲师只是未能确认收到的问题。楼层控制问题的良好解决方案仍有待找到,通常助理的责任是帮助讲师确认任何问题。当本地学生提出问题时,还会出现另一个相关问题。讲师必须重复这个问题,以便远程站点听到。通常,讲师会神秘地停止说话片刻,然后开始回答远程参与者从未听到的问题。然后,远程参与者被迫要么弄清楚提出了什么问题,要么打断课堂流程并询问讲师最初的问题是什么。解决此问题的一种方法是为学生配备自己的麦克风。不幸的是,这要么依赖于他们记住激活麦克风,要么依赖于分散注意力的持续存在音频。
学生对 MBone 课程的总体反应是积极的。MBone 工具提供的互动功能远优于录像带或广播。它们提供了更丰富的教育体验,更类似于传统课堂。大多数讲师都能够很好地适应这项技术,尽管对于那些习惯于传统课堂教学的人来说,存在一定的学习曲线。我们未来主要目标之一是降低这种学习曲线,使技术对用户更加透明。理想情况下,讲师应该能够走进教室,启动设备,并立即开始讲课,而无需过多考虑底层技术。虽然这个目标尚未实现,但我们认为 MBone 工具和 DETA 与 Linux 平台相结合,代表了一种高度可用且经济高效的工具,用于交付互动式远程教育。有关更多信息,以及所有 DETA 和 MBone 软件的链接,请访问我们的网站 http://www.engr.ncsu.edu/deta/。


