您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 基于FLASH_XML_FMS的视频点播系统的设计与实现
基于FLASH_XML_FMS的视频点播系统的设计与实现中国教育信息化/2007.08(高教职教)《中国教育信息化》编辑部:mis@moe.edu.cn一、引言在现代远程教育的异步教学过程中,视频课件的点播占有很大的比例,采用流媒体技术实现视频课件的点播具有相当明显的优势。目前提供流媒体服务的有Real公司的RealServer、Microsoft公司的MicrosoftMediaServer、Apple公司的QuickTimeStreamingServer以及Macromedia公司的FlashMediaServer(简称FMS)。前三个公司的服务器都采用了先进的技术,使得音视频媒体在保持较好质量的同时能够流畅播放,极大地丰富了网络资源,但媒体缺乏交互性。Flash的出现,尤其是FlashMediaServer的推出,为解决媒体交互性问题提供了很好的技术支持。Macromedia公司的Flash技术最初被用于矢量图形编辑和动画制作,但随着ActionScript的应用和FlashMediaServer的推出,它在开发包含图像、声音、视频和交互性的富媒体应用程序中发挥着越来越大的作用,在数据同步处理上的技术为实现互联网的同步通信传输提供了具有商业价值的方式。FMS的出现使得Flash成为真正的客户端软件,从而可以建立客户/服务器(C/S)架构的网络应用程序。本文利用FMS并结合XML技术设计开发了一个视频点播系统,所用的流媒体文件为Flash文件,视频格式是FLV格式。二、相关技术1.FMSFlashMediaServer(FMS)是Macromedia公司推出的开发流媒体的服务器软件,1.0版命名为FlashCommunicationServer,2.0版更名为FlashMediaServer。FMS组合了传统流媒体功能和灵活的开发环境,用于创建和实现创新的互动式媒体应用。它借助无所不在的FlashPlayer实现了跨平台、适应各种浏览器和连接速率的功能。FMS由两部分构成:服务器和Flash播放器,即服务器端和客户端。服务器端的应用程序在FMS上有自己独立的目录,存放服务端脚本文件和其他资源,客户端与服务器通过RTMP(Real-TimeMessageProtocol)协议相互通信。Flash客户端通过RTMP协议与FMS建立连接,这样就在Flash的客户端与服务器端形成稳定的数据流。当然,通常swf是嵌入在浏览器中的,所以也存在Web服务器通过HTTP协议响应客户请求并将Flash影片发送到客户端的过程。图1显示的是完整的工作过程。[1]2.XMLXML是eXtensibleMarkupLanguage的简称,它是W3C组织采取简化SGML的策略而制定的一种可扩充的标记语言,可以根据数据提供者的需要自行定义标记、属性名及描述法。3.FLVFLV是Macromedia公司在Sorenson公司的压缩算法的基础上开发出来的流式视频格式,是FlashVideo的缩写,使用FLV能保证良好的流媒体质量。FLV格式引入Flash所带来的最大的意义是使大体积的视频文件可摘要:视频点播是现代远程教育的一个重要组成部分。目前的视频点播系统都是基于RealHelixServer和WindowsMediaServer的。本文以FMS为后台流媒体数据支持,采用FlashActionScript语言为前台开发语种,结合XML技术,设计开发了一个视频点播系统,并以《网络应用基础》网络课程为例,给出该系统的具体实现方法。关键词:视频点播FMSXMLFLV组件中图分类号:TP311文献标识码:A文章编号:1673-8454(2007)08-0048-03扬州大学新闻与传媒学院赵志靖周静基于FLASH+XML+FMS的视频点播系统的设计与实现图1FMS的工作流程建设软件开发48ChinaEducationInfo《中国教育信息化》发行部:cyl@moe.edu.cn以以流(通过FMS实现)的方式播放。[2]三、视频点播系统的设计与实现1.视频点播系统的设计基于FLASH+XML+FMS的视频点播系统主要采用MediaPlayback组件、ComboBox组件和外部XML文件来制作。该系统主要由三部分组成:一是数据即外部XML文件;二是点播系统,主要由Flash中的MediaPlayback组件和ComboBox组件组成;三是视频素材库。XML是外部数据源文件,存储要播放的教学视频数据;ComboBox组件的功能是基于XML文件创建教学视频列表,利用MediaPlayback组件创建视频播放器界面,通过XML进行数据传输,连接位于FMS上的FLV文件以实现视频点播和回放;视频素材库就是将教学视频素材按章节分类,制作成许多短小的FLV文件,并存放在FMS服务器相应的文件夹中,当需要用到的时候被播放器通过RTMP协议连接FMS调用。该系统的体系结构如图2所示。客户端主要由HTML页面和嵌入的SWF文件实现,其主要作用是浏览网页和收看媒体节目。服务器端包括两个服务器:WebServer和FMS,WebServer负责将Flash影片发送到客户端,响应客户请求并提供Web服务;FMS负责存储媒体和传输媒体流,当一个客户浏览器请求播放存储节目时,它就启动一个线程为客户服务,根据客户端传递的参数寻找媒体,并用RTMP协议传输流媒体。2.系统实现下面结合本人开发的《网络应用基础》网络课程来介绍一下该系统的具体实现方法(用Flash8制作)。首先,教学视频的制作。教学视频应包括教师授课所用的课件、教师音视频、各种教学事件等。其制作过程可参考如下:(1)将教师的讲课现场用摄像机录制下来,导入计算机中,将其采集成AVI或MPG格式的视频文件。(2)将采集到的视频转换为FLV格式,利用Flash8VideoEncoder(Flash8安装包中含此软件)制作FLV视频文件。打开Flash8VideoEncoder,单击“添加”,选中要进行格式转化的文件,使其添加到对话框中;然后进行“设置”,可以直接修剪视频的长度,确定Flash视频编码的质量,输入文件名;选择“高级设置”,可以对视频、音频编码进行设置,调整视频大小、数据速率,插入视频提示点,对视频进行精确的修剪和裁切等;设置完成后就可以“开始队列”,Flash8VideoEncoder对数字视频进行编码,输出FLV视频文件。第二,外部XML数据文件的创建。按照下面的格式创建一个XML文件,命名为“video.xml”,可利用Dreamweaver8进行编辑。如果没有XML编辑器,也可以用记事本来编写,编写完成后将文件另存,另存时文件扩展名改为.xml,“编码”项选择UTF-8。<?xmlversion="1.0"encoding="UTF-8"?><menu><item><title>总线型网络</title><url>zong.flv</url></item><item><title>星型网络</title><url>star.flv</url></item></menu>title属性对应ComboBox组件label的值,url是要调用的视频文件的路径,对应ComboBox组件data的值。第三,设置FMS以便流式加载FLV文件。(1)在FMS应用程序文件夹中创建一个文件夹,命名为my_application。(2)将main.asc文件(可以在Flash8\SamplesandTuto-rials\Samples\Components\FLVPlayback\main.ascFlash8应用程序文件夹下找到该main.asc文件)复制到my_application文件夹中。(3)在my_application文件夹中创建名为streams的文件夹。(4)在streams文件夹中创建名为_definst_的文件夹。(5)将制作的教学视频FLV文件放置于_definst_文件夹中。要访问位于FlashMediaServer上的FLV文件,使用如rtmp://my_servername/my_application/star.flv之类的URL即可。第四,加载并解析外部XML文件。在Flash中加载并解析外部XML文件,将XML中的数据动态加载到ComboBox组件中。在Flash舞台上创建ComboBox组件的一个实例,命名为flvlist,放在一个单独的层上,该层命名为“components”;在时间轴上添加一新层,命名为“as”,打开“动作”面板,编写ActionScript脚本语言,将XML文件加载到ComboBox组件并显示。最后,实现教学视频的点播。图2视频点播系统结构图(下转第52页)建设软件开发49《中国教育信息化》编辑部:mis@moe.edu.cn在Flash舞台上创建MediaPlayback组件的一个实例,命名为flvplay,置于“components”层中。在“as”层继续添加脚本命令如下:importmx.video.*;varcbListener:Object=newObject();cbListener.change=function(evt_obj:Object):Void{varcurrentlySelected:Object=evt_obj.target.selectedItem;flvplay.autoSize=true;flvplay.setMedia("rtmp://my_servername/my_application/"+currentlySelected.data,"FLV");flvplay.play();};flvlist.addEventListener("change",cbListener);flvlist.addEventListener("change",cbListener)注册了一个flvlist侦听器对象,当选择flvlist中的菜单项时就会调用侦听器函数change。flvplay.setMedia是将位于FMS上的FLV文件的地址传递给MediaPlayback的播放路径,这样就可以调用FMS上的视频文件,实现视频点播功能了。四、结束语在线视频点播技术在现代远程教育领域中具有广阔的应用前景。本点播系统功能强大且维护方便。在维护时,XML文件和教学视频都在外部,可以方便地对XML文件中的数据进行添加、修改,不必再重新发布Flash源文件,能够做到一次制作,跨平台输出,不受操作系统和浏览器版本限制;视频文件的添加可以利用FTP直接上传到FMS。此外,本系统的播放器是利用Flash的MediaPlayback组件实现的,操作简单,功能完善,播放器也可以具有自己的风格和特色。!参考文献:[1]谢建华,岳元亚.应用FlashMediaServer技术开发网络视频会议系统[J].福建电脑,2006(8):164-165[2]陈冰.Flash第一步[M].清华大学出版社,2006.选,整理成逐条文本形式。对所有文本采用最大正向匹配切词算法,进行切词,提取特征向量,并对特征向量进行权重计算表示成向量空间模型,用BP神经网络优化分类器模型对文本进行分类,利用此文本分类技术对学生问题库进行类别划分,限定任务搜索范围,加快检索速度,方便用户查找。3.关联规则关联规则是当前数据挖掘研究的主要模式之一,侧重于确定数据中不同领域之间的联系,找出满足给定支持度和可信度阈值的多个域之间的依赖关系。[5]挖掘关联规则是指在数据仓库中挖掘出具有这种形式的规则:由于某些事情的发生而引起另外一些事情的发生。将关联规则算法用到本系统中,通过分析学生成绩数据库,系统得到某门特定课程的先修课程,学生可以通过察看自己是否学习过某门特定课程的先修课程,来确定自己是否适合选择该门课程,或者确定要想学好某门课程必须补充哪些课程知识,从而使系统实现辅助学生学习的功能。4.信息集成技术信息集成的首要指导原则是:在用户看来,他们需要的所有数据,应该好像驻留在一个单一的数据源里。信息可能在不
本文标题:基于FLASH_XML_FMS的视频点播系统的设计与实现
链接地址:https://www.777doc.com/doc-7850653 .html