Hola a todos, después de Googlear varias horas he dado con la clave para que RED5 funcione bajo protocolo RTMPT. Les dejo los pasos a seguir desde la instalación de RED5:
- Partiendo de la version 1.0.0 de RED5.
- Se ejecuta el instalador, se proporciona la dirección IP del servidor, y el puerto para acceder mediante http como administrador.
- Eliminar los siguientes archivos del directorio /lib/ : com.springsource.slf4j.log4j-1.6.1.jar y com.springsource.slf4j.juli-1.6.1.jar
- Asegurarse que el servicio Red5 se ejecuta de forma automática.
- Abrir un navegador con
http://direccionIPproporcionada al instalador:puerto proporcionado al instalador.
- Ejecutar "Install a ready-made application" -> instalar la aplicación "fitcDemo"
- Para que funcione el protocolo RTMPT hay que añadir en el archivo /conf/red5-core.xml el siguiente código después de esta marca <!-- RTMPT Connection -->:
Código :
<!-- Enable RTMPT Port -->
<bean id="rtmpt.server" class="org.red5.server.tomcat.rtmpt.RTMPTLoader" init-method="init" lazy-init="true">
<property name="webappFolder" value="${red5.root}/webapps" />
<property name="connector">
<bean class="org.apache.catalina.connector.Connector">
<constructor-arg type="java.lang.String" value="org.apache.coyote.http11.Http11NioProtocol" />
<property name="port"><value>${rtmpt.port}</value></property>
<property name="enableLookups"><value>false</value></property>
</bean>
</property>
<property name="connectionProperties">
<map>
<entry key="maxKeepAliveRequests" value="${rtmpt.max_keep_alive_requests}"/>
<entry key="useExecutor" value="true"/>
<entry key="maxThreads" value="${rtmpt.max_threads}"/>
<entry key="acceptorThreadCount" value="${rtmpt.acceptor_thread_count}"/>
<entry key="processorCache" value="${rtmpt.processor_cache}"/>
</map>
</property>
<property name="host">
<bean class="org.apache.catalina.core.StandardHost">
<property name="name" value="${rtmpt.host}" />
<property name="unpackWARs" value="false" />
<property name="autoDeploy" value="false" />
<property name="xmlValidation" value="false" />
<property name="xmlNamespaceAware" value="false" />
</bean>
</property>
</bean>
- Hay que añadir el siguiente código en el archivo /webapps/MYAPP/web-inf/web.xml (donde MYAPP es el nombre de la aplicación que se usa, en nuestro caso MYAPP es fitcDemo) al final del archivo:
Código :
<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>
- Volver a arrancar el servicio RED5 y listos.
Con estas modificaciones funciona tanto para RTMP como para RTMPT.
Espero que les sirva de ayuda.
Un saludo