《(毕业论文)基于WEB的视频直播系统.doc》由会员分享,可在线阅读,更多相关《(毕业论文)基于WEB的视频直播系统.doc(71页珍藏版)》请在三一办公上搜索。
1、网络视频直播系统的设计与实现 摘 要随着计算机网络的发展,网络视频系统已广泛应用在各行各业。基于Web的网络视频直播系统是将网络技术的便利性和实用性,与现有的多媒体网络通信技术建立的网络视频系统,它利用现有的网络基础设施,通过公共和私人网络的结合,最廉价的方式来传输数据视频和音频信号,从而实现更快,更高质量的通信服务。网络视频直播的多媒体通信技术作为一个典型的应用,在各个领域的发挥至关重要的作用。基于计算机网络和多媒体技术的远程教育,远程医疗,视频会议,体育赛事直播和其他信息服务,对我们的生活产生了深远的影响。本文立足于项目客户需求,探讨了基于FMS流媒体服务器技术的视频分享网站的架构和搭建。
2、通过对视频直播系统的架构的分析,对系统开发用到的Directshow技术、组播技术、视频压缩技术、Web技术和数据库技术等关键技术的研究,设计一种基于Web的网络视频直播系统。该系统采用C/S与B/S混合架构的开发模式。本文粗略介绍了视频处理模块和Android系统客户端的设计与实现。其中Android系统客户端的开发采用了时下最新的Flex4.5框架技术,实现了手机终端与PC终端的流媒体互通。详细介绍了涉及到视频直播系统的一些相关技术和系统的设计方案和开发过程,各个模块的设计与实现。在本文的最后进行了总结,并对未来做了展望。关键词:Directshow,视频直播,C/S,B/S ,Web,F
3、MS,流媒体Network video broadcast system design and implementationAbstractWith the development of computer networks, network video system has been widely used in all walks of life. Web-based network video broadcast system is the network technology convenience and practicality, with existing multimedia n
4、etwork communication technology to establish a network video system, which uses the existing network infrastructure, through a combination of public and private networks, the most inexpensive way to transmit data video and audio signals, enabling faster, higher-quality communications services. Netwo
5、rk video broadcast, multimedia communications technology as a typical application in various fields play a crucial role. Based on computer networks and multimedia technology, distance education, telemedicine, video conferencing, live sporting events and other information services, on our lives had a
6、 profound impact. This article is based on the customer needs the project to explore the FMS-based streaming media server technology, video-sharing sites architecture and construction. Through the video broadcast system architecture analysis, system development used Directshow technology, multicast
7、technology, video compression technology, Web technology and database technology, key technology research, design a Web-based network video broadcast system. The system uses C / S and B / S hybrid architecture development model. This roughly describes the video processing module and the Android syst
8、em design and implementation of the client. Android system in which the client has been developed using the latest Flex4.5 framework nowadays technology, the mobile terminal and PC terminal streaming media interoperability. Details related to the video broadcast system a number of related technologi
9、es and systems design and development process, design and implementation of each module. In the end of this article are summarized, and future prospects do.Key words: Directshow,real-time video transmission,C/S,B/S,Web,FMS,streaming media 目 录Abstract- 2 -目 录- 3 -第1章 绪 论- 5 -1.1课题研究背景和意义- 5 -1.2国内外现状
10、- 6 -1.3课题研究内容- 8 -1.4论文结构- 8 -第2章 系统相关技术- 10 -2.1 B/S架构定义和概述- 10 -2.2 FMS的介绍- 12 -2.3 Flex技术介绍- 17 -2.4流式的FLV介绍- 21 -2.5 Flash RTMP 协议- 22 -第3章 系统需求分析- 23 -3.1 系统需求分析- 23 -3.2 系统用例分析- 25 -3.3 Android手机客户端功能描述- 28 -3.4系统开发环境- 29 -第4章 系统的设计- 31 -4.1 系统业务分析与业务流程- 31 -4.2 系统时序图- 36 -4.3 注册与登录模块数据库设计- 4
11、0 -4.4 视频直播系统界面设计- 42 -4.5 Android系统视频捕获软件的实现- 44 -4.6视频处理模块的业务分析与业务流程- 47 -第5章 系统的实现- 51 -5.1 视频处理模块的开发流程- 51 -5.2 Android系统客户端的开发流程- 51 -5.3视频处理模块接口参数的设计- 52 -5.4 Android系统客户端参数的设计- 54 -5.5流媒体服务基础功能设计和实现- 56 -第6章 系统测试与部署- 62 -6.1 系统测试综述- 62 -6.2 系统测试方案- 63 -6.3系统测试用例- 66 -第7章 总结和展望- 68 -7.1 总结- 68
12、 -7.2 展望- 69 -参考文献- 70 -致 谢- 71 -第1章 绪 论1.1课题研究背景和意义近年来,随着人类社会信息化程度的不断提高,信息的无限量扩大,交通工具的便捷,视频技术的充分应用等导致了行业间竞争的全球化,这就要求现代部门、企业要具备更加灵敏的神经,更扁平化的管理,更快速的反应和决策,更贴切的市场宣传和服务。所有这一切是由信息技术的发展所带来的,同样也要求有先进的信息技术来提高部门、企业的竞争力。现代通讯已经是越来越普及了,必须有效合理的运用视频产品类设备来提高信息的传递和交流。移动设备是目前使用最广泛的信息处理设备,此类设备一般都有单独的,可移动摄像头、数字计算、数据存储
13、、多媒体播放、无线通信、信息处理能力,并且可以访问无线终端和其他设备或数据交换服务。这种设备是继PC之后,另一种广泛流行的商业数据处理的终端。最主要的原因是设备满足人们的移动通信,交互式网络,移动计算的需求,因此,在数字消费市场中占有相当大的份额,而市场需求也日趋多样化和不断变化的。视频会议、可视电话系统、视频监控系统、远程教育和医疗保健、视频点播和其他多媒体应用随着通信技术和多媒体技术的发展,如雨后春笋般快速发展起来;人们的生活已经发生了很大变化,人们可以在家里,看到数千英里的东西,通过网络和多媒体信息的组合,参与远程研讨会,远程诊断和远程多媒体教学;因此,开发一个实时视频点播网站,既能满足
14、用户的需要,又能带来一定可观的收入,并且为该网站开发Android系统和iOS系统移动客户端,加之网络宽带业务的推广与普及,以及移动设备所配备的视频设备(如摄像头、耳机、麦克风等)的成熟,用户可以轻松地借助Android系统和iOS系统移动客户端,实现移动设备采集图像并实时传输至网站服务器并且可以从网站服务器下载实时视频流并播放的功能1。若想进行视频的传输要先进行的是视频流的捕获,而且对视频图像良好的捕获是后来进行压缩编码、网络传输的基础;而实时获取动态的图像信息,并能对这些信息进行实时处理是更为重要的。由此可见,如何实时地捕获视频数据成为了多媒体技术应用中的关键前提和重要环节。围绕数字视频处
15、理选定良好的商业视频设备和开发软件。开发工具的兼容性差,视频拍摄质量参差不齐,可扩展性差,难以满足用户的复杂需求。因此,采用最新的Adobe公司提供的技术,以纯软件的方式,来开发一个兼容性强、采集质量好、配置灵活,扩展性好的视频捕获工具是当前视频捕获领域的非常有意义的任务。1.2国内外现状1.2.1 视频直播研究现状随着计算机网络的发展,网络视频系统已经广泛的应用于各行各业,在网络上传输视频和音频己成为一种趋势。基于Web的网络视频直播系统是基于IP网络技术的多媒体应用,是一个基于IP的视频技术;是网络技术的便利性和实用性与现有多媒体网络通信技术的结合,建立成的网络视频系统2。随着互联网建设的
16、不断发展,个人电脑处理能力的不断增强以及移动设备的迅速发展与普及,人们已经对基于MPEG-4多媒体直播系统的研究与实现不再局限在网络上传输声音信息。可视电话、视频会议、实时监控系统等在网络上传输音视频信息已经得到较为广泛应用。近年来随着各种新技术的不断出现,网络多媒体技术得到了广泛的关注。例如:东芝公司就于最近开发出单芯片的MPEG-4编解码芯片,利用该芯片可以很方便地开发出体积微小的嵌入式编解码设备;MOTOROLA公司成功地在手机上测试实时观看电影。随着这些相关技术的发展,网络直播技术一定会深入到千家万户。而对于人数大大增加的移动设备的用户来说,实现在移动设备上进行实时视频音频的传输尤为重
17、要。基于Android系统和iOS系统的只能移动设备与互联网结合所开展的实时视频传输,将真正地解决和实现移动设备用户在任何时间、任何地点进行实时视频传播的梦想,从而使得网络直播技术扩展到了移动设备。在国外,实时直播系统作为现代远程信息传播的一种应用手段,已经发展到比较成熟的阶段。并且,实时直播系统正在向着海量数据存储、随时随地接入、复合媒体、高智能化、高自动化和虚拟现实等方向发展。虽然美国,现场教学体系快速发展,但并不意味着它的发展将顺利进行,没有任何问题。例如,技术问题,如何找到合适的软件程序和软件开发工具,也是困扰教学体系的问题。在教学过程中,透明度、便于使用和交流是一种常见的的问题。许多
18、实时系统多个课程和培训机构提供一个单一的源接口,允许方便地访问、使用简便。过程管理是为自己学校的发展课程由不同的软件处理,由于当地的技术资源,开发工具,可塑性和适应当地条件的性质,必须考虑到传输平台是这些技术问题,因为这些直接影响教学活动的行为。另一方面有一定的局限性:如在家里或在在学校的学生进入实时系统的渠道问题,以及如何想这些学生提供这些学生平等的通路,也是一个需要专注于技术问题。在国内,已有相当多的IT 企业涉足网络直播产品的研发。这些视频直播类产品具有较好的应用前景,然而在功能方面却略显单一,尤其缺乏对移动设备的支持。此外,在系统的集成性和兼容性方面还有待加强。1.2.2 Androi
19、d系统发展现状Android是一款由Google公司于2007年推出的基于Linux开放性内核的手机操作系统。目前Android系统版本已由最初的1.1发展到Android 2.3 Gingerbread(2010年12月)。而Android 3.0 Honeycomb 和Android 3.1 Honeycomb则是针对于Android平板系统。Android 是一套真正意义上的开放性移动设备综合平台,它包括操作系统、中间件和一些关键的平台应用。Android 最大特点在于它是一个开放的体系架构,具有非常好的开发和调试环境,而且还支持各种可扩展的用户体验,Android 里面具有非常丰富的图
20、形系统、对多媒体的支持功能和非常强大的浏览器。Android 平台的开放性等特点既能促进技术( 包括平台自身) 的创新,又有助于降低开发成本,还可以使运营商能非常方便地制定特色化的产品,因此,它具有很大的市场发展潜力。Android系统采用了软件堆层(software stack,又名软件叠层)的架构,主要分为三部分。底层Linux内核只提供基本功能,其他的应用软件则由各公司自行开发,目前Android手机系统应用程序的开发主要以Java编写为主流2,其开发平台是JDK+Eclipse+Android SDK,但是现行的这套技术对于对于手机移动视频传输的支持不是很完美,首先java虚拟机本身就
21、具有对CPU系统资源和内存空间的开销过大的特点,这一点对于在CPU和内存等资源本身就很有限的移动设备终端上开发对此类资源要求不小的流媒体通讯应用程序来说将是一个不小的灾难;其次java语言目前不支持以RTMP协议为核心的流媒体传输实现方案;再次对于在手机这一特殊的设备上开发嵌入程序,java还存在着缺乏直接硬件接口能力的局限。因此,探索一个新的能使流媒体通讯应用能在Android手机上平稳流畅的运行的解决方案势在必行。2011年4月,Adobe公司发布最新Flex框架预览版Flash Builder Burrito,并宣布完美支持Android手机系统开发,使得Flex技术带着Adobe的一套
22、创意界面设计技术进军Android轻松构建采用手机和平板电脑标准设计模式的应用程序。Flash Builder 也进行了更新,增加了许多新功能,用以支持针对移动设备开发应用程序。使用 Flash Builder,开发人员可以在桌面上或直接在移动设备上开发、测试和调试应用程序。2011年5月5日Adobe Flex 4.5正式版的发行将Flex开发平台延伸至包括Android和ios的智能手机和平板电脑。现在,利用Adobe AIR,可以像在桌面平台上一样在Flex中轻松而高质量地开发手机应用程序。许多现有的Flex组件也已扩展到移动设备上,其中包括增加了对触摸滚动的支持。Flex 4.5还包含
23、一组新组件,可用来轻松构建采用手机和平板电脑标准设计模式的应用程序。由于Flex,FMS均是Adobe公司开发出的一系列产品,因此Flex开发出来手机应用完全可以调用FMS提供的流媒体传输服务。换句话说,Flex+FMS的方案可以完美地实现Android系统移动设备客户端与网站服务器端的视频通讯。1.3课题研究内容本文阐述建立基于网络的视频直播系统的背景,构建系统的总体目标,进而研究了基于网络的视频直播系统功能和结构。本文研究的重点是开发基于Android系统下视频的采集和实时视频流的网络传输、播放和录制以及研究基于网络的视频直播系统功能和结构。论文给出了: (1) 视频采集的方式:开发网络视
24、频直播软件采用Adobe推出的技术,视频捕捉是基于Actionscript3.0中的Camera类中的方法。(1) 视频压缩编码技术:通过对几种比较重要的视频流传输的编解码标准进行综合比较,最终选定FLV为本系统的视频编码技术3。(2) 视频网络传输技术:比较几种流媒体传输协议,最终选用RTMP作为流媒体传输协议。RTMP(Real Time Messagings Protocol)是Flash技术在应用层的流传输与控制方案,同时设计出基于RMTP协议的直播视频流传输框架模型。(3) 研究了视频数据的发送、接收与播放的结构和模块。然后,论文对研究出的模块功能进行设计规划,具体给出了系统平台结构
25、组成结构图,分析了系统的功能需求,系统的详细设计,最后设计出Android系统的客户端软件。最后,论文对本次研究作了总结,对后续工作进行了展望。1.4论文结构第1章,绪论,简要介绍了课题的研究背景、国内外现状、研究的目地意义以及研究的内容。第2章,系统相关技术,对系统所涉及的技术,包括其背景、机制原理、使用意义进行了介绍。第3章,系统需求分析,对Android系统客户端软件需求进行了分析及设计,包括其业务流程分析等。第4章,系统设计与实现,对系统进行概要设计,包括系统的数据库设计、功能模块的概要设计。第5章,系统测试与部署,对系统进行测试与部署的研究。第6章,总结和展望,是对论文的总结与展望,
26、从总体上对论文进行总结,并给出对未来扩展的展望。第2章 系统相关技术2.1 B/S架构定义和概述B/S架构(Browser/Server结构)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S架构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet模式下数据库应用,相对易于把握、成本也是较低的。它是
27、一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN,WAN,Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。B/S架构管理软件更是方便、速度快、效果优。下面就B/S架构从维护和升级方式以及系统性能两方面进行分析:(1) 维护和升级方式简单。目前,软件系统的改进和升级越来越频繁,C/S系统的各部分模块中有一部分改变,就要关联到其它模块的变动,使系统升级成本比较大。B/S与C/S处理模式相比,则大大简化了客户端,只要客户端机器能上网就可以。对于B/S而言,开发、维护等几乎所有工作也都集中在服务器端
28、,当企业对网络应用进行升级时,只需更新服务器端的软件就可以,这减轻了异地用户系统维护与升级的成本。如果客户端的软件系统升级比较频繁,那么B/S架构的产品优势明显所有的 升级操作只需要针对服务器进行,这对那些点多面广的应用是很有价值的。(2) 系统的性能。在系统的性能方面,B/S占有优势的是其异地浏览和信息采集的灵活性。任何时间、任何地点、任何系统,只要可以使用浏览器上网,就可以使用B/S系统的终端。不过,采用B/S结构,客户端只能完成浏览、查询、数据输入等简单功能,绝大部分工作由服务器承担,这使得服务器的负担很重。通过以上的分析,发现在系统响应速度、事务处理能力等方面传统的视频直播系统具有一定
29、的优势,而是它的缺点也是很明显的。为了取得一个折中的方案,本文利用了一种基于C/S和B/S混合架构的开发模式。在这种模式下,控制数据传输依然采用C / S模式。与单一的C / S模式不同的是,客户端程序是在一个网站页面和客户端的浏览器运行中嵌入;另一方面B / S模式可用于发布的C / S的客户端程序模式,这可以被用在真正的分布式Web应用程序的对象。此模式也有这两种模式的优点,采用C / S模式控制,以确保数据传输效率,使用B / S模式,简化了系统维护,以确保系统具有良好的可扩展性。基于B / S和C / S混合架构的结构图如图2.1所示。图2.1基于B/S和C/S混合架构的结构图Fig
30、2.1 Architecture of the structure based on B / S and C / S hybrid 这种设计一个基于网络的视频直播系统设计,系统采用C / S和B / S混合架构的开发模式。一方面,系统以实现Web应用程序的形式实现,通过B / S模式发送到远程客户端,其他的视频和视频服务的客户端程序以C / S模式为视频数据的传输和控制。系统网络结构图,如图2.2所示。图2.2系统的网络结构图Fig.2.2 System network structure2.2 FMS的介绍 FMS系统由两部分组成:服务器和Flash播放器,亦即服务器和客户端。在FMS服务器
31、端的应用程序都有其自己单独的目录,存储服务器端脚本文件和其他资源,客户端和服务器通过RTMP(实时消息协议)协议进行通信。闪光灯FMS的客户端通过RTMP协议建立连接,以便在Flash客户端和服务器端形成一个稳定的数据流。当然,通常SWF会被嵌入在浏览器中,所以有一个通过HTTP协议的Web服务器响应客户的请求并将Flash影片发送到客户端的进程。2.2.1 Flash及FlashPlayer相关介绍(1) Flash的简介Macromedia Flash,简称为Flash,亦即Adobe Flash,是美国Macromedia公司设计的一种制作二维动画的软件。通常包括Macromedia F
32、lash和Flash P1ayer Adobo,前者用于设计和编辑文件,后者用于播放Flash文档3。Flash最初的设计和开发是作为一种矢量动画软件。现在网络上已经流行,但其应用已经摆脱了纯粹的动画,广泛应用于网站动画,互动多媒体、游戏设计、企业级的过程应用、移动设备应用程序等方面。 这些应用可以归纳为RIA应用,Flash相关技术,通过多媒体处理能充分结合丰富的Flash功能与数据库相结合,提供良好的用户端作业环境、有跨平台、实时响应的特性,而这些应用只需要客户端具备浏览器并搭配Flash Player,已经有一个相当数量的网站使用Flash丰富的多媒体功能,Flash MTV,场景动画很
33、受欢迎。事实上,Flash Player已经蔓延到很大一部分互联网终端,并且越来越多的移动设备开始支持Flash。Macromedia Flash相关的基本功能如下: NetStream:可以实时播放视频、从服务器实时播放视频或录像。由于脚本环境,只需要少量的代码,可以轻松创建通信应用的灵活性。 ActionScript:使用高级抽象功能,基于标准JavaScript语言的简单的对象模型,这样客户端和服务器逻辑上得以控制。 预设组件库:拖放组件创建一个标准的应用程序。可视化设计元素:修改网站的设计,以满足的条件,并添加自定义组件的组件。强大强大的脚本:自定义组件源代码,或开发自己的源代码以创建
34、更加广泛的应用程序。Macromedia Flash 8集成:集成的HTML帮助,新客户端脚本对象的代码提示工具。Dreamweaver集成:运用服务器脚本对象和语法突出代码提示,在Dreamweaver中开发服务器端脚本。NetConnection:使用多个数据流和实时消息,创建一个实时协作应用。通过在Macromedia Flash的窗口,查看使用动态过滤实时跟踪的信息。网络连接的调试工具:Macrornedia Flash Remoting的应用程序服务器和FMS系统跟踪客户端连接的集成监控。(2)Flash Player的介绍Flash媒体服务器(FMS)和Macromedia Fla
35、sh Player的网络应用相结合提供视频服务是一个令人兴奋的可能性。 Flash Player是世界上使用最广泛的软件平台,Adobe声称:所有互联网桌面覆盖超过98,和重要合作伙伴微软,苹果,Netscape和AOL发布。 Flash Player提供了跨操作系统和的浏览器相同媒体,允许开发人员创建跨平台的,而不是忙于修复。开发人员可以创建和部署在强大的通信功能,所有这一切都是无处不在的Macromedia Flash Player提供互联网应用,其优点是:增加互动功能;提供实时的流媒体,多渠道,多用户通信;实时协作,向用户提供一个更简单的体验,使用熟悉的脚本模型。(3)与F1ash相关的
36、主要文件格式swf:这是一个完整的视频文件,不能进行编辑。在这种格式的动画图像可以用一个相对小的体积来表示丰富的多媒体形式。在图像传输,无需等待文件下载完成才查看所有的,而你可以边看边下载,它特别适合网络传输,特别是在传输速率不佳的情况下,还可以取得良好的效果。SWF是基于矢量动画技术的,所以无论多少次的图片放大图片都不会受到任何损害。视频网站和视频处理模块的研发,根据客户的需求,编写相应的SWF文件的基础上并最终嵌入到网页中。as:也称actionscript,是一种简单的编程语言文本格式。 FLA文件,可直接包含ActionScript中,但它也可以被用来作为外部AS文件保存为链接文件,便
37、于联合工作和更先进的过程中的变化。在本文中,Android客户端的研发过程中将会更愿意使用Actionscript3.0语言。flv:是flash video的简称,FLV流媒体格式是一种新的视频格式,因为它形成的文件小,加载快,使得网络观看视频文件成为可能,它有效地解决F1ash后导出的SWF视频文件文件体积大,不好在网络上使用等缺点,FLV已经被广泛应用到大型网络网站之中,以支持新兴的视频格式。在这本文中,客户通过录制和上传视频到服务器的硬盘中并以FLV格式存储。 Flash Player与其插件普及率极高,再加上一个非常强大的对象导向的脚本的ActionScript,以及其量图形系统,跨
38、平台的SWF等优势,在短期内将难以抗衡的对手。2.2.2 FMS技术FMS服务器是基于新平台的用户之间的通信,它集成了Flash中的多媒体互动功能,而且还增加了实时音频,实时视频和实时数据流以及其他新功能,通过使用此平台,网络存储音频,视频,数据对象可以共享的,他们可以将音频,视频和共享数据对象传递给多个客户端实时同步共享。该平台集成了通信与应用功能,它是通过F1ash P1ayer(Flash Player 6或更高版本)上的客户端提供音频共享,视频共享和数据流共享。 Flash媒体服务器(FMS)的传统的流媒体功能和灵活的开发环境,为创建创新性,互动性和互动媒体应用提供了相结合的机会。它无
39、所不在的Flash播放器,跨平台的优势,以适应各种浏览器和连接速度,使用Flash Video,确保流媒体高质量4。(1)FMS的技术架构FMS包含了server端(由一些asc文件组成)和client端(swf文件) 5。Server端和client端的数据传输通过RTMP(RealTime Message Protoc01)进行实时交流,Web Server通过HTTP服务把内容提供给client端,实现模式如图2.3所示图2.3 FMS技术架构图Fig.2.3 FMS technology architecture diagramFMS系统为不同的用户实际上提供了一个相互交流的渠道。基于
40、客户机/服务器应用模式,服务器负责数据传输,客户端的请求在服务器端执行数据查询和计算发送,并返回结果值给客户端,通常需要维持一个长时间连接。(2)FMS与用户的交互FMS系统提供了两种方法来实现与用户的交互:数据流和共享对象。一个数据流是在服务器端和客户端同步传输音频,视频和其他数据,信息流,数据流,主要是通过释放简单(即实时广播)和订阅(即观看录音)来实现。(1).直播:可以有一个客户端实时发布,供其他每个客户端(与会人员)接收。类似于视频会议的实时传递,如图2.4所示图2.4 FMS实时直播实现示意图Fig.2.4 FMS real-time live implementation dia
41、gram(2).录播:录制下来以后播放,将会议录制作后可放于服务器供观看,其实现方式如图2.5所示。图2.5 FMS录播观看实现示意图Fig.2.5 FMS taped schematic view to achieveFlash Video(FLV)格式,其中可以包含文字,音频和视频信息,也可以通过第三方软件来记录成FLV格式的文件,如AVI,视频和音频文件存在保存记录的数据流,MPG文件格式转换为FLV流媒体格式。 在本文中,基于上述两个视频网站的视频处理模块交互的基础上,根据服务客户端需求脚本功能进一步扩大,加入新的应用程序的通信功能。2.2.3 FMS适于视频传输开发的优势(1)跨平台
42、。Adobe Flash客户端只需要浏览器安装,可以运行在Windows和Linux服务器上。 (2)流媒体良好的环境。可编程流媒体环境,可以大规模部署提供记录和现场的Flash视频,如视频点播,网上直播广播,MP3流媒体,视频博客和视频/音频聊天应用程序。 (3)丰富的应用程序接口和服务器组件。 FMS可以使用的自由和灵活性的API定制系统功能,特点,高效率的发展。 (4)扩展的边缘原产服务器。控制负载均衡,集群等。 (5)Flash Player8,高品质的视频编解码器,自动检测客户端的带宽连接,并调整媒体流。比以前的版本的数量级的计算速度也有所提高,完全可以满足常见的编译运行的能力。 (
43、6)扩展。与现有的数据库,Web服务和数据集成。进一步发展的扩展,使用户能够管理基于XML的媒体元数据,访问本地系统资源,控制日志记录和报告,媒体和更紧密地结合起来,与现有的管理系统。丰富的API和服务器组件,这是该系统的设计和开发过程中显得尤为重要的参考。2.3 Flex技术介绍Flex是Adobe公司推出的一系列工具和技术,使开发人员可以开发和部署可升级的富互联网应用程序(RIA)。Flex 提供了一种现代的、基于标准的语言来支持公共模板设计、客户端运行环境、编程模型、开发模型和高级数据服务。富互联网应用程序(RIA)是指像开发Web 网页一样的简单方式来部署富客户端程序。这种程序具有比H
44、TML 更加健壮、反应更加灵敏和互动性更丰富的特点。包括Flex框架、Flash Builder4.5和Flex Enterprise Services2等。传统的程序员开发动画应用程序有困难,FLEX试图通过提供一个程序员已经熟悉的工作流程和编程模型,它允许程序员更快,更简单的开发动画及RIA应用。在多层次的发展模式中,Flex应用程序的表示层。2.3.1 RIA概念的引入RIA是Rich Internet Applications的缩写,翻译成中文为富因特网应用程序。 传统网络程序的开发是基于页面的、服务器端数据传递的模式,把网络程序的表示层建立于HTML页面之上,而HTML是适合于文本的
45、,传统的基于页面的系统已经渐渐不能满足网络浏览者的更高的、全方位的体验要求了,这就是被Macromedia公司称之为的“体验问题”(Experience Matters),而富因特网应用程序(Rich Internet Applications,缩写为RIA)的出现也就是为了解决这个问题。RIA(Rich Internet Application,富互联网应用系统)技术允许我们在因特网上以一种象使用Web一样简单的方式来部署富客户端程序。这是一个用户接口,它比用HTML能实现的接口更加健壮、反应更加灵敏和更具有令人感兴趣的可视化特性。无论将来RIA是否能够如人们所猜测的那样完全代替HTML应用
46、系统,对于那些采用富客户端技术运行复杂应用系统的机构来说,RIA确实提供了一种廉价的选择。 2.3.2 Actionscript脚本语言的简介ActionScript ActionScript是遵循的Adobe Flash Player运行时编程语言的ECMAScript第四版。它是在Flash内容和应用,实现互联互通,数据处理等功能。 ActionScript是Flash的脚本语言,类似于JavaScript,ActionScript是一种编程语言,新的AS3.0中使用OOP(面向对象编程),增加更多的错误的能力,为指定的类型也更明确的界定。ActionScript中的Adobe Flash
47、 Player运行时编程语言,它是在Flash内容和应用程序来实现交互性,数据处理,和许多其他功能。ActionScript是Flash Player的ActionScript虚拟机(AVM)来实现。 ActionScript代码是编译通常成“字节码格式”(一种计算机的准备和能够理解的计算机编程语言)的Adobe的Flash CS3的专业或的Adobe的Flex Builder中的内置的编译器或的的Adobe的Flex SDK和Flex数据服务等,编译由编译器提供。字节代码嵌入在SWF文件中,SWF文件,Flash Player中执行的运行时环境。ActionScript 3.0提供一个可靠的
48、编程模型6,有基本知识的面向对象编程模型,开发人员会发现这个熟悉的。 ActionScript 3.0中的一些关键特性包括:(1)一个新的ActionScript虚拟机,称为AVM2的,即使用一个新的字节码指令集,可以显着提高性能(2)更先进的编译器的代码基地,它是更严格遵循的ECMAScript(ECMA 262)标准,相对于编译器的早期版本,进行更深入的优化(3)扩展和改进的应用程序编程接口(API),与低级别的控制对象和真正的面向对象模型(4)根据即将到来的ECMAScript(ECMA - 262)第4版草案的核心语言的语言规范(5)根据基于ECMAScript为XML(E4X)规范(ECMA - 357第二版)的XML API。 ECMAScript的E4X是一个语言的扩展,增加了XML作为母语的数据类型。(6)基于文档对象模型(DOM)3级事件规范的事件模型。2.3.3 FLEX框架的简介Flex中通常指的是使用Adobe Flex,最初是从2004年3月发布的Macromedia公司,基于其专有的Macromedia