您的位置:首页 > 运维架构 > Tomcat

RED5与tomcat整合

2015-12-29 21:18 537 查看

前言

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

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

准备工作:

解压red5-1.0.0-RC1.zip 为 red5-1.0.0-RC1 并解压里面的src.zip 为目录src

在eclipse下创建web工程,名称自取,我的为myRed5Test。

把red5-1.0.0-RC1下lib拷贝到web-inf下lib

拷贝src下org目录到red5工程下src下

拷贝src下conf下war下的配置文件到red5工程src下

配置文件修改

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

<bean id="placeholderConfig" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location" value="red5.properties" />
</bean>


在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

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

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

整合示例oflaDemo

下载oflaDemo的源码文件:http://download.csdn.net/detail/u013569416/9382689

将oflaDemo_src中的src文件下的org放入我们工程的src下。

将oflaDemo_src\WebContent下的所有文件(除了web-inf和META-INF)拷贝到myRed5Test\ WEB-INF(eclipse)下

修改red5工程下src下red5-web.properties

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


并拷贝到web-inf下

在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>


修改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" />


修改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>


启动tomcat,输入http://localhost:8080/myRed5Test/



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

本人整合后项目:http://download.csdn.net/detail/u013569416/9382748
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  red5 流媒体服务器