FLEX流媒体服务器配置说明.doc_第1页
FLEX流媒体服务器配置说明.doc_第2页
FLEX流媒体服务器配置说明.doc_第3页
FLEX流媒体服务器配置说明.doc_第4页
FLEX流媒体服务器配置说明.doc_第5页
免费预览已结束,剩余6页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

流媒体服务器配置说明作者:崔红斌QQ : 273811676 1. 前言为什么要用red5建立流媒体服务器,因为Red5是一个采用Java开发开源的Flash流媒体服务器,免费。Red5使用RTMP作为流媒体传输协议,这与FMS完全兼容。它具有流化FLV、MP3文件,实时录制客户端流为FLV文件,共享对象,实时视频播放、 Remoting等功能。2. 流媒体服务器的配置1. JDKRed5的安装需要java环境的支持,先配置好JDK。2. RED5安装本demo red5安装在工作环境中,X:TAIZHOUwebrootRed5流媒体服务器读取文件的目录为:X:TAIZHOUwebrootRed5webappsOLDOLD文件下有两个文件夹:streams和WEB-INF其中streams 中存放所有的视频资料,WEB-INF则是一些重要的配置文件。Webapps配置说明:classes文件夹(用来存放编译后的java类文件)。1.web.xml 中需配置:指定应用程序唯一的名称为:OLDwebAppRootKey/OLD如果该文件中没有请添加如下: Forbidden /streams/* 2.red5-web.xml 中需要添加控制器(Handlers)这个类文件放在classes中。主要是实现客户端和流媒体服务器的连接。3. perties 中需配置webapp.contextPath=/OLDwebapp.virtualHosts=*,localhost, 虚拟主机应添加*,即任何地址都可访问。否则其他电脑无法读取流媒体。3. FLEX BUILDER3 或者Flex SDK的安装这两者的区别是,FLEX BUILDER3 集成SDK和可视化编辑窗口,Flex SDK包含了有Flex Framework、Adobe AIR Framework、Flex Tools等重要的组件库与API。对于开发人员来说,最好安装FLEX BUILDER3,而服务器建议安装Flex SDK。为什么要安装这个工具呢?因为flex程序的编译要用到其中的SDK。下面会讲到。Flex SDK 安装后需要配置环境变量,在path中添加:C:flex_sdk_3bin;C:flex_sdk_3frameworks;Linux下添加环境变量,这里就不说了。Flex程序以MXML(主程序)和AS为主。开发MXML程序说明:因为red5 采用RTMP 协议传输数据流,所以在MXML中需要定义RTMP连接地址来找到red5的工作目录。如下程序,本人开发的第一版视频播放器源代码,可以用FLEX BUILDER3新建一个项目,把代码考过去,然后运行就能看到生成SWF视频文件了,由于界面比较难看,所以本人抛弃了它。 采用RTMP协议,需注意:private var rtmpURL:String=rtmp:/1/OLD;RTMP所访问的路径为服务器上RED5的工作目录(即IP+工作文件夹)。上面已经说明,工作文件夹为OLD,最重要的是IP地址不要写成:localhost或者,否则除此之外的客户端无法访问到服务器的流媒体,一定要外网IP。另外还需要在程序中制定的是所要播放的视频文件名称:netStream.play(on2_flash8_w_audio.flv);以上red5服务器基本上已经建好了,但是如何将程序发布成SWF视频文件呢?总不能每上传一个视频文件,就建立一个MXML文件,利用FLEX BUILDER3来发布成SWF文件吧!看来还需要继续寻找解决方法。4. Apache Ant 的安装Apache Ant 是一款基于java的开发工具。是将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发。为什么要安装Apache Ant,主要是为了将flex和AS程序发布成SWF视频文件。Apache ant 安装后要添加环境变量,如在path中添加:D:apache-ant-1.8.0bin;本demo中,建立了一套user模板,视频的发布过程中,会复制这套模板,生成一套新的文件。路径如下:X:TAIZHOUwebrootanttasksuser这套模板已经配置完成,如无必要,请不要修改。模板配置说明:1. libs文件夹flexTasks.jar包从X:flexsdks3.2.0antlib 中拷贝过来。好处是节省了一些参数设置。否则,你必须在命令行中使用Ant的-lib选项编译。2. src文件夹该文件夹保存需要编译的MXML和AS文件。3. perties配置文件,FLEX_HOME设置为FLEX SDK的路径,FLEX_HOME=D:/flex/sdks/3.2.0编译MXML文件必须用到的SDK,此处一定要设置正确,否则吾无法编译。其他一些变量的定义,在build.xml中将被用到。4. build.xml该文件使用perties中定义的变量。主要内容如下: false 5. run.bat 批处理命令该批处理,自动执行当前目录下的build.xml文件,并根据其参数对原文件进行编译。编译后,生成一个DEPLOY的文件夹,如果编译成功,会生成许多文件,包括SWF和HTML文件。特别说明:视频上传后,系统会自动对视频进行发布。视频发布后,如果变更服务器的IP地址,所有已经发布的视频,都将无法播放,这个时候需要重新发布。3. FLEX与JAVA、js的交互技术1. FLEX与JS的交互Flex与js交互,需要引入方法:import flash.external.ExternalInterface;使用ExternalInterface.call(returnSPZT);来访问调用该SWF页面的JS方法。2. FLEX与JAVA的交互本demo使用blazeDS进行与JAVA的交互。BlazeDS配置说明:1.先下载BLAZEDS压缩包,然后将解压出来的flex文件夹复制到工作环境WEB-INF下,如:X:TAIZHOUwebrootWEB-INF,并修改remoting-config.xml文件,添加以下内容:com.gemway.wlxy.SPBFJLBcom.gemway.wlxy.KJJBXXcom.gemway.partner.extJuser其中:destination定义的ID名称必须唯一。Flex端RemoteObject将调用这个唯一的方法。Source 就是类文件的路径。2.将解压后的LIB包下的12个包,全部复制到工作环境的lib包中。3.修改web.xml文件,添加如下内容: flex.messaging.HttpFlexSession MessageBrokerServlet MessageBrokerServlet flex.messaging.MessageBrokerServlet services.configuration.file /WEB-INF/flex/services-config.xml 1 MessageBrokerServlet /messagebroker/*BlazeDS设置完毕。如何使用BlazeDS呢?一点都不复杂,先看如下代码:var ro:RemoteObject = new RemoteObject();/定义RemoteObject对象ro.destination = blatojava;/ destination名称必须和remoting-config.xml定义的ID名称一致。ro.source = com.gemway.wlxy.SPBFJLB;ro.endpoint = /messagebroker/amf;/这句必须要添加,否则无法访问。调用默认的amf。ro.insert(Application.application.KJID.text,s);/执行SPBFJLB类下的insert方法。然后数据保存成功,FLEX访问JAVA成功了。使用RemoteObject 必须先引入类import mx.rpc.remoting.mxml.RemoteObject;详细代码如下:private function confirmBox(msg:String,title:String,successFunc:Function,successParams:Array,failFunc:Function=null,failParams:Array=null):voidvar alert:Alert = Alert.show(msg,title, Alert.YES|Alert.NO, this,function(evt:CloseEvent):voidif(evt.detail = Alert.YES)if(successFunc!=null) successFunc.apply(this,successParams);elseif(failFunc!=null) failFunc.apply(this,failParams);,null, Alert.YES);private function getResult(event:ResultEvent):voidzt = event.result.toString();/* MouseEvent */private function onClicks(event:MouseEvent):voidvar rob:RemoteObject = new RemoteObject();rob.destination = getZT;rob.source = com.gemway.wlxy.SPBFJLB;rob.endpoint = /messagebroker/amf;rob.addEventListener(ResultEvent.RESULT,getResult);var s:String = ExternalInterface.call(returnUserID);rob.getBFZT(Application.application.KJID.text,s);private function pp_onClick(event:MouseEvent):voidif(playPressed)pause();playPressed = false;else/var zt:String = ExternalInterface.call(returnSPZT);this.addEventListener(MouseEvent.CLICK, onClicks);if(zt = 0)var ds:String = ExternalInterface.call(returnBFDS);var ye:String = ExternalInterface.call(returnYE);if(ye = 0 | (Number(ye)-Number(ds)0)confirmBox(播放该视频将扣除+ds+个点数,是否继续?,确认对话框,func1,null,func2,null);else if(zt = 1)func1();private function func1():voidplay();var ro:RemoteObject = new RemoteObject();ro.destination = blatojava;ro.source = com.gemway.wlxy.SPBFJLB;ro.endpoint = /messagebroker/amf;va

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论