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();
}
}
分享到:
相关推荐
Flex教程,特别是与RED5连接的相关知识,是Web开发领域中的一个重要主题,主要涉及Adobe Flex这一强大的富互联网应用程序(RIA)开发框架以及RED5这款开源流媒体服务器。在这篇文章中,我们将深入探讨Flex的基本概念...
`transport=dt_socket`定义了调试数据传输方式为套接字,`address=1044`指定了调试器监听的端口,`server=y`表示此JVM是一个debug server,`suspend=n`表示JVM启动时不暂停等待debug client连接。 完成red5.bat的...
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 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...
《Android与Red5流媒体服务器连接的实现及JUV-RTMP-Client库的应用》 在移动应用开发中,尤其是在视频直播或者视频点播场景下,Android设备与流媒体服务器的交互是必不可少的一环。本篇文章将深入探讨如何利用...
最新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服务器的工作原理,包括如何接收和分发流,以及如何处理客户端的连接请求。如果你对服务器编程感兴趣,这是一个深入了解流媒体服务器实现的好机会。 最后,`red5Server`可能包含的...
在Flash客户端中,需要使用`NetConnection`和`NetStream`对象与Red5服务器建立连接并控制录音录像流程: ```actionscript var nc:NetConnection = new NetConnection(); nc.objectEncoding = ObjectEncoding.AMF0; ...
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中,我们可以使用Flash Player提供的NetConnection和NetStream类来连接到RED5服务器并播放视频。首先,你需要建立一个NetConnection对象,指定服务器地址和端口,这样客户端就可以与RED5服务器建立连接: ```...
ServerClient_RedServer_inPCS7V6.1zip,ServerClient_RedServer_inPCS7V6.1
KEPServerEX IoT Gateway REST and MQTT Client Agent Demo with Node-RED KEPServerEX IoT Gateway 是一个强大的工业物联网网关,能够将工业设备连接到云端和企业系统。这个网关支持多种工业协议和数据格式,能够...
1. **Application Server**: Red5服务器本身,负责处理流媒体的接收、存储和分发。 2. **Client Players**: 可能包括HTML页面、Flash Player或其他类型的客户端播放器,用于连接到服务器并接收流媒体内容。 3. **...
Red5是一款基于Java开发的开源流媒体服务器,其主要功能是提供与Adobe的Flash Media Server (FMS)相类似的基于Flash的流媒体服务。Red5使用Real-Time Messaging Protocol (RTMP)作为传输协议,与FMS完全兼容,支持流...
Red5流媒体服务器是一款基于Java开发的开源流媒体服务软件,它的主要功能与Macromedia公司的FMS(Flash Media Server)相似。Red5支持RTMP(Real Time Messaging Protocol)协议,能够与Adobe Flash Player无缝协作...
本资源包含Linux下的MySQL Server、Client及Devel组件,使得用户能够在Linux系统上搭建和管理MySQL数据库。 MySQL Server是整个数据库系统的核心,它负责处理来自客户端的SQL请求,执行数据查询、更新和存储操作。...
综上所述,RED5调用客户端方法涉及到的主要步骤包括建立RTMP连接、客户端注册可调用对象、服务器通过`IClient`接口调用方法以及处理返回结果。理解这些原理和原代码可以帮助开发者更好地利用RED5实现服务器与客户端...
client.connect("rtmp://your-red5-server.com/live"); client.publish("myStreamKey"); ``` 这里,"your-red5-server.com"是你的Red5服务器地址,"live"是应用名,"myStreamKey"是你要发布的流的唯一标识。 一旦...