本文档的目的是描述如何在Red5中创建应用程序.需要使用Red5中所给的API。
二.应用程序目录:
========================
在默认的情况下,Red5将所有的应用程序存放在根目录的”Webapps”目录下面.因此在创建一个新的应用程序之前,首先需要在这个目录中创建一个子目录.习惯上这个子目录的名字应该和马上创建的应用程序的名字是一样的.
在你的新应用程序中,需要一个”WEB-INF”的文件夹用来存放关于使用类情况的配置文件.你可以使用Red5提供的一个模板,它可以在”doc/templates/myapp”文件夹中找到.
在Red5启动的时候,所有文件夹中的配置文件都会搜索到.
三.配置:
========================
这个主要的配置文件是:”Wed.xml”.它包含了如下参数:
1.globalScope:
如下例子”globalScope”为参数名字,”default”为参数对应的默认值.
globalScope
default
2.contextConfigLocation
设置应用程序中控制文件的名称.这些控制文件列出了应用程序连接或断开客户端的类,同时也提供客户端可以调用的方法的类.
控制文件还设定了这些类的有效范围.
在这个路进中还可以使用通配符,从而可以包含进来多个文件.::
contextConfigLocation
/WEB-INF/red5-*.xml
3.locatorFactorySelector
指定根应用程序上下文配置文件通常是”red5.xml”::
locatorFactorySelector
red5.xml
4.parentContextKey
父上下文的名字,通常是”default.context”::
parentContextKey
default.context
5.log4jConfigLocation
指定子log系统的路径.
log4jConfigLocation
/WEB-INF/log4j.properties
6.webAppRootKey
应用程序唯一的名称::
webAppRootKey
/myapp
四.配置文件
每一个控制配置文件都至少包括如下三种Bean.
1.Context
这个Context bean有个预留的名字”web.context”,它用来将路径放入域中,同时查找服务和控制器.默认的类是”org.red5.server.Context”.
具体代码如下:
每个应用程序只能有一个Context.然而这个Context能够夸多个域共享.
2.域(Scope)
每一个应用程序至少有一个Scope,这个Scope将控制器(Handler)连接到了Context和Server.这个Scopes用来建造一个树结构,客户端能够连接到这个树上的任何一个节点和共享对象(例如共享对象或者实时流).你可以将Scope看作是一个房间或者实例.
默认的Scope通常有个名字”web.scope”,但是这个名字可以任意的选择.
这个Bean有如下的属性.
“server”—-设置全局的服务器域”red5.server”.
“parent”—-设置父域,通常是”global.scope”.
“context”—-指当前域,使用上面提到的”web.context”
“handler”—-当前域的控制器(Handler,下面将会提到).
“contextPath”—-连接当前域的路径.
“virtualHosts”—-用逗号分割开当然域(scope)运行的一组主机名或者IP地址.
例如:
init-method=”register”>
你可以将”contextPath”和”virtualHosts”的值转移到一个单独的properties文件,然后用参数表示.如果是这样的话,你就需要另外的一个Bean::
class=”org.springframework.beans.factory.config.PropertyPlaceholderConfigurer”>
假设一个”red5-web.properties”文件包含如下数据::
webapp.contextPath=/myapp
webapp.virtualHosts=localhost,127.0.01
那么,在Scope中的参数将会变成如下样子::
这个”contextPath”将会被看作域的”根(root)”.当需要动态创建扩展域的时候,你可以在这个路进后边添加新的元素.
这个额外域将使用同一个控制器(Handler),但是他们都拥有自己独立的属性,共享对象和实时流.
3.控制器(Handlers)
每一个Context都需要一个控制器(Handler),它实现一个方法,这个方法将在一个客户端连接这个域(Scope)时触发.这个控制器需要实现的接口是:”org.red5.server.api.IScopeHandler”,然而如果你想控制访问共享对象或者流,你也可以实现其它接口.
有一个”org.red5.server.adapter.ApplicationAdapter”作为一个基础类可以在类库中找到,这个类就是一个简单实现的例子.更多详细信息请查阅javadoc文档.
这个Bean作为一个域的控制器要进行如下配置::
这个ID的参数就是上面提到的域(scope)设置.
五.简单控制器
用下面几行代码实现一个简单的控制器::
package the.path.to.my;
import org.red5.server.adapter.ApplicationAdapter;
public class Application extends ApplicationAdapter{
public Double add(Double a,Double b){
return a+b;
}
}
假设已经经过了上面的配置,你可以通过如下的脚本来调用这个方法.
nc = new NetConnection();
nc.connect(”rtmp://localhost/myapp”);
nc.onResult = function(obj){
trace(”This result is ” +obj);
}
nc.call(”add”,nc,1,2);
输出的结果如下:
The result is 3。
分享到:
相关推荐
### Eclipse 创建第一个 Red5 应用程序示例 #### 知识点概览 - **Red5 安装与配置** - **Red5 示例应用程序构建** - **集成Eclipse与Red5** - **使用FlexBuilder创建客户端** #### 详细解析 ##### 1. 安装与配置...
本实例中的"red5应用程序"展示了一个完整的Red5应用解决方案,它实现了文件资源路径的自定义,并且能够与Flex客户端配合,提供视频录制和播放功能。 1. **Red5简介** Red5是一款用Java编写的开源流媒体服务器,它...
【创建 Red5 应用程序】 1. **建立工程**: 在 Eclipse 中,选择 "File" -> "New" -> "Project",然后选择 "Dynamic Web Project"。为项目命名并设置 Target Runtime,选择 "New Runtime",接着选择 "Red5 Server ...
搭建RED5应用是创建基于Flash技术的实时多媒体服务器应用程序的过程,Eclipse是一个广泛使用的Java集成开发环境,可以方便地管理和构建RED5项目。以下是详细步骤和相关知识点: 1. **下载RED5**: 首先从RED5官方...
综上所述,这个教程主要介绍了如何使用Flex和Red5构建一个简单的交互式应用程序,涵盖了服务器配置、Flex项目创建、ActionScript编程、以及客户端与服务器的通信机制。对于初学者,这是一个很好的实践项目,有助于...
它的出现为开发者提供了一个低成本、可定制化的替代方案,特别是对于那些希望在自己的应用程序中集成流媒体服务的IT专业人员来说。`oflaDemo`是Red5附带的一个演示程序,它展示了如何使用Red5进行基本的流媒体操作。...
1. **创建应用程序目录**:在Red5的根目录下的"Webapps"文件夹中创建一个子目录,此子目录名应与你的应用程序名称相同。这将是你的应用程序的主目录,其中包含必要的文件和配置。 2. **放置配置文件**:在新创建的...
2. Red5 API:研究Red5提供的Java API,了解如何创建应用程序,监听连接,处理数据流等。 3. ActionScript编程:学习基本的ActionScript语法,熟悉Flash开发者工具,创建与Red5服务器通信的客户端程序。 4. RTMP协议...
将两者结合,可以利用Tomcat的Web应用管理能力,将Red5作为Web应用程序部署,以实现更灵活的管理和配置。 整合过程通常包括以下步骤: 1. **安装准备**:确保系统上已经安装了Java Development Kit (JDK),因为Red...
Tomcat是一个轻量级的Java应用服务器,主要用于部署和运行Java Servlet和JavaServer Pages(JSP)应用程序。在Red5项目中,Tomcat通常被用作Web应用服务器,负责处理HTTP请求和动态内容生成。 三、MyEclipse集成 ...
**Eclipse的Red5插件**是专门为Eclipse集成开发环境设计的一款扩展工具,它使得开发者能够在Eclipse中便捷地开发、调试以及管理基于Red5服务器的应用程序。Red5是一款开源的流媒体服务器,能够支持实时传输协议...
它允许开发者创建互动的媒体应用程序,如直播、点播服务、VoIP、游戏应用等。 2. **Tomcat 服务器**:Apache Tomcat 是一个开源的、基于 Java Servlet 和 JavaServer Pages (JSP) 技术的 Web 应用服务器,广泛应用...
5. **应用程序接口(API)**:red5.jar还提供了丰富的API,供开发者创建自定义的Red5应用。这些API涵盖了连接管理、流管理、存储服务等多个方面,使得开发者可以轻松地构建与Red5服务器交互的应用程序。 6. **媒体...
5. 配置应用:在Red5项目中的conf目录下,修改或创建相应的配置文件,如`application.xml`,以注册你的应用程序和服务。 6. 启动Red5服务器:确保JDK已设置好环境变量,然后在命令行中导航到Red5服务器的bin目录,...
3. **调试工具**:插件集成了调试器,使开发者能够对Red5应用程序进行单步调试,查看变量值,设置断点,从而更好地理解和优化代码逻辑。 4. **服务器集成**:Red5_plugin能够与运行中的Red5服务器无缝连接,允许...
Red5的手册还介绍了如何创建新程序,包括将所有程序放在根目录下的“webapps”目录中,根目录下的doc文件夹中的templates文件夹中有模板程序,可以复制到webapps下创建。创建的程序里应该包含一个“WEB-INF”目录,...
标题中的"red5-1.0.0-webapps-demos.zip"表明这是一个关于Red5服务器的Web应用程序示例的压缩包。Red5是一款开源的流媒体服务器,它支持实时流传输协议(RTMP)、文件录制、播放以及直播等功能。1.0.0是其版本号,...
总结起来,RED5的安装和配置涉及创建应用程序目录、设置配置文件、理解并配置`Context`和`Scope`等关键元素。通过正确配置这些参数,开发者可以成功搭建并运行基于RED5的流媒体应用,为用户提供高质量的音视频服务。...
3. 共享对象:在应用程序中可以使用Red5来实现对象共享,这在实时交互的场景中非常有用。 4. 直播流发布:Red5支持现场直播流的发布,这允许用户进行实时视频广播。 5. 远程调用(AMF):Red5提供了远程方法调用的...