转载自: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的更多相关文章

  1. L轻松学习inux教程5 知识与学习bash

    本系列文章由@超人爱因斯坦出品,转载请注明出处.          文章链接:          http://hpw123.net/a/Linux/Linuxjichu/2014/1031/101. ...

  2. 测试开发学习进阶教程 视频&PDF

    测试开发学习进阶教程 视频&PDF,7天后失效,更多学习资料加Q群 https://pan.baidu.com/s/196KEo791NeZKyfV_E-36Uw 提取码: 41vu     ...

  3. 轻松学习LINUX系列教程推出

    本系列多媒体教程已完成的博文: 1.轻松学习Linux之入门篇 http://chenguang.blog.51cto.com/350944/449214 2.轻松学习Linux之本地安装系统 (分区 ...

  4. 很详细的SpringBoot整合UEditor教程

    很详细的SpringBoot整合UEditor教程 2017年04月10日 20:27:21 小宝2333 阅读数:21529    版权声明:本文为博主原创文章,未经博主允许不得转载. https: ...

  5. Creator开源游戏、插件、教程、视频汇总

    Creator开源游戏.插件.教程.视频汇总 来源 http://forum.cocos.com/t/creator/44782 王哲首席客服   17-03-17    4   史上最全,没有之一. ...

  6. 轻松学习Linux之用户账户管理及实例

    Linux用户管理基础 (下载清晰视频:http://down.51cto.com/data/158699) 轻松学习Linux之用户账户管理的实例-跨硬盘移动数据 (此处视频不清楚下按下面地址下载清 ...

  7. Deep Learning 13_深度学习UFLDL教程:Independent Component Analysis_Exercise(斯坦福大学深度学习教程)

    前言 理论知识:UFLDL教程.Deep learning:三十三(ICA模型).Deep learning:三十九(ICA模型练习) 实验环境:win7, matlab2015b,16G内存,2T机 ...

  8. Deep Learning 12_深度学习UFLDL教程:Sparse Coding_exercise(斯坦福大学深度学习教程)

    前言 理论知识:UFLDL教程.Deep learning:二十六(Sparse coding简单理解).Deep learning:二十七(Sparse coding中关于矩阵的范数求导).Deep ...

  9. Deep Learning 11_深度学习UFLDL教程:数据预处理(斯坦福大学深度学习教程)

    理论知识:UFLDL数据预处理和http://www.cnblogs.com/tornadomeet/archive/2013/04/20/3033149.html 数据预处理是深度学习中非常重要的一 ...

随机推荐

  1. sql 存储过程 循环使用

    USE [clab] GO /****** Object: StoredProcedure [dbo].[sp_bd_getResultByEcd] Script Date: 08/06/2014 1 ...

  2. 创建支持复杂脚本Complex Scripts的WINCE6.0系统

    如果要创建支持复杂脚本(Complex Scripts)的系统,我们需要完成下面一系列步骤来确保系统包含所有需要支持的具体区域设置 (locale–specific). 1.     选择intern ...

  3. Android自动化测试之Monkeyrunner从零开始(三)

    转自http://www.51testing.com/html/81/22381-854342.html 时光过得太快了,一晃离上一篇monkeyrunner系列的博客已经一年多了.这一年多时间经历了 ...

  4. setBackgroundDrawable和setBackgroundColor的用法

        1.设置背景图片,图片来源于drawable: flightInfoPanel.setBackgroundDrawable(getResources().getDrawable(R.drawa ...

  5. Java I/O 扩展

    Java I/O 扩展 标签: Java基础 NIO Java 的NIO(新IO)和传统的IO有着相同的目的: 输入 输出 .但是NIO使用了不同的方式来处理IO,NIO利用内存映射文件(此处文件的含 ...

  6. UVa 10817 (状压DP + 记忆化搜索) Headmaster's Headache

    题意: 一共有s(s ≤ 8)门课程,有m个在职教师,n个求职教师. 每个教师有各自的工资要求,还有他能教授的课程,可以是一门或者多门. 要求在职教师不能辞退,问如何录用应聘者,才能使得每门课只少有两 ...

  7. Java [Leetcode 119]Pascal's Triangle II

    题目描述: Given an index k, return the kth row of the Pascal's triangle. For example, given k = 3,Return ...

  8. 基于ffmpeg的简单音视频编解码的例子

    近日需要做一个视频转码服务器,对我这样一个在该领域的新手来说却是够我折腾一番,在别人的建议下开始研究开源ffmpeg项目,下面是在代码中看到的一 段例子代码,对我的学习非常有帮助.该例子代码包含音频的 ...

  9. 自动FTP的小脚本

    自动FTP的小脚本 使用以下脚本,可以实现自动FTP,将你需要的文件传送到需要的地方,或者将需要的文件从某个地方抓取下来. cd /PATH_YOU_WANT_TO_UPLOAD(DOWNLOAD) ...

  10. Android Message和obtainMessage的区别

    类概述 定义一个包含任意类型的描述数据对象,此对象可以发送给Handler.对象包含两个额外的int字段和一个额外的对象字段,这样可以使得在很多情况下不用做分配工作. 尽管Message的构造器是公开 ...