205 lines
7.6 KiB
XML
205 lines
7.6 KiB
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-2.0.xsd
|
|
http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang-2.0.xsd">
|
|
<!-- This context holds all the networking: mina -->
|
|
|
|
<bean id="customEditorConfigurer"
|
|
class="org.springframework.beans.factory.config.CustomEditorConfigurer">
|
|
<property name="customEditors">
|
|
<map>
|
|
<entry key="java.net.SocketAddress">
|
|
<bean
|
|
class="org.apache.mina.integration.spring.InetSocketAddressEditor" />
|
|
</entry>
|
|
</map>
|
|
</property>
|
|
</bean>
|
|
|
|
<bean id="placeholderConfig"
|
|
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
|
|
<property name="location" value="classpath:/red5.properties" />
|
|
</bean>
|
|
|
|
<!-- RTMP Handler -->
|
|
<bean id="rtmpHandler"
|
|
class="org.red5.server.net.rtmp.RTMPHandler">
|
|
<property name="server" ref="red5.server" />
|
|
<property name="statusObjectService" ref="statusObjectService" />
|
|
</bean>
|
|
|
|
<bean id="rtmpMinaConnManager"
|
|
class="org.red5.server.net.rtmp.RTMPConnManager">
|
|
</bean>
|
|
|
|
<!-- RTMP Mina IO Handler -->
|
|
<bean id="rtmpMinaIoHandler"
|
|
class="org.red5.server.net.rtmp.RTMPMinaIoHandler">
|
|
<property name="handler" ref="rtmpHandler" />
|
|
<property name="codecFactory" ref="rtmpCodecFactory" />
|
|
<property name="rtmpConnManager" ref="rtmpMinaConnManager" />
|
|
</bean>
|
|
|
|
<!-- RTMP Mina Transport -->
|
|
<bean id="rtmpTransport" class="org.red5.server.net.rtmp.RTMPMinaTransport" init-method="start" destroy-method="stop">
|
|
<property name="ioHandler" ref="rtmpMinaIoHandler" />
|
|
<property name="address" value="${rtmp.host}" />
|
|
<property name="port" value="${rtmp.port}" />
|
|
<property name="receiveBufferSize" value="${rtmp.receive_buffer_size}" />
|
|
<property name="sendBufferSize" value="${rtmp.send_buffer_size}" />
|
|
<property name="eventThreadsCore" value="${rtmp.event_threads_core}" />
|
|
<property name="eventThreadsMax" value="${rtmp.event_threads_max}" />
|
|
<property name="eventThreadsQueue" value="${rtmp.event_threads_queue}" />
|
|
<property name="eventThreadsKeepalive" value="${rtmp.event_threads_keepalive}" />
|
|
<!-- This is the interval at which the sessions are polled for stats. If mina monitoring is not
|
|
enabled, polling will not occur. -->
|
|
<property name="jmxPollInterval" value="1000" />
|
|
<property name="tcpNoDelay" value="${rtmp.tcp_nodelay}" />
|
|
</bean>
|
|
|
|
<!-- RTMP Mina Connection -->
|
|
<bean id="rtmpMinaConnection" scope="prototype"
|
|
class="org.red5.server.net.rtmp.RTMPMinaConnection">
|
|
<!-- Ping clients every X ms. Set to 0 to disable ghost detection code. -->
|
|
<property name="pingInterval" value="${rtmp.ping_interval}" />
|
|
<!-- Disconnect client after X ms of not responding. -->
|
|
<property name="maxInactivity" value="${rtmp.max_inactivity}" />
|
|
<!-- Max. time in milliseconds to wait for a valid handshake. -->
|
|
<property name="maxHandshakeTimeout" value="5000" />
|
|
</bean>
|
|
|
|
<bean id="rtmptConnManager"
|
|
class="org.red5.server.net.rtmp.RTMPConnManager">
|
|
</bean>
|
|
|
|
<!-- RTMPT Handler -->
|
|
<bean id="rtmptHandler"
|
|
class="org.red5.server.net.rtmpt.RTMPTHandler" autowire="byType">
|
|
<property name="codecFactory" ref="rtmpCodecFactory" />
|
|
</bean>
|
|
|
|
<!-- Use injection to store RTMPT handler in servlet -->
|
|
<bean id="rtmptServlet"
|
|
class="org.red5.server.net.rtmpt.RTMPTServlet">
|
|
<property name="handler" ref="rtmptHandler" />
|
|
<property name="rtmpConnManager" ref="rtmptConnManager" />
|
|
</bean>
|
|
|
|
<!-- RTMPT Connection -->
|
|
<bean id="rtmptConnection" scope="prototype"
|
|
class="org.red5.server.net.rtmpt.RTMPTConnection">
|
|
<!-- Ping clients every X ms. Set to 0 to disable ghost detection code. -->
|
|
<property name="pingInterval" value="${rtmp.ping_interval}" />
|
|
<!-- Disconnect client after X ms of not responding. -->
|
|
<property name="maxInactivity" value="${rtmp.max_inactivity}" />
|
|
<!-- Max. time in milliseconds to wait for a valid handshake. -->
|
|
<property name="maxHandshakeTimeout" value="5000" />
|
|
</bean>
|
|
|
|
<!-- Jetty RTMPT Container -->
|
|
<bean id="rtmpt.server"
|
|
class="org.red5.server.net.rtmpt.RTMPTLoader" init-method="init"
|
|
autowire="byType" />
|
|
|
|
<!-- Tomcat Container -->
|
|
<!--
|
|
<bean id="rtmpt.server" class="org.red5.server.net.rtmpt.TomcatRTMPTLoader" init-method="init" autowire="byType">
|
|
<property name="embedded">
|
|
<bean class="org.apache.catalina.startup.Embedded" />
|
|
</property>
|
|
|
|
<property name="engine">
|
|
<bean class="org.apache.catalina.core.StandardEngine">
|
|
<property name="name" value="rtmptServletHandler" />
|
|
<property name="defaultHost" value="localhost" />
|
|
</bean>
|
|
</property>
|
|
|
|
<property name="connector">
|
|
<bean class="org.apache.catalina.connector.Connector">
|
|
<property name="port"><value>8088</value></property>
|
|
<property name="enableLookups"><value>false</value></property>
|
|
</bean>
|
|
</property>
|
|
|
|
<property name="host">
|
|
<bean class="org.apache.catalina.core.StandardHost">
|
|
<property name="name" value="localhost" />
|
|
<property name="unpackWARs" value="false" />
|
|
<property name="autoDeploy" value="false" />
|
|
<property name="xmlValidation" value="false" />
|
|
<property name="xmlNamespaceAware" value="false" />
|
|
</bean>
|
|
</property>
|
|
|
|
<property name="context">
|
|
<map>
|
|
<entry>
|
|
<key><value>name</value></key>
|
|
<value>rtmptContext</value>
|
|
</entry>
|
|
<entry>
|
|
<key><value>path</value></key>
|
|
<value></value>
|
|
</entry>
|
|
<entry>
|
|
<key><value>docBase</value></key>
|
|
<value>/</value>
|
|
</entry>
|
|
</map>
|
|
</property>
|
|
|
|
<property name="wrapper">
|
|
<bean class="org.apache.catalina.core.StandardWrapper">
|
|
<property name="servletName" value="RTMPTServlet" />
|
|
<property name="servletClass" value="org.red5.server.net.servlet.RTMPTServlet" />
|
|
</bean>
|
|
</property>
|
|
|
|
<property name="mappings">
|
|
<map>
|
|
<entry>
|
|
<key><value>RTMPTServlet</value></key>
|
|
<value>/open/*</value>
|
|
</entry>
|
|
<entry>
|
|
<key><value>RTMPTServlet</value></key>
|
|
<value>/close/*</value>
|
|
</entry>
|
|
<entry>
|
|
<key><value>RTMPTServlet</value></key>
|
|
<value>/send/*</value>
|
|
</entry>
|
|
<entry>
|
|
<key><value>RTMPTServlet</value></key>
|
|
<value>/idle/*</value>
|
|
</entry>
|
|
</map>
|
|
</property>
|
|
</bean>
|
|
-->
|
|
<!-- Enable when you need it.
|
|
<bean id="rtmpProxyTransport" class="org.red5.server.net.rtmp.RTMPMinaTransport" init-method="start" destroy-method="stop">
|
|
<property name="ioHandler" ref="debugProxyIoHandler" />
|
|
<property name="address" value="${proxy.source_host}" />
|
|
<property name="port" value="${proxy.source_port}" />
|
|
<property name="receiveBufferSize" value="${rtmp.receive_buffer_size}" />
|
|
<property name="sendBufferSize" value="${rtmp.send_buffer_size}" />
|
|
<property name="eventThreadsCore" value="${rtmp.event_threads_core}" />
|
|
<property name="eventThreadsMax" value="${rtmp.event_threads_max}" />
|
|
<property name="eventThreadsQueue" value="${rtmp.event_threads_queue}" />
|
|
<property name="eventThreadsKeepalive" value="${rtmp.event_threads_keepalive}" />
|
|
</bean>
|
|
|
|
<bean id="debugProxyIoHandler"
|
|
class="org.red5.server.net.proxy.DebugProxyHandler">
|
|
<property name="codecFactory" ref="rtmpCodecFactory" />
|
|
<property name="forward" value="${proxy.destination_host}:${proxy.destination_port}" />
|
|
<property name="dumpTo" value="./webapps/dump/" />
|
|
</bean>
|
|
-->
|
|
</beans>
|
|
|