当前位置:文档之家› 交互式多媒体网络教学系统研究

交互式多媒体网络教学系统研究

常莎(北京邮电大学通信网络综合技术研究所,北京 100876 )E-mail:hellenmula@摘要:本文主要研究了计算机网络技术和多媒体技术在现代多媒体网络教学系统中的应用,并针对目前多媒体电子教室的实现方式,在用Java语言实现跨平台的多媒体协同工作平台,提出了一种软、硬件技术相结合的解决方案。

该方案在局域网范围内构建了一个能满足各种教学需求的多媒体教学系统。

系统采用图文并茂、声音和视频相结合的教学方式,着重于提高教师与学生在教学过程中的交互性和灵活性,从而彻底突破传统课堂教学中“粉笔+黑板”的枯燥模式,极大提高了教师的教学效率和学生的学习兴趣和学习效果。

除此之外,本文还研究了远程控制的实现从而使得系统更加的完善。

关键字:多媒体教室、套接字、流媒体、RTP/RTCP、远程控制。

中图分类号: TN919.8 文献标识码: A1.引言随着计算机技术的飞速发展,作为培养未来建设者基地的学校,率先承担了应用、研究、开发和培训人才的义务,并建立了以教学为主的计算机教室。

计算机应用于教育系统,不仅作为学生学习的对象,同时更是一种现代化的教学手段,充分利用计算机技术的优势,发挥计算机辅助教学的功能。

我们不难发现多媒体教学网络与传统的教学方式相比,有着无可比拟的优势。

本系统运行于加载TCP/IP协议的Windows95/98/ME/NT/2000网络,主要在局域网上实现多媒体信息的广播,并同时实现网络屏幕监视和远程控制等网络管理的目的。

它专门针对象监视、远程控制、网上语音广播、两人对讲和多方讨论、VCD/MPEG/MP3/A VI/WA V/MOV 等视频流的网络广播、同步文件传输、联机讨论、远程命令、获取远端信息、电子黑板与白板、自由的交互式短信息发送[1]。

本论文主要研究多媒体教室中的重要环节——图像视频以及音频媒体的交互。

2.交互式多媒体软件系统概述(1)交互:原本是一个计算机术语。

指系统接收来自终端的输入,进行处理,并把结果返回到终端的过程,也即人--机对话。

交互是计算机赖以工作的基础,没有交互,计算机便无法完成哪怕是最基本的工作。

交互性成了计算机区别于其它媒体的最基本特征之一。

(2)屏幕广播:屏幕广播线程实现拷贝当前屏幕后,就进行两步数据压缩,然后将压缩后的数据进行分组打包发送给学生机。

学生机将接收到的数据进行重组,并判断是否接收(3)视频采集卡:是将模拟摄像机、录像机、电视机输出的视频信号等输出的视频数据或者视频音频的混合数据输入电脑,并转换成电脑可辨别的数字数据,存储在电脑中,成为可编辑处理的视频数据文件。

(4)MPEG4: MPEG-4的特点是其更适于交互服务以及远程监控。

这是一个有交互性的动态图像标准。

从MPEG4与MPEG1和MPEG2的比较中可以看出,MPEG1和MPEG2主要的应用是在固定媒体中,如VCD和DVD,而对于网络传输这种媒介,MPEG4具有无可媲美的优势。

(5)视频广播:基于TCP/IP的视频广播,是在一台服务器上(可以使用DELL poweredge 2300以上,配置512M内存,硬盘大)存储视频数据,或者通过视频采集卡直接抓取视频信号,采用先进的MPEG4实时软件压缩视频算法,通过TCP/IP协议传送出去。

使用适用于局域网、广域网,将教学讲座,培训、影视带入电脑。

点播与广播类似。

视频流格式:mpeg4,30帧/秒。

网络带宽:150kbps。

(6)远程控制:是指管理人员在异地通过WAN、异地拨号、或双方都接入Internet等手段,与目标计算机相连,将目标计算机的桌面显示到自己计算机上,同时通过本地计算机的输入输出设备对远程计算机进行配置、软件安装等工作,就如同在本地计算机上操作一样。

远程控制的主要方式有:Modem拨号方式、网络远程控制方式、串/并口电缆直连的远程控制方式三种。

2.1 多媒体网络教室的主要功能系统软件包括服务器端软件和客户端软件。

服务器端软件驻留在教师机上,客户端软件驻留在学生机上。

两者在局域网内进行基于TCP/IP协议的Socket传输,协同以达到实现语音交互,视频交互,屏幕图像交互,动态管理以及远程控制功能(教师机对学生机发警告,强制学生关机,注销以及用鼠标对学生机屏幕进行控制)。

2.2 多媒体网络教室系统实现2.2.1 交互功能--以屏幕图象为例在计算机显示屏幕中设定一个区域,该区域作为用来截取屏幕图像的边界,将区域内的图像数据作为实时流媒体数据流,同时在网络中传输并播放图像数据。

该程序需要实现一下步骤:(1)创建实时数据流LiveStream类,实时采集屏幕数据作为“推”数据流。

(2)创建数据源DataSource类,通过控制LiveStream类实现实时数据源。

(3)构造一个播放器MainPlayer类,实现数据流的播放。

(4)创建RTP数据传输类RTPTransmit(与发送和接收程序的RTPTransmit类相同)。

(5)构造一个主界面类,集成和管理上述类以及接收用户输入信息。

功能体现如图1图1 屏幕图像的交互2.2.2 远程控制远程控制的原理就是:主控机启动一个应用程序,便拥有与受控机相同的操作机器的权限。

因此,如果能够启动受控机的服务器程序,就可以使用相应的客户端程序直接控制受控机了。

本系统中采用了JAVA用JNI来调用C++程序。

对于调用过程在程序中的修改,只需在教师端软件的主界面程序中的执行远程控制后面加上Runtime.getRuntime().exec("Client") 就可以了。

具体实现过程如图2图2 远程控制3.1 TCP/IP协议现在网络上流行的通信协议是TCP/IP协议,由于他们对应着网络上一些常见的服务。

这些常见的服务可以分为使用TCP端口(面向连接)和使用UDP端口(面向无连接)两种。

TCP(Transmission Control Protocol,传输控制协议)是基于连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的连接。

TCP协议能为应用程序提供可靠的通信连接,使一台计算机发出的字节流无差错地发往网络上的其他计算机,对可靠性要求高的数据通信系统往往使用TCP协议传输数据。

UDP(User Data Protocol,用户数据报协议)是与TCP相对应的协议。

它是面向非连接的协议,它不与对方建立连接。

而是直接就把数据包发送过去!正因为UDP协议没有连接的过程,所以它的通信效果高。

UDP适用于一次只传送少量数据、对可靠性要求不高的应用环境。

3.2 基于UDP的Socket套接字通信综上所述,交互式多媒体教室系统需要连接传递较少的多媒体信息,且要求可靠性偏低。

所以我们选择了用JA V A语言编程基于UDP协议的Socket传输[2]。

Socket可以看成在两个程序进行通讯连接中的一个端点,一个程序将一段信息写入Socket中,该Socket将这段信息发送给另外一个Socket中,使这段信息能传送到其他程序中。

DatagramSocket和DatagramPackage类库位于包中。

而包中含有UDP 通讯所需要的工具,其中包括IP多点传送。

DatagramSocket是将数据打包封装在其内部进行传输的载体,DatagramPackage是真正装载数据的包。

在进行基于UDP协议传输的过程中,DatagramPackage将其包中数据发送给DatagramSocket,使之携带数据进行发送和接受。

DatagramSocket用于服务器端,同样为于客户端。

Socket是建立网络连接时使用的。

4.网络编程技术4.1 Java语言简介Java是一种软件技术,是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言。

Sun是要Java成为一个简单、面向对象的(其实是现实世界模型的自然延伸)、分布式的、解释的、健壮的、安全的(Java是强类型的语言,要求显式的方法声明;Java不支持指针;Java提供了异常处理机制)、结构中立的、可移植的、高效能的、多线程的、动态的程序语言 。

Java是一种跨平台,适合于分布式计算环境的面向对象编程语言,网上数据编程体现的非常充分,是其它语言无法做到的。

Java的本地方法接口JNI(Java本地接口 Java Native Interface)提供了一种扩展Java功能的手段,它允许运行在Java代码与其他语言编写的应用程序混合使用。

需要使用JNI的情况:(1)标准的Java类库无法支持的与平台相关的特性,这些特性是应用程序需要的。

(2)已有用其他语言(如C、C++等)编写的应用程序,这些应用程序,这些应用程序希望通过JNI由Java代码进行调用。

(3)用低级语言开发对时间要求较高的局部模块。

本系统中的远程控制模块中使用到了JNI,由于Java不能够直接调用WINDOWS下的API(应用程序接口 Application Program Interface)。

因此可以通过C++编译完程序后生成DLL文件,再将此文件拷贝到JNI所在目录,运行便可实现Java调用现有的C++函数了。

目前,Java语言只支持与C、C++的混合编程,但由于C、C++又可调用其他语言,所以Java也可以间接调用其他语言所实现的程序。

5.Java多媒体技术5.1 流媒体基本概念流媒体简单来说就是应用流技术在网络上传输的多媒体文件(音频,视频,动画或者其他多媒体文件),而流技术就是把连续的影像和声音信息经过压缩处理后放上网站服务器,让用户一边下载一边观看、收听,而不需要等整个压缩文件下载到自己机器后才可以观看的网络传输技术。

流媒体中的媒体可以是音频,视频,动画或者其他多媒体文件。

5.2 实时流式传输流式传输有顺序流式传输(progressive streaming)和实时流式传输(Realtime streaming)两种方式[3]。

一般来说,如视频是实时传输,或使用流式传输媒体服务器或应用如RTP,RTCP的实时协议,即为实时流式传输。

如使用HTTP服务器,文件则通过顺序流发送。

实时流式传输与顺序流式传输不同,他需要专用的流媒体服务器与传输协议。

实时流式传输总是实时传送,特别适合现场事件。

实时流方式的优点:可以实现实况转播,可以实现广播和多播;素材可以随机访问;节约用户的磁盘空间;不浪费带宽。

实时流方式缺点:需要使用专用的流服务器;丢失的包将会永久丢失。

5.2.1 RTP/RTCP协议实时传输协议RTP是在Internet网上针对多媒体数据流的一种传输协议,被定义为一对一或一对多的传输情况下工作的,其目的是提供时间信息和实现多媒体数据流的同步,RTP 通常是在UDP协议基础上来传送数据的。

RTP协议可以确定正在传输的数据类型,确定数据包正确顺序以便正常播放,它还可以同步不同数据源传输的媒体流。

相关主题