问征夫以前路
感谢所有关心过支持过我的人, 感谢所有恨过我嘲笑过我的人 !
posts - 30,comments - 147,trackbacks - 0

  好久没写了,换工作之后,在这家游戏公司,最先了解到的就是red5,学习到了如何搭建red5应用程序,贴出来分享一下。(本来上周就可以贴出来的,工作太忙了,^ _ ^)

  安装完red5,在默认的情况下,red5将所有的应用程序存放在根目录的“webapp”目录下面。因此在创建一个新的应用程序之前,首先需要在这个目录中创建一个子目录。习惯上这个子目录的名字应该和马上创建的应用程序的名字是一样的。

   在red5的安装目录(\doc\templates\ )下找到myapp文件夹,把它整个拷贝到red5安装目录的webapps文件夹下,然后重命名为“tempapp”(可根据自己的需要自己改名)。这个文件夹中包含的是一个red5端应用程序配置的模板,对这个模板进行简单的修改,就可以将我们编写的应用程序正常的运行在red5服务器上。具体修改方法如下:
     1、修改pet\WEB-INF下的四个文件,只要看到“myapp”就将其替换成“tempapp”。

        2、修改red5-web.properties文件中的webapp.virtualHosts为*,localhost, 127.0.0.1。
代码如下:

1webapp.contextPath=/tempapp
2webapp.virtualHosts=*,localhost, 127.0.0.1

        3、修改red5-web.xml中的class="the.path.to.my.Application"为class="org.red5.server.adapter.ApplicationAdapter"。
代码如下:
 1<?xml version="1.0" encoding="UTF-8"?>
 2<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
 3<beans>
 4    
 5    <bean id="placeholderConfig" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
 6        <property name="location" value="/WEB-INF/red5-web.properties" />
 7    </bean>
 8    
 9    <bean id="web.context" class="org.red5.server.Context" 
10        autowire="byType" />
11    
12    <bean id="web.scope" class="org.red5.server.WebScope"
13         init-method="register">
14        <property name="server" ref="red5.server" />
15        <property name="parent" ref="global.scope" />
16        <property name="context" ref="web.context" />
17        <property name="handler" ref="web.handler" />
18        <property name="contextPath" value="${webapp.contextPath}" />
19        <property name="virtualHosts" value="${webapp.virtualHosts}" />
20    </bean>
21
22    <bean id="web.handler" 
23        class="org.red5.server.adapter.ApplicationAdapter" 
24        singleton="true" />
25
26</beans>
27

        4、web.xml文件中的代码也贴出来:
 1<?xml version="1.0" encoding="ISO-8859-1"?>
 2<web-app 
 3   xmlns="http://java.sun.com/xml/ns/j2ee" 
 4   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 5   xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" 
 6   version="2.4"> 
 7
 8    <display-name>My sample Red5 application</display-name>
 9
10    <context-param>
11        <param-name>globalScope</param-name>
12        <param-value>default</param-value>
13    </context-param>
14
15    <context-param>
16        <param-name>contextConfigLocation</param-name>
17        <param-value>/WEB-INF/red5-*.xml</param-value>
18    </context-param>
19
20    <context-param>
21        <param-name>locatorFactorySelector</param-name>
22        <param-value>red5.xml</param-value>
23    </context-param>
24
25    <context-param>
26        <param-name>parentContextKey</param-name>
27        <param-value>default.context</param-value>
28    </context-param>
29    
30    <context-param>
31        <param-name>log4jConfigLocation</param-name>
32        <param-value>/WEB-INF/log4j.properties</param-value>
33    </context-param>
34    
35    <context-param>
36        <param-name>webAppRootKey</param-name>
37        <param-value>/templates_myapp</param-value>
38    </context-param>
39    <!--
40    <listener>
41        <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
42    </listener>
43    
44    <listener>
45        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
46    </listener>
47    -->
48    <!-- remove the following servlet tags if you want to disable remoting for this application -->
49    <servlet>
50        <servlet-name>gateway</servlet-name>
51        <servlet-class>org.red5.server.net.servlet.AMFGatewayServlet</servlet-class>
52    </servlet>
53    
54    <servlet-mapping>
55        <servlet-name>gateway</servlet-name>
56        <url-pattern>/gateway</url-pattern>
57    </servlet-mapping>
58
59    <security-constraint>
60        <web-resource-collection>
61            <web-resource-name>Forbidden</web-resource-name>
62            <url-pattern>/streams/*</url-pattern>
63        </web-resource-collection>
64        <auth-constraint/>
65    </security-constraint>
66
67</web-app>
68

        注意:我用的是Red5-0.8.0-RC2,在启动red5时,会报错,注释其中的两个监听就没有问题了!本人做的是java,只提供red5服务器端的代码,呵呵,因为flex不会,所以有兴趣的朋友请参照:
http://seasontop.blog.hexun.com/28885448_d.html
这样一个red5服务器就算配置完了,祝你们好运~!
posted on 2009-05-22 18:46 kenzhang 阅读(5710) 评论(5)  编辑  收藏

FeedBack:
# re: 搭建red5应用服务器
2009-06-09 21:07 | sesontop
呵呵~~还是第一次在别人BLOG上看到自己BLOG的地址哦~~~  回复  更多评论
  
# re: 搭建red5应用服务器
2009-06-12 18:54 | kenzhang
@sesontop
你对red5的研究很深啊,有机会一起研究下
zhanghhui@126.com我的邮箱  回复  更多评论
  
# re: 搭建red5应用服务器
2009-06-14 10:16 | conjs.cn
1,singleton="true" 去掉
2,extends ApplicationAdapter 改为 MultiThreadedApplicationAdapter

这样性能会提升很多, 你自己可以测试一下.(大并发测试)  回复  更多评论
  
# re: 搭建red5应用服务器 --搭建视频会议系统
2011-10-29 19:10 | 视频会议软件
专业采用Red5搭建视频会议系统  回复  更多评论
  
# re: 搭建red5应用服务器
2013-05-27 15:18 | eddie
回复一个 因为搞了半天 是看你这个才弄好的  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: