Package org.red5.client.net.rtmp
Class RTMPClient
- java.lang.Object
-
- org.red5.server.net.rtmp.BaseRTMPHandler
-
- org.red5.client.net.rtmp.BaseRTMPClientHandler
-
- org.red5.client.net.rtmp.RTMPClient
-
- All Implemented Interfaces:
IRTMPClient,org.red5.server.net.rtmp.IRTMPHandler,org.red5.server.net.rtmp.message.Constants,org.red5.server.net.rtmp.status.StatusCodes
- Direct Known Subclasses:
RTMPEClient,RTMPSClient
public class RTMPClient extends BaseRTMPClientHandler
RTMP client implementation supporting "rtmp" and "rtmpe" protocols.- Author:
- The Red5 Project, Christian Eckerle (ce@publishing-etc.de), Joachim Bauch (jojo@struktur.de), Paul Gregoire (mondain@gmail.com), Steven Gong (steven.gong@gmail.com), Anton Lebedevich (mabrek@gmail.com), Tiago Daniel Jacobs (tiago@imdt.com.br), Jon Valliere
-
-
Field Summary
Fields Modifier and Type Field Description protected static intCONNECTOR_WORKER_TIMEOUTprotected org.apache.mina.core.future.ConnectFuturefutureprotected RTMPMinaIoHandlerioHandlerprotected org.apache.mina.core.session.IoSessionsessionprotected org.apache.mina.transport.socket.SocketConnectorsocketConnector-
Fields inherited from class org.red5.client.net.rtmp.BaseRTMPClientHandler
bandwidthCheckDone, conn, connectionParams, executor, protocol, subscribed
-
Fields inherited from interface org.red5.server.net.rtmp.message.Constants
HANDSHAKE_SIZE, HEADER_CONTINUE, HEADER_NEW, HEADER_SAME_SOURCE, HEADER_TIMER_CHANGE, MEDIUM_INT_MAX, SO_CLIENT_CLEAR_DATA, SO_CLIENT_DELETE_DATA, SO_CLIENT_INITIAL_DATA, SO_CLIENT_SEND_MESSAGE, SO_CLIENT_STATUS, SO_CLIENT_UPDATE_ATTRIBUTE, SO_CLIENT_UPDATE_DATA, SO_CONNECT, SO_DELETE_ATTRIBUTE, SO_DISCONNECT, SO_SEND_MESSAGE, SO_SET_ATTRIBUTE, SOURCE_TYPE_LIVE, SOURCE_TYPE_VOD, TYPE_ABORT, TYPE_AGGREGATE, TYPE_AUDIO_DATA, TYPE_BYTES_READ, TYPE_CHUNK_SIZE, TYPE_CLIENT_BANDWIDTH, TYPE_EDGE_ORIGIN, TYPE_FLEX_MESSAGE, TYPE_FLEX_SHARED_OBJECT, TYPE_FLEX_STREAM_SEND, TYPE_INVOKE, TYPE_NOTIFY, TYPE_PING, TYPE_SERVER_BANDWIDTH, TYPE_SHARED_OBJECT, TYPE_STREAM_METADATA, TYPE_VIDEO_DATA
-
Fields inherited from interface org.red5.server.net.rtmp.status.StatusCodes
APP_GC, APP_RESOURCE_LOWMEMORY, APP_SCRIPT_ERROR, APP_SCRIPT_WARNING, APP_SHUTDOWN, NC_CALL_BADVERSION, NC_CALL_FAILED, NC_CONNECT_APPSHUTDOWN, NC_CONNECT_CLOSED, NC_CONNECT_FAILED, NC_CONNECT_INVALID_APPLICATION, NC_CONNECT_REJECTED, NC_CONNECT_SUCCESS, NS_BUFFER_EMPTY, NS_CLEAR_FAILED, NS_CLEAR_SUCCESS, NS_DATA_START, NS_FAILED, NS_INVALID_ARGUMENT, NS_PAUSE_NOTIFY, NS_PLAY_COMPLETE, NS_PLAY_FAILED, NS_PLAY_FILE_STRUCTURE_INVALID, NS_PLAY_INSUFFICIENT_BW, NS_PLAY_NO_SUPPORTED_TRACK_FOUND, NS_PLAY_PUBLISHNOTIFY, NS_PLAY_RESET, NS_PLAY_START, NS_PLAY_STOP, NS_PLAY_STREAMNOTFOUND, NS_PLAY_SWITCH, NS_PLAY_TRANSITION, NS_PLAY_TRANSITION_COMPLETE, NS_PLAY_UNPUBLISHNOTIFY, NS_PUBLISH_BADNAME, NS_PUBLISH_START, NS_RECORD_FAILED, NS_RECORD_NOACCESS, NS_RECORD_START, NS_RECORD_STOP, NS_SEEK_FAILED, NS_SEEK_NOTIFY, NS_TRANSITION_FORCED, NS_TRANSITION_SUCCESS, NS_UNPAUSE_NOTIFY, NS_UNPUBLISHED_SUCCESS, SO_CREATION_FAILED, SO_NO_READ_ACCESS, SO_NO_WRITE_ACCESS, SO_PERSISTENCE_MISMATCH
-
-
Constructor Summary
Constructors Constructor Description RTMPClient()Constructs a new RTMPClient.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voiddisconnect()Disconnect the first connection in the connection mapMap<String,Object>makeDefaultConnectionParams(String server, int port, String application)Creates the default connection parameters collection.voidsetProtocol(String protocol)Sets the RTMP protocol, the default is "rtmp".protected voidstartConnector(String server, int port)Start network connection to server-
Methods inherited from class org.red5.client.net.rtmp.BaseRTMPClientHandler
connect, connect, connect, connect, connect, connectionClosed, connectionOpened, createStream, deleteStream, getChannelForStreamId, getConnection, getConnectionParams, getSharedObject, handleException, invoke, invoke, isBandwidthCheckDone, isSubscribed, isSwfVerification, onBWCheck, onBWCheck, onBWDone, onBWDone, onChunkSize, onClientBandwidth, onCommand, onPing, onServerBandwidth, onSharedObject, ping, play, play2, publish, publishStreamData, releaseStream, setConnection, setConnectionClosedHandler, setExceptionHandler, setServiceProvider, setStreamEventDispatcher, setStreamEventHandler, setSwfVerification, subscribe, unpublish
-
-
-
-
Field Detail
-
CONNECTOR_WORKER_TIMEOUT
protected static final int CONNECTOR_WORKER_TIMEOUT
- See Also:
- Constant Field Values
-
ioHandler
protected final RTMPMinaIoHandler ioHandler
-
socketConnector
protected org.apache.mina.transport.socket.SocketConnector socketConnector
-
future
protected org.apache.mina.core.future.ConnectFuture future
-
session
protected org.apache.mina.core.session.IoSession session
-
-
Method Detail
-
makeDefaultConnectionParams
public Map<String,Object> makeDefaultConnectionParams(String server, int port, String application)
Creates the default connection parameters collection. Many implementations of this handler will create a tcUrl if not found, it is created with the current server url.- Specified by:
makeDefaultConnectionParamsin interfaceIRTMPClient- Overrides:
makeDefaultConnectionParamsin classBaseRTMPClientHandler- Parameters:
server- the server locationport- the port for the protocolapplication- the application name at the given server- Returns:
- connection parameters map
-
startConnector
protected void startConnector(String server, int port)
Start network connection to server- Specified by:
startConnectorin classBaseRTMPClientHandler- Parameters:
server- Serverport- Connection port
-
disconnect
public void disconnect()
Disconnect the first connection in the connection map- Specified by:
disconnectin interfaceIRTMPClient- Overrides:
disconnectin classBaseRTMPClientHandler
-
setProtocol
public void setProtocol(String protocol) throws Exception
Sets the RTMP protocol, the default is "rtmp". If "rtmps" or "rtmpt" are required, the appropriate client type should be selected.- Overrides:
setProtocolin classBaseRTMPClientHandler- Parameters:
protocol- the protocol to set- Throws:
Exception- thrown
-
-