`
gongminrui
  • 浏览: 63496 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Red5 Client 连接 Red5Server

    博客分类:
  • Red5
阅读更多
import java.util.ArrayList;
import java.util.Map;

import org.red5.io.utils.ObjectMap;
import org.red5.server.api.event.IEvent;
import org.red5.server.api.event.IEventDispatcher;
import org.red5.server.api.service.IPendingServiceCall;
import org.red5.server.api.service.IPendingServiceCallback;
import org.red5.server.net.rtmp.INetStreamEventHandler;
import org.red5.server.net.rtmp.RTMPClient;
import org.red5.server.net.rtmp.RTMPConnection;
import org.red5.server.net.rtmp.codec.RTMP;
import org.red5.server.net.rtmp.event.Notify;

public class RtmpClientNew extends RTMPClient implements
  INetStreamEventHandler, IPendingServiceCallback, IEventDispatcher {

 String host = "111.92.237.33";
 String app = "chainGunSyncService";
 int port = 1935;

 public RtmpClientNew() {
  super();
  Map<String, Object> map = makeDefaultConnectionParams(host,
    1935, "chainGunSyncService");

  connect(host, 1935, map, this, new String[] { "admin", "",
    "111.92.237.33" });
 }

 @Override
 public void dispatchEvent(IEvent arg0) {
  // TODO Auto-generated method stub
 }

 @Override
 public void resultReceived(IPendingServiceCall call) {
  // TODO Auto-generated method stub
  Object result = call.getResult();

  if (result instanceof ObjectMap) {
   if ("connect".equals(call.getServiceMethodName())) {
    createStream(this);
   }
  } else {
   if ("createStream".equals(call.getServiceMethodName())) {
    if (result instanceof Integer) {
     Integer streamIdInt = (Integer) result;
     // int streamId = streamIdInt.intValue();
     // publish(streamId, "testgio2", "live", this);
     invoke("getRoomsInfo", this);
    } else {

     disconnect();
    }
   } else if ("getRoomsInfo".equals(call.getServiceMethodName())) {
    ArrayList<String> list = (ArrayList<String>) result;
    for (int i = 0; i < list.size(); i++) {
     System.out.println(list.get(i));
    }
   }
  }

 }

 @Override
 public void onStreamEvent(Notify arg0) {
  // TODO Auto-generated method stub
 }

 @Override
 public void connectionOpened(RTMPConnection conn, RTMP state) {
  // TODO Auto-generated method stub
  // System.out.println("connectionOpened");

  super.connectionOpened(conn, state);
 }

 public static void main(String[] args) {
  new RtmpClientNew();
 }
}

 

分享到:
评论
1 楼 jchenzeke 2016-01-13  
有源代码吗?

相关推荐

    flEX教程,与RED5连接

    Flex教程,特别是与RED5连接的相关知识,是Web开发领域中的一个重要主题,主要涉及Adobe Flex这一强大的富互联网应用程序(RIA)开发框架以及RED5这款开源流媒体服务器。在这篇文章中,我们将深入探讨Flex的基本概念...

    Eclipse里为Red5添加Debug模式的步骤

    `transport=dt_socket`定义了调试数据传输方式为套接字,`address=1044`指定了调试器监听的端口,`server=y`表示此JVM是一个debug server,`suspend=n`表示JVM启动时不暂停等待debug client连接。 完成red5.bat的...

    Android代码-red5-server

    red5-server - Red5 server core Red5 is an Open Source Flash Server written in Java that supports: Streaming Video (FLV, F4V, MP4, 3GP) Streaming Audio (MP3, F4A, M4A, AAC) Recording Client ...

    red5-server-1.2.10.zip

    Red5 is an Open Source Flash Server written in Java that supports: Streaming Video (FLV, F4V, MP4, 3GP) Streaming Audio (MP3, F4A, M4A, AAC) Recording Client Streams (FLV and AVC+AAC in FLV container...

    juv-rtmp-client-1.5.10.rar_android red5_red5 Android_rtmp androi

    《Android与Red5流媒体服务器连接的实现及JUV-RTMP-Client库的应用》 在移动应用开发中,尤其是在视频直播或者视频点播场景下,Android设备与流媒体服务器的交互是必不可少的一环。本篇文章将深入探讨如何利用...

    最新Red5 1.0.6 web版 1.0.2-1.0.7M4通用版

    最新Red5 1.0.6 web版,1.0.2-1.0.7M4通用,替换以下jar包到对应版本即可。... red5-client-1.0.6-RELEASE.jar red5-io-1.0.6-RELEASE.jar red5-server.jar red5-server-common-1.0.6-RELEASE.jar red5-service.jar

    RED5直播包括Flex和Java全部源代码

    通过这些源代码,你可以了解到RED5服务器的工作原理,包括如何接收和分发流,以及如何处理客户端的连接请求。如果你对服务器编程感兴趣,这是一个深入了解流媒体服务器实现的好机会。 最后,`red5Server`可能包含的...

    基于Red5的录音录像方法和代码

    在Flash客户端中,需要使用`NetConnection`和`NetStream`对象与Red5服务器建立连接并控制录音录像流程: ```actionscript var nc:NetConnection = new NetConnection(); nc.objectEncoding = ObjectEncoding.AMF0; ...

    多人视频会议RED5+FLEX

    import org.red5.server.adapter.ApplicationAdapter; import org.red5.server.api.IConnection; import org.red5.server.api.IClient; import org.red5.server.api.IScope; import org.red5.server.api.Red5; ...

    AS3与RED5 播放视频

    在AS3中,我们可以使用Flash Player提供的NetConnection和NetStream类来连接到RED5服务器并播放视频。首先,你需要建立一个NetConnection对象,指定服务器地址和端口,这样客户端就可以与RED5服务器建立连接: ```...

    ServerClient_RedServer_inPCS7V6.1.zip

    ServerClient_RedServer_inPCS7V6.1zip,ServerClient_RedServer_inPCS7V6.1

    KEPServerEX IoT Gateway REST and MQTT Client Agent Demo with Node-RED.docx

    KEPServerEX IoT Gateway REST and MQTT Client Agent Demo with Node-RED KEPServerEX IoT Gateway 是一个强大的工业物联网网关,能够将工业设备连接到云端和企业系统。这个网关支持多种工业协议和数据格式,能够...

    red5oflaDemo.zip

    1. **Application Server**: Red5服务器本身,负责处理流媒体的接收、存储和分发。 2. **Client Players**: 可能包括HTML页面、Flash Player或其他类型的客户端播放器,用于连接到服务器并接收流媒体内容。 3. **...

    red5流媒体资料

    Red5是一款基于Java开发的开源流媒体服务器,其主要功能是提供与Adobe的Flash Media Server (FMS)相类似的基于Flash的流媒体服务。Red5使用Real-Time Messaging Protocol (RTMP)作为传输协议,与FMS完全兼容,支持流...

    red5流媒体服务器入门基础归类.pdf

    Red5流媒体服务器是一款基于Java开发的开源流媒体服务软件,它的主要功能与Macromedia公司的FMS(Flash Media Server)相似。Red5支持RTMP(Real Time Messaging Protocol)协议,能够与Adobe Flash Player无缝协作...

    Linux下mysql server &client;

    本资源包含Linux下的MySQL Server、Client及Devel组件,使得用户能够在Linux系统上搭建和管理MySQL数据库。 MySQL Server是整个数据库系统的核心,它负责处理来自客户端的SQL请求,执行数据查询、更新和存储操作。...

    RED5调用客户端方法原代码

    综上所述,RED5调用客户端方法涉及到的主要步骤包括建立RTMP连接、客户端注册可调用对象、服务器通过`IClient`接口调用方法以及处理返回结果。理解这些原理和原代码可以帮助开发者更好地利用RED5实现服务器与客户端...

    Android采集视频发送到red5

    client.connect("rtmp://your-red5-server.com/live"); client.publish("myStreamKey"); ``` 这里,"your-red5-server.com"是你的Red5服务器地址,"live"是应用名,"myStreamKey"是你要发布的流的唯一标识。 一旦...

Global site tag (gtag.js) - Google Analytics