`
01jiangwei01
  • 浏览: 542719 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

red5(一)

 
阅读更多

下载地址http://www.red5.org/

 

1, 首先启动red5

2,访问http://localhost:5080/

3,在该页面点击installer,进入安装页面。或输入http://localhost:5080/installer/

4,安装oflaDemo

5,可能会报错,下面来解决这些基本问题。

 5.1,重新编译Application.java

package org.red5.demos.oflaDemo;

import org.red5.logging.Red5LoggerFactory;
import org.red5.server.adapter.ApplicationAdapter;
import org.red5.server.api.IConnection;
import org.red5.server.api.IScope;
import org.red5.server.api.stream.IServerStream;
import org.red5.server.api.stream.IStreamCapableConnection;
import org.slf4j.Logger;

public class Application extends ApplicationAdapter
{
  private static Logger log = Red5LoggerFactory.getLogger(Application.class, "oflaDemo");
  private IScope appScope;
  private IServerStream serverStream;

  public Application()
  {
    log.info("oflaDemo created");
    System.out.println("oflaDemo created");
  }

  public boolean appStart(IScope app)
  {
    log.info("oflaDemo appStart");
    System.out.println("oflaDemo appStart");
    this.appScope = app;
    return true;
  }

  public boolean appConnect(IConnection conn, Object[] params)
  {
    log.info("oflaDemo appConnect");

    measureBandwidth(conn);
    if ((conn instanceof IStreamCapableConnection)) {
      IStreamCapableConnection streamConn = (IStreamCapableConnection)conn;
      /**
      SimpleConnectionBWConfig bwConfig = new SimpleConnectionBWConfig();
      bwConfig.getChannelBandwidth()[3] = 1048576L;

      bwConfig.getChannelInitialBurst()[3] = 131072L;

      streamConn.setBandwidthConfigure(bwConfig);
      */
    }

    return super.appConnect(conn, params);
  }

  public void appDisconnect(IConnection conn)
  {
    log.info("oflaDemo appDisconnect");
    if ((this.appScope == conn.getScope()) && (this.serverStream != null)) {
      this.serverStream.close();
    }
    super.appDisconnect(conn);
  }
}

 

5.2,增加所需要的jar文件spring-aop-3.0.5.RELEASE.jaraopalliance-1.0.jar

6,重启Red5,访问路径http://localhost:5080/demos/ofla_demo.html,点击Connect,右侧变绿,出现播放列表。选择播放文件。

7,使用jwplayer,进行测试,书写代码如下

<script type="text/javascript" src="${pageContext.request.contextPath}/player/jwplayer.js"></script>

<div id="myElement"  >Loading the player...</div>

jwplayer("myElement").setup({
	  
	    file: "rtmp://localhost/oflaDemo/9.flv", 
        height: 360,
        image: "${pageContext.request.contextPath}/images/button.gif",
        width: 640 
});

 

正常播放则测试成功。

8,进行二次开发

8.1,先写Java

package first;

import org.red5.server.adapter.ApplicationAdapter;
import org.red5.server.api.IConnection;
import org.red5.server.api.IScope;
import org.red5.server.api.stream.IServerStream;
import org.red5.server.api.stream.IStreamCapableConnection;

public class Application extends ApplicationAdapter
{
  private IScope appScope;
  private IServerStream serverStream;

  public Application()
  {

  }

  public boolean appStart(IScope app)
  {

    this.appScope = app;
    return true;
  }

  public boolean appConnect(IConnection conn, Object[] params)
  {


    measureBandwidth(conn);
    if ((conn instanceof IStreamCapableConnection)) {
      IStreamCapableConnection streamConn = (IStreamCapableConnection)conn;

    }
    return super.appConnect(conn, params);
  }

  public void appDisconnect(IConnection conn)
  {

    if ((this.appScope == conn.getScope()) && (this.serverStream != null)) {
      this.serverStream.close();
    }
    super.appDisconnect(conn);
  }
}

 

8.2 配置red5-web.properties,内容如下

 

webapp.contextPath=/red58
webapp.virtualHosts=*

 

8.3 配置red5-web.xml

<?xml version="1.0" encoding="UTF-8" ?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:lang="http://www.springframework.org/schema/lang"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
    http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang-3.0.xsd">

	<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="first.Application" />
</beans>

   

8.4 配置web.xml

 

<?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>red58</display-name>

	<context-param>
		<param-name>webAppRootKey</param-name>
		<param-value>/red58</param-value>
	</context-param> 
   	<servlet>
		<servlet-name>rtmpt</servlet-name>	<servlet-class>org.red5.server.net.rtmpt.RTMPTServlet</servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>

	<servlet-mapping>
		<servlet-name>rtmpt</servlet-name>
		<url-pattern>/fcs/*</url-pattern>
	</servlet-mapping>

	<servlet-mapping>
		<servlet-name>rtmpt</servlet-name>
		<url-pattern>/open/*</url-pattern>
	</servlet-mapping>

	<servlet-mapping>
		<servlet-name>rtmpt</servlet-name>
		<url-pattern>/close/*</url-pattern>
	</servlet-mapping>

	<servlet-mapping>
		<servlet-name>rtmpt</servlet-name>
		<url-pattern>/send/*</url-pattern>
	</servlet-mapping>

	<servlet-mapping>
		<servlet-name>rtmpt</servlet-name>
		<url-pattern>/idle/*</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>

 

8.5 WebContent\streams里放置flv等类型文件

8.6 发布文件,名称为red58

8.7,发布时,删除lib文件夹中的文件

8.8 进行测试。

<script type="text/javascript" src="${pageContext.request.contextPath}/player/jwplayer.js"></script>

<div id="myElement"  >Loading the player...</div>

jwplayer("myElement").setup({
	  
	    file: "rtmp://localhost/red58/9.flv", 
        height: 360,
        image: "${pageContext.request.contextPath}/images/button.gif",
        width: 640 
});

 

jwplayer().onBeforePlay( function(event){
			//alert("before Play"); 
	});
   jwplayer().onPlay( function(event){
		//alert(" Play");
	});
   jwplayer().onSeek( function(event){
		//alert("before Play");
		alert("seek--position:"+event.position +"---offset :"+event.offset );
	}); 
   jwplayer().onTime( function(event){ 
		//this event is fired as the playback position gets updated
		//alert("onTime--position:"+event.position +"---duration :"+event.duration  );
	});

 

分享到:
评论

相关推荐

    Red5 1.0 Final Web版

    Red5 1.0 Final是该软件的一个稳定版本,为用户提供了一个可靠的平台来处理多媒体数据。 在整合Red5 1.0 Final与Apache Tomcat时,我们首先要理解这两个组件的角色。Red5作为一个流媒体服务器,负责处理和分发...

    red5第一个demo

    Red5是一款开源的流媒体服务器,它支持实时流传输协议(RTMP)、H.264、Flash视频(FLV)以及音频等格式。在学习和使用Red5时,了解并动手实现第一个DEMO是非常重要的步骤,因为它可以帮助我们快速理解和掌握Red5的...

    red5 与 tomcat项目集成

    1. **Red5 服务器**:Red5 是一个开源的流媒体服务器,支持 RTMP(Real Time Messaging Protocol)、RTMPT、RTMPE、RTMPTE、RTMPS 协议,用于实时音频、视频传输,以及数据共享。它允许开发者创建互动的媒体应用程序...

    red 5 配置解读(一)

    【标题】:“Red5配置解读(一)” 在IT领域,Red5是一个开源的流媒体服务器,它支持实时传输协议(RTMP),用于在线视频、音频直播和录制。本篇文章将深入探讨Red5的配置,帮助读者理解如何有效设置和管理这个强大...

    red5入门,tomcat+red5+myeclipse集成,原创禁止转载

    Red5是一款开源的流媒体服务器,它支持实时流传输协议(RTMP),并提供录制、播放、存储等功能,广泛应用于在线视频直播、VoIP、互动游戏等场景。本教程将介绍如何进行Red5的入门学习,并结合Tomcat和MyEclipse进行...

    red5-server.zip

    Red5 Server是一款开源的流媒体服务器,主要用于处理和分发实时数据流,如视频、音频和其他类型的数据。这个"red5-server.zip"压缩包提供了一个免安装版本,使得用户可以在本地快速搭建起一个流媒体服务器,无需复杂...

    red5 1.0 web版 myeclipse工程

    Red5是一款开源的流媒体服务器,它支持实时流传输协议(RTMP)、RTMPT、RTMPE、RTMPF、RTMPS等,能够处理音视频的直播、点播和录制等多种应用场景。在本项目中,我们关注的是Red5 1.0的Web版本,该版本特别适合在Web...

    red5.jar

    在IT行业中,尤其是在线媒体流服务领域,Red5是一个非常重要的开源服务器平台。它支持实时流传输协议(RTMP),使得开发者能够构建实时音频、视频流应用,如直播、视频会议等。本篇文章将深入探讨Red5的核心组件,...

    Red5-0.9.1

    Red5是一款开源的流媒体服务器,它允许开发者创建实时的、交互式的富因特网应用程序(Rich Internet Applications,简称RIA)。0.9.1是Red5的一个特定版本,旨在提供稳定性和性能改进,以及可能的新功能。在这个版本...

    red5入门教程

    Red5是一款基于Java开发的开源免费Flash流媒体服务器,与Adobe的FMS(Flash Media Server)类似,提供了丰富的功能,包括实时流传输、录制、共享对象、远程调用以及视频播放与录制等。由于其开源性质,用户可以根据...

    red5 windows版本

    Red5是一款开源的Java流媒体服务器,它支持实时流传输协议(RTSP)、实时传输协议(RTP)、实时控制协议(RTCP)以及互联网群组管理协议(IGMP),能够处理视频、音频流以及数据应用。Windows版本的Red5允许在Windows操作...

    red5 免安装版 red5 1.00

    Red5是一款开源的流媒体服务器,它支持实时流传输协议(RTMP)、H.264、Flash视频(FLV)以及其他多种媒体格式。免安装版的Red5是指无需通过传统安装过程,可以直接运行的版本,这对于开发者进行快速测试或者在不同...

    red5入门详细教程

    一、Red5服务器基础 1. 安装与配置:Red5可以在Windows、Linux和Mac OS等操作系统上运行。首先,你需要下载最新版本的Red5服务器,然后根据操作系统类型进行安装。在Windows上,通常使用安装包;在Linux和Mac上,...

    red5chatv2.1 red5建的一个FLASH视频聊天会议例子

    【标题】"red5chatv2.1"指的是一个基于RED5开源流媒体服务器构建的视频聊天和会议应用的版本2.1。RED5是一款用Java编写,支持实时流传输协议(RTMP)的服务器,它允许用户创建、录制以及播放音频、视频和其他交互式...

    red5聊天建议系统

    这个"Red5聊天建议系统"显然是基于Red5搭建的一个用于实时聊天的应用示例,对于初学者来说,它是学习如何利用Red5实现类似即时通讯功能的一个很好的起点。 首先,我们需要了解Red5的基本架构。Red5服务器的核心是...

    red5流媒体服务器一个正常的demo

    这个"red5流媒体服务器一个正常的demo"提供了一个完整的示例,帮助用户快速了解并体验Red5的功能,特别是在安装过程中遇到困难时,能作为一个有效的参考。 首先,Red5服务器的核心功能包括直播、点播、录制和回放。...

    Red5手册详细教程

    Red5是一个用Java语言编写的开源Flash RTMP服务器,支持视频、音频流、录制客户端流、共享对象、发布直播流、远程调用等特点。Red5的开发团队成员包括Chris Allen、John Grden、Dominick Accattato、Steven Gong、...

    red5的oflaDemo

    在提供的信息中,我们关注的是Red5的oflaDemo,这是一个内置的演示应用程序,用于展示Red5的功能和如何与之交互。 **oflaDemo简介** oflaDemo是Red5服务器安装后自带的一个示例应用,主要用来展示RTMP协议的各种...

    利用red5和ffmpeg搭建rtmp流媒体服务器

    根据提供的文档信息,本文将详细阐述如何使用FFmpeg和Red5搭建一个RTMP流媒体服务器,以及相关的配置和测试步骤。 首先,了解RTMP(Real Time Messaging Protocol)是一种网络协议,它被广泛用于在线直播和流媒体...

Global site tag (gtag.js) - Google Analytics