轻松学习 red5 教程 像视频一样很详细还有代码直接可Copy
转载自:http://blog.csdn.net/hongdianking/archive/2009/11/12/4804339.aspx
最近要做一个流媒体服务器,在网上逗留了好久决定选择 red5 。但是网上中文资料很少视频资料更是不敢奢望,只有啃一些英文文档了, http://hi.baidu.com/qjchina/blog/item/acf860594516542e2934f076.html 是我的学习入口,在此表示对这位兄台的感谢。
废话少说直奔主题 >>>
我用到的软件有:
1. Jdkv1.6.0.5forWindows;
2. setup-Red5-0.7.0.exe( 这个从官网下载 http://osflash.org/red5/070final 速度比较慢 );
3. eclipse( 英文版 --www.gougou.com 下载原名是 eclipse-jee-galileo-SR1-win32.zip)
4. Flash8-chs.exe(这个很好下,到www.gougou.com 就可找到)
操作流程:
第一步 > 安装 jdk :
我的 jdk 安装目录是 C:/Java/jdk1.6.0_05 安装时手动改的, jre 的目录是默认的 C:/Program Files/Java/jre1.6.0_05 。
第二步 > 配置 jdk 的环境变量:
环境变量的配置,网上到处都有,我在这里就不啰嗦了只是把配置的参数贴这里: JAVA_HOME >>“C:/Java/jdk1.6.0_05” ;
CLASSPATH>>“.;%JAVA_HOME%/lib;%JAVA_HOME%/lib/tools.jar;%JAVA_HOME%/lib/dt.jar;” ;
Path>>“;%JAVA_HOME%/bin;%JAVA_HOME%/jre/bin;” ;
第三步 > 安装 red5 :
red5 的安装其实很简单,一直默认就好了, C:/Program Files/Red5 ;
第四步 > 解压 eclipse :
把 eclipse 解压到任意的目录都没关系;
第五步 > 配置 red5 :
a>> 在 /Red5/doc/templates 下有一个 myapp 的文件夹,把 myapp 拷贝到 ed5/webapps 下,然后重命名 myapp我把它重命名为 HelloWorld 这就是过会要在 eclipse 里建的项目的名字;
b>> 接下来在 HelloWorld 文件夹下建一个空夹 demos 用来放 flash 导出的文件 ( 其实不建也没关系,只是为了好管理项目文件 ) ;
c>> 在 Red5/webapps/HelloWorld/WEB-INF 下建三个空夹 src 和 class,lib 。 src 用来放 java 源文件, class 用来放编译好的 class 文件, lib 用来放导出的 jar 文件;
d>> 在 Red5/webapps/HelloWorld/WEB-INF 下有四个文件需要修改:文件 log4j.properties 直接删掉就可以了,文件 red5-web.properties 修改后的文件是 ”webapp.contextPath=/HelloWorld
webapp.virtualHosts=*,localhost,localhost:5080,127.0.0.1:5080“ ,
文件 red5-web.xml 需要改动两个地方第一把 class="the.path.to.my.Application" 改成class="org.d5.sayHello.Application" 其实 org.d5.sayHello 就是我们将要在 eclipse 中建的包名,第二把id="myhandler.service" 这个 bean 删掉,修改后的文件为:“ <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="placeholderConfig" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location" value="/WEB-INF/red5-web.properties" />
</bean>
<bean id="web.context" class="org.red5.server.Context"
autowire="byType" />
<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" />
<property name="contextPath" value="${webapp.contextPath}" />
<property name="virtualHosts" value="${webapp.virtualHosts}" />
</bean>
<bean id="web.handler"
class="org.d5.sayHello.Application"
singleton="true" />
</beans> ”
文件 web.xml 需要删除
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/log4j.properties</param-value>
</context-param>
和
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
然后把
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>/myapp</param-value>
</context-param> 中的 myapp 改称 HelloWorld
修改后的文件是:“ <?xml version="1.0" encoding="ISO-8859-1"?>
<web-app
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<display-name>My sample Red5 application</display-name>
<context-param>
<param-name>globalScope</param-name>
<param-value>default</param-value>
</context-param>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/red5-*.xml</param-value>
</context-param>
<context-param>
<param-name>locatorFactorySelector</param-name>
<param-value>red5.xml</param-value>
</context-param>
<context-param>
<param-name>parentContextKey</param-name>
<param-value>default.context</param-value>
</context-param>
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>/HelloWorld</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- remove the following servlet tags if you want to disable remoting for this application -->
<servlet>
<servlet-name>gateway</servlet-name>
<servlet-class>org.red5.server.net.servlet.AMFGatewayServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>gateway</servlet-name>
<url-pattern>/gateway</url-pattern>
</servlet-mapping>
<security-constraint>
<web-resource-collection>
<web-resource-name>Forbidden</web-resource-name>
<url-pattern>/streams/*</url-pattern>
</web-resource-collection>
<auth-constraint/>
</security-constraint>
</web-app> ”
第六步 > 创建 java 程序:
第一:打开 eclipse, 把 WorkSpace 设置到 /Red5/webapps ;
第二:新建 javaProject ,命名为 HelloWorld, 在 Contents 标签里选择“ Create project from existing source ” , 然后点击“ Browse ”找到我们先前建好的“ HelloWorld ”项目点击确定,完成。如下图:
接下来你会在项目里发现我们建好的所有文件如下图:
第三步:把 HelloWorld 根目录下的 src 从项目里删除,然后鼠标右击 WEB-INF 下的 src: buildpath à use as source folder这样就把 src 设置成 source 的根目录,如下图:
第四步:鼠标右击项目,选择 Property, 进入属性配置。选择 Java Build Path ,选择“ Source 标签”选上 Allow output folders for source folders 复选框,然后点击“ Browse ”在弹出的框中选择我们的 Class 文件夹作为存储 class 文件。
第五步:选择“ Librarise ”标签 — 〉“ Add External JARs ”把我们 Red5 下边的 red5.jar 加载进去。 OK 下一步可以建我们的 java 文件了。
第六步:建 Application.java 文件如下图:
第七步:导出 jar 文件到 lib 下:注意
第八步:安装 flash8. 下一步就可以了。
轻松学习 red5 教程 像视频一样很详细还有代码直接可Copy的更多相关文章
- L轻松学习inux教程5 知识与学习bash
本系列文章由@超人爱因斯坦出品,转载请注明出处. 文章链接: http://hpw123.net/a/Linux/Linuxjichu/2014/1031/101. ...
- 测试开发学习进阶教程 视频&PDF
测试开发学习进阶教程 视频&PDF,7天后失效,更多学习资料加Q群 https://pan.baidu.com/s/196KEo791NeZKyfV_E-36Uw 提取码: 41vu ...
- 轻松学习LINUX系列教程推出
本系列多媒体教程已完成的博文: 1.轻松学习Linux之入门篇 http://chenguang.blog.51cto.com/350944/449214 2.轻松学习Linux之本地安装系统 (分区 ...
- 很详细的SpringBoot整合UEditor教程
很详细的SpringBoot整合UEditor教程 2017年04月10日 20:27:21 小宝2333 阅读数:21529 版权声明:本文为博主原创文章,未经博主允许不得转载. https: ...
- Creator开源游戏、插件、教程、视频汇总
Creator开源游戏.插件.教程.视频汇总 来源 http://forum.cocos.com/t/creator/44782 王哲首席客服 17-03-17 4 史上最全,没有之一. ...
- 轻松学习Linux之用户账户管理及实例
Linux用户管理基础 (下载清晰视频:http://down.51cto.com/data/158699) 轻松学习Linux之用户账户管理的实例-跨硬盘移动数据 (此处视频不清楚下按下面地址下载清 ...
- Deep Learning 13_深度学习UFLDL教程:Independent Component Analysis_Exercise(斯坦福大学深度学习教程)
前言 理论知识:UFLDL教程.Deep learning:三十三(ICA模型).Deep learning:三十九(ICA模型练习) 实验环境:win7, matlab2015b,16G内存,2T机 ...
- Deep Learning 12_深度学习UFLDL教程:Sparse Coding_exercise(斯坦福大学深度学习教程)
前言 理论知识:UFLDL教程.Deep learning:二十六(Sparse coding简单理解).Deep learning:二十七(Sparse coding中关于矩阵的范数求导).Deep ...
- Deep Learning 11_深度学习UFLDL教程:数据预处理(斯坦福大学深度学习教程)
理论知识:UFLDL数据预处理和http://www.cnblogs.com/tornadomeet/archive/2013/04/20/3033149.html 数据预处理是深度学习中非常重要的一 ...
随机推荐
- HTML常用标签及其全称
<a href="#">a 超级链接(anchor)</a> <abbr title="abbreviation的简写"& ...
- Spring 事务中 readOnly 的解释
spring 中事务的PROPAGATION_REQUIRED,Readonly的解释 (2012-11-21 16:29:38) 转载▼ 标签: 杂谈 一. ...
- C++ STL之deque的基本操作
前两篇博文中已经介绍了vector和list的两种容器,我们发现他们各有各的优缺点,vector在内存中连续存储,支持随机访问,但是查找和删除的效率比较低,而list在内存中是链式存储的查找和删除的效 ...
- iOS开发:视图生命周期
iOS应用的视图状态分为以下几种 在viewcontroller的父类UIViewController中可以看到如下代码,通过重写不同的方法对操作视图渲染. @available(iOS 2.0, * ...
- UVa 11054 Wine trading in Gergovia【贪心】
题意:给出n个等距离的村庄,每个村庄要么买酒,要么卖酒,买酒和卖酒的总量相等, 把k个单位的酒从一个村庄运送到相邻的村庄,需要耗费k个单位劳动力,问怎样运送酒使得耗费的劳动力最少 买 卖 ...
- SJ9012: IE6 IE7 不支持 JSON 对象
标准参考 JSON 是一种数据交换格式,RFC 4627 对 JSON 进行了详细描述. 根据 ECMA-262(ECMAScript)第 5 版中描述,JSON 是一个包含了函数 parse 和 s ...
- noip2006提高组题解
第一题:能量项链 区间型动态规划 据说这题在当年坑了很多人. f(i, j) 表示从第i个珠子开始合并j个珠子所释放的最大能量. f(i, j) = max{ f(i, k} + f(i+k, j-k ...
- js基础学习第一天(关于DOM和BOM)一
关于BOM和DOM BOM 下面一幅图很好的说明了BOM和DOM的关系 BOM提供了一些访问窗口对象的一些方法,我们可以用它来移动窗口位置,改变窗口大小,打开新窗口和关闭窗口,弹出对话框,进行导航以及 ...
- MySQL基础之第5章 操作数据库
假设已经登录 mysql-h localhost -uroot -proot 5.1.显示.创建.删除数据库 show databases; 显示所有的数据库 create database ...
- LXD 2.0 系列(二):安装与配置
导读 简单来说,LXD是一个守护进程,为LXC容器的管理提供一组REST API.主要目标是提供一种类虚拟机的用户体验,是一种第三方的容器管理工具.下面呢,我们来介绍LXD 2.0 的安装与配置 安装 ...