RED5与tomcat整合

来源:互联网 发布:一建做题软件电脑版 编辑:程序博客网 时间:2024/05/17 01:46

前言

项目中需要使用流媒体服务,经过同事建议,使用red5开发流媒体服务器。但red5现今是直接将项目集成到自己的tomcat的服务器中。服务与项目不分离,我们需要将项目独特出来,特此研究red5独立并放在我们项目的tomcat中。

red5我使用的是red5-1.0.0-RC1版本。官网已找不到下载地址,所以本人上传到CSDN上:http://download.csdn.net/detail/u013569416/9382654

准备工作:

  1. 解压red5-1.0.0-RC1.zip 为 red5-1.0.0-RC1 并解压里面的src.zip 为目录src
  2. 在eclipse下创建web工程,名称自取,我的为myRed5Test。
  3. 把red5-1.0.0-RC1下lib拷贝到web-inf下lib
  4. 拷贝src下org目录到red5工程下src下
  5. 拷贝src下conf下war下的配置文件到red5工程src下

配置文件修改

  1. 把red5-core.xml文件下的”@”符号全部用”${}”符号,并引入red5.properties

    <bean id="placeholderConfig" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">    <property name="location" value="red5.properties" /></bean>
  2. 在red5.properties的#rtmp下增加以下代码

    rtmp.event_threads_core=16

    rtmp.event_threads_max=32

    rtmp.io_threads=16

    rtmp.connect_threads=4

    rtmp.send_buffer_size=271360

    rtmp.receive_buffer_size=65536

  3. 把配置文件下的web.xml替换web-inf下的web.xml并@webapp.root.key@ 替换为”/myRed5Test”

  4. logback.xml把<consolePlugin/>删除,否则项目启动会报错。

整合示例oflaDemo

  1. 下载oflaDemo的源码文件:http://download.csdn.net/detail/u013569416/9382689
  2. 将oflaDemo_src中的src文件下的org放入我们工程的src下。
  3. 将oflaDemo_src\WebContent下的所有文件(除了web-inf和META-INF)拷贝到myRed5Test\ WEB-INF(eclipse)下
  4. 修改red5工程下src下red5-web.properties

    context.path=/myRed5Testvirtual.hosts=*,localhost, localhost:8080, 127.0.0.1:8080

    并拷贝到web-inf下

  5. 在web.xml下添加

    <servlet>    <display-name>SecurityTest</display-name>    <servlet-name>SecurityTest</servlet-name>    <servlet-class>org.red5.demos.oflaDemo.SecurityTest</servlet-class></servlet><listener>    <listener-class>org.red5.logging.ContextLoggingListener</listener-class></listener>
  6. 修改root-web.xml

     <bean id="placeholderConfig" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"><property name="location" value="/WEB-INF/red5-web.properties" /></bean><!-- ROOT web context --><bean id="web.context" class="org.red5.server.Context" autowire="byType">    <property name="scopeResolver" ref="red5.scopeResolver" />    <property name="clientRegistry" ref="global.clientRegistry" />    <property name="serviceInvoker" ref="global.serviceInvoker" />    <property name="mappingStrategy" ref="global.mappingStrategy" /></bean><bean id="web.scope" class="org.red5.server.WebScope" init-method="register">    <property name="server" ref="red5.server" />    <property name="parent" ref="global.scope" />    <property name="context" ref="web.context" />    <property name="handler" ref="web.handler" />   <!-- global.handler -->    <property name="contextPath" value="${webapp.contextPath}" />    <property name="virtualHosts" value="${webapp.virtualHosts}" /></bean><bean id="web.handler" class="org.red5.demos.oflaDemo.Application" /><bean id="demoService.service" class="org.red5.demos.oflaDemo.DemoService" />

  7. 修改webRoot下的index.html

    把里面’streamer’: ‘rtmp://localhost/oflaDemo’ 修改为以下

    <script type='text/javascript'>  jwplayer('mediaspace').setup({    'flashplayer': 'player.swf',    'file': 'hobbit_vp6.flv',    'streamer': 'rtmp://localhost:1935/myRed5Test',    'controlbar': 'bottom',    'width': '848',    'height': '360'  });</script>
  8. 启动tomcat,输入http://localhost:8080/myRed5Test/。
    red5 oflaDemo

参考:http://itindex.net/detail/45372-red5-1.0-rc1

本人整合后项目:http://download.csdn.net/detail/u013569416/9382748

0 0
原创粉丝点击