论文部分内容阅读
摘要精品课程网站教学录像播放不流畅制约了精品课程的网上推广,Adobe公司推出的Flash Media Server平台,采用Flash流媒体技术,实现精品课程教学录像在线流畅播放。
中图分类号:TP31文献标识码:A
精品课程建设是高等学校教学质量与教学改革工程的重要组成部分,精品课程可以划分为校级、省级和国家级精品课程。精品课程鼓励将网络课件、授课录像等上网开放,实现优质教学资源共享,带动其他课程的建设。
1 精品课程网站教学录像播放存在的问题
《国家精品课程建设工作实施办法》规定,为评价主讲教师个人的授课效果,还需在网上提供不少于45分钟的现场教学录像。鼓励将课件或全程授课录像上网参评。精品课程教学录像,连同课程其他教学资源一起存储在本校服务器上,对外实现共享。因此,教学录像质量成为国家精品课程评审的重要指标之一。
目前多数高等院校网站对外公布的校级和省级精品课程的教学录像,有的需要下载专门的指定播放插件才能播放,有的需要缓冲长时间等待播放,有的就直接提供一个下载的视频文件,需要下载到本地才能播放。这样不能直接在线播放的教学录像,学习者无法第一时间观看,直接导致学习的连贯性得到破坏,而国家精品课程评审专家也无法评价主讲教师个人的授课效果,评审过程中断,也实现不了资源共享的目的。
Adobe公司发布的 Flash Media Server(简称FMS)为教学录像无需下载其他插件而实现在线流畅播放提供了最佳的解决方案。
2 FMS技术概述
FMS服务器是用于用户之间相互通讯的新平台,它集成了Flash多媒体交互的特性,又添加了实时音频、视频和数据流等新特色,使用该平台,你可以通过网络存储录制下来的音频、视频,也可以共享数据对象,并且可以将这些音频、视频和共享数据对象传递给多个客户端,实现实时同步共享。该平台集成了通讯功能和应用程序功能,它通过Flash Player(Flash Player 6或更高)在客户端提供共享音频、视频和数据流,为用户带来了更为丰富的体验。
Flash Player客户端通过RTMP(Real-Time Messaging ProLocol)协议与FMS服务器建立连接,RTMP协议是专门为高效传输视频、音频和数据而设计的TCP/IP协议,嵌入Flash Player的网页通过HTTP(Hyper Text Transfer Protocol)协议与WEB服务器建立连接,形成稳定的数据流,目前全球98%的计算机都能运行Flash Player,从而实现用户打开网页无需考虑播放环境即可在线流畅播放教学录像。FMS在用户终端没有缓存,有效保护了内容版权。
服务器与客户端通过ActionScript脚本实现相互通信,通过ActionScript脚本,服务器端实现视频、音频流以及服务器其他参数的控制,客户端实现视频、音频的采集与传输。
3 ActionScript3.0常用类
ActionScript是针对Flash Player运行时环境的编程语言,它在Flash内容和应用程序中实现了交互性、数据处理以及其它许多功能。
(1)NetConnection类。管理Flash Player和服务器之间的双向连接。NetConnection.call()方法调用服务器上的一个命令或方法;NetConnection.close()方法关闭与服务器的通讯;NetConnection.connect()方法连接到Flash Media Server上的一个应用程序。
(2)NetStream类。经由一个由NetConnection对象构造的可用连接在Flash Player和FMS之间打开一条一路(one-way)流连接。NetStream.close()方法停止发布或播放流上所有的数据,并使这个流对另一个用户可用;NetStream.play()发放播放流。
(3)Video类,用来处理视频。使用Video类可以控制基本的视频文件功能比如编码、滤镜等。通过使用Video类的属性和方法,可以在程序中直接显示实时的视频流,而不用把视频文件编译到Flash Player视频文件中。Video.attachNetStream()方法指定在舞台上的Video对象的边界内显示的视频流;Video.attachCamera()指定在应用程序窗口中Video对象的边界内显示来自摄像头的视频流。
4 技术实施过程
4.1 服务器端设置
创建应用程序。定位FMS服务器(服务器地址如10.1.4.249)上安装目录, 即AdobeFlash Media Server 3applications目录下,创建一个jpk子目录,作为FMS应用程序的文件名,在jpk目录下创建streams_definst_目录,作为存放教学录像的位置,如存放CVideo.flv。教学录像文件需要是流媒体支持格式,如Flash Video (FLV)视频格式,MPEG-3 (MP3)音频格式和MPEG-4 (MP4)视频格式。其他格式的教学录像可通过Adobe Flash CS3 Video Encoder进行转换。
开启FMS服务。通过程序列表中的Start Adobe Flash Media Server和Start Flash Media Administration Server开启服务,也可通过安装目录下tools的StartServerService.bat开启服务。
4.2 客户端设置
Flash Player充当FMS的客户端播放环境,可以创建video对象播放教学录像,也可以使用FLVPlayback组件播放教学录像。客户端使用Flash CS3和ActionScript3.0创建swf文件。
(1)使用创建video对象播放教学录像。
启动Flash CS3,保存源文件为Play.fla,添加一个Button组件到【库】中,这样可以用组件的类名来添加它们到舞台上。文档属性中文档类输入Play。
新建Flash ActionScript文件,命名Play.as,作为Play.fla的文档类,保存和Play.fla同目录下。Play.as脚本如下:
package {
import fl.controls.Button;
import flash.display.Sprite;
import flash.net.*;
import flash.events.*;
import flash.media.Video;
public class MinPlay extends Sprite {
private var nc:NetConnection;
private var ns:NetStream;
private var rtmpNow:String;
private var msg:Boolean;
private var vid1:Video;
private var playBtn:Button;
private var stopBtn:Button;
function MinPlay() {
nc = new NetConnection();
nc.addEventListener(NetStatusEvent.NET_STATUS,checkConnect);
rtmpNow = "rtmp://10.1.4.249/jpk";
nc.connect(rtmpNow);
addVideo();addBtn();
playBtn.addEventListener(MouseEvent.CLICK,startPlay);
stopBtn.addEventListener(MouseEvent.CLICK,stopPlay);
}
private function addVideo():void {
vid1= new Video(400,300);
addChild(vid1);
}
private function addBtn():void {
playBtn = new Button();
playBtn.label = "播放";addChild(playBtn);
stopBtn = new Button();
stopBtn.label = "停止";
addChild(stopBtn);
}
private function checkConnect(e:NetStatusEvent):void {
msg= (e.info.code=="NetConnection.Connect.Success");
if (msg) {
ns = new NetStream(nc);
}
}
private function startPlay(e:Event):void {
if (ns) {
vid1.attachNetStream(ns);
ns.play("CVideo");
}
}
private function stopPlay(e:Event):void {
ns.play(false);ns.close();
}
}
}
(2)使用FLVPlayback组件播放教学录像。
FLVPlayback组件提供预先设计的外观集合,具备了完整的控制视频播放的功能。定位Flash8的安装目录,即MacromediaFlash 8Samples and TutorialsSamplesComponentsFLVPlayback,复制main.asc文件到服务器的应用程序jpk目录下。
启动Adobe Flash CS3,保存源文件为Play.fla,添加一个FLVPlayback组件到【库】中,这样可以用组件的类名来添加它们到舞台上。文档属性中文档类输入Play。复制SkinUnderPlayStopSeekCaptionVol.swf到Play.fla同目录下。
新建Flash ActionScript文件,命名Play.as,作为Play.fla的文档类,保存和Play.fla同目录下。Play.as脚本如下:
package {
import fl.video.*
import flash.display.*;
import flash.net.*;
import flash.events.*;
public class Play extends Sprite {
private var nc:NetConnection;
private var vid1:FLVPlayback;
private var msg:Boolean;
function Play() {
nc = new NetConnection();
nc.addEventListener(NetStatusEvent.NET_STATUS,checkConnect);
nc.connect("rtmp://10.1.4.249/jpk");
addVideo();
}
private function addVideo():void {
vid1= new FLVPlayback();
vid1.skin = "SkinUnderPlayStopSeekCaptionVol.swf";
addChild(vid1);
}
private function checkConnect(e:NetStatusEvent):void {(下转第116页)(上接第99页)
msg = (e.info.code=="NetConnection.Connect.Success");
if (msg) {vid1.source = "rtmp://10.1.4.249/jpk/CVideo.flv";
}
}
}
}
5 小结
精品课程建设旨在推动优秀教学资源共享作用,教学录像作为其中的一个重要组成部分,FMS可以实现多媒体流的点播、直播、交互等多种应用,Flash Player在网络上应用的广泛性,因此,FMS成为诸多多媒体应用的服务器端主要应用平台。基于FMS平台的教学录像的在线流畅播放保证了学习者学习的连续性,提升精品课程的整体水平。
参考文献
[1]教高[2003]1号.教育部关于启动高等学校教学质量与教学改革工程精品课程建设工作的通知,2003.
[2]教高厅[2003]3号.教育部办公厅关于印发《国家精品课程建设工作实施办法》的通知,2003.
[3]William B.Sanders.Learning Flash Media Server 3.Beijing:O’Reilly,2008.
[4]班凯,李伟华.基于FMS的Web视频、音频通信系统设计.航空计算技术,2009.
中图分类号:TP31文献标识码:A
精品课程建设是高等学校教学质量与教学改革工程的重要组成部分,精品课程可以划分为校级、省级和国家级精品课程。精品课程鼓励将网络课件、授课录像等上网开放,实现优质教学资源共享,带动其他课程的建设。
1 精品课程网站教学录像播放存在的问题
《国家精品课程建设工作实施办法》规定,为评价主讲教师个人的授课效果,还需在网上提供不少于45分钟的现场教学录像。鼓励将课件或全程授课录像上网参评。精品课程教学录像,连同课程其他教学资源一起存储在本校服务器上,对外实现共享。因此,教学录像质量成为国家精品课程评审的重要指标之一。
目前多数高等院校网站对外公布的校级和省级精品课程的教学录像,有的需要下载专门的指定播放插件才能播放,有的需要缓冲长时间等待播放,有的就直接提供一个下载的视频文件,需要下载到本地才能播放。这样不能直接在线播放的教学录像,学习者无法第一时间观看,直接导致学习的连贯性得到破坏,而国家精品课程评审专家也无法评价主讲教师个人的授课效果,评审过程中断,也实现不了资源共享的目的。
Adobe公司发布的 Flash Media Server(简称FMS)为教学录像无需下载其他插件而实现在线流畅播放提供了最佳的解决方案。
2 FMS技术概述
FMS服务器是用于用户之间相互通讯的新平台,它集成了Flash多媒体交互的特性,又添加了实时音频、视频和数据流等新特色,使用该平台,你可以通过网络存储录制下来的音频、视频,也可以共享数据对象,并且可以将这些音频、视频和共享数据对象传递给多个客户端,实现实时同步共享。该平台集成了通讯功能和应用程序功能,它通过Flash Player(Flash Player 6或更高)在客户端提供共享音频、视频和数据流,为用户带来了更为丰富的体验。
Flash Player客户端通过RTMP(Real-Time Messaging ProLocol)协议与FMS服务器建立连接,RTMP协议是专门为高效传输视频、音频和数据而设计的TCP/IP协议,嵌入Flash Player的网页通过HTTP(Hyper Text Transfer Protocol)协议与WEB服务器建立连接,形成稳定的数据流,目前全球98%的计算机都能运行Flash Player,从而实现用户打开网页无需考虑播放环境即可在线流畅播放教学录像。FMS在用户终端没有缓存,有效保护了内容版权。
服务器与客户端通过ActionScript脚本实现相互通信,通过ActionScript脚本,服务器端实现视频、音频流以及服务器其他参数的控制,客户端实现视频、音频的采集与传输。
3 ActionScript3.0常用类
ActionScript是针对Flash Player运行时环境的编程语言,它在Flash内容和应用程序中实现了交互性、数据处理以及其它许多功能。
(1)NetConnection类。管理Flash Player和服务器之间的双向连接。NetConnection.call()方法调用服务器上的一个命令或方法;NetConnection.close()方法关闭与服务器的通讯;NetConnection.connect()方法连接到Flash Media Server上的一个应用程序。
(2)NetStream类。经由一个由NetConnection对象构造的可用连接在Flash Player和FMS之间打开一条一路(one-way)流连接。NetStream.close()方法停止发布或播放流上所有的数据,并使这个流对另一个用户可用;NetStream.play()发放播放流。
(3)Video类,用来处理视频。使用Video类可以控制基本的视频文件功能比如编码、滤镜等。通过使用Video类的属性和方法,可以在程序中直接显示实时的视频流,而不用把视频文件编译到Flash Player视频文件中。Video.attachNetStream()方法指定在舞台上的Video对象的边界内显示的视频流;Video.attachCamera()指定在应用程序窗口中Video对象的边界内显示来自摄像头的视频流。
4 技术实施过程
4.1 服务器端设置
创建应用程序。定位FMS服务器(服务器地址如10.1.4.249)上安装目录, 即AdobeFlash Media Server 3applications目录下,创建一个jpk子目录,作为FMS应用程序的文件名,在jpk目录下创建streams_definst_目录,作为存放教学录像的位置,如存放CVideo.flv。教学录像文件需要是流媒体支持格式,如Flash Video (FLV)视频格式,MPEG-3 (MP3)音频格式和MPEG-4 (MP4)视频格式。其他格式的教学录像可通过Adobe Flash CS3 Video Encoder进行转换。
开启FMS服务。通过程序列表中的Start Adobe Flash Media Server和Start Flash Media Administration Server开启服务,也可通过安装目录下tools的StartServerService.bat开启服务。
4.2 客户端设置
Flash Player充当FMS的客户端播放环境,可以创建video对象播放教学录像,也可以使用FLVPlayback组件播放教学录像。客户端使用Flash CS3和ActionScript3.0创建swf文件。
(1)使用创建video对象播放教学录像。
启动Flash CS3,保存源文件为Play.fla,添加一个Button组件到【库】中,这样可以用组件的类名来添加它们到舞台上。文档属性中文档类输入Play。
新建Flash ActionScript文件,命名Play.as,作为Play.fla的文档类,保存和Play.fla同目录下。Play.as脚本如下:
package {
import fl.controls.Button;
import flash.display.Sprite;
import flash.net.*;
import flash.events.*;
import flash.media.Video;
public class MinPlay extends Sprite {
private var nc:NetConnection;
private var ns:NetStream;
private var rtmpNow:String;
private var msg:Boolean;
private var vid1:Video;
private var playBtn:Button;
private var stopBtn:Button;
function MinPlay() {
nc = new NetConnection();
nc.addEventListener(NetStatusEvent.NET_STATUS,checkConnect);
rtmpNow = "rtmp://10.1.4.249/jpk";
nc.connect(rtmpNow);
addVideo();addBtn();
playBtn.addEventListener(MouseEvent.CLICK,startPlay);
stopBtn.addEventListener(MouseEvent.CLICK,stopPlay);
}
private function addVideo():void {
vid1= new Video(400,300);
addChild(vid1);
}
private function addBtn():void {
playBtn = new Button();
playBtn.label = "播放";addChild(playBtn);
stopBtn = new Button();
stopBtn.label = "停止";
addChild(stopBtn);
}
private function checkConnect(e:NetStatusEvent):void {
msg= (e.info.code=="NetConnection.Connect.Success");
if (msg) {
ns = new NetStream(nc);
}
}
private function startPlay(e:Event):void {
if (ns) {
vid1.attachNetStream(ns);
ns.play("CVideo");
}
}
private function stopPlay(e:Event):void {
ns.play(false);ns.close();
}
}
}
(2)使用FLVPlayback组件播放教学录像。
FLVPlayback组件提供预先设计的外观集合,具备了完整的控制视频播放的功能。定位Flash8的安装目录,即MacromediaFlash 8Samples and TutorialsSamplesComponentsFLVPlayback,复制main.asc文件到服务器的应用程序jpk目录下。
启动Adobe Flash CS3,保存源文件为Play.fla,添加一个FLVPlayback组件到【库】中,这样可以用组件的类名来添加它们到舞台上。文档属性中文档类输入Play。复制SkinUnderPlayStopSeekCaptionVol.swf到Play.fla同目录下。
新建Flash ActionScript文件,命名Play.as,作为Play.fla的文档类,保存和Play.fla同目录下。Play.as脚本如下:
package {
import fl.video.*
import flash.display.*;
import flash.net.*;
import flash.events.*;
public class Play extends Sprite {
private var nc:NetConnection;
private var vid1:FLVPlayback;
private var msg:Boolean;
function Play() {
nc = new NetConnection();
nc.addEventListener(NetStatusEvent.NET_STATUS,checkConnect);
nc.connect("rtmp://10.1.4.249/jpk");
addVideo();
}
private function addVideo():void {
vid1= new FLVPlayback();
vid1.skin = "SkinUnderPlayStopSeekCaptionVol.swf";
addChild(vid1);
}
private function checkConnect(e:NetStatusEvent):void {(下转第116页)(上接第99页)
msg = (e.info.code=="NetConnection.Connect.Success");
if (msg) {vid1.source = "rtmp://10.1.4.249/jpk/CVideo.flv";
}
}
}
}
5 小结
精品课程建设旨在推动优秀教学资源共享作用,教学录像作为其中的一个重要组成部分,FMS可以实现多媒体流的点播、直播、交互等多种应用,Flash Player在网络上应用的广泛性,因此,FMS成为诸多多媒体应用的服务器端主要应用平台。基于FMS平台的教学录像的在线流畅播放保证了学习者学习的连续性,提升精品课程的整体水平。
参考文献
[1]教高[2003]1号.教育部关于启动高等学校教学质量与教学改革工程精品课程建设工作的通知,2003.
[2]教高厅[2003]3号.教育部办公厅关于印发《国家精品课程建设工作实施办法》的通知,2003.
[3]William B.Sanders.Learning Flash Media Server 3.Beijing:O’Reilly,2008.
[4]班凯,李伟华.基于FMS的Web视频、音频通信系统设计.航空计算技术,2009.