miguelmesa
Goto Top

Red5 streaming über RTMPT

Hallo,

ich habe Red5 erfolgreich auf meinem lokalen Rechner und auf meinem Webserber installiert.

D.h. ich starte meine website, starte mein streaming bild mit simpleBroadcaster.swf auf chrome und empfange mein Bild mit simpleSubscriber.swf auf Firefox.
So weit so gut. Wenn ich nun auf meinem lokalen Rechner unter Dienste die Red5 Application beende dann ist das Empfängerbild von simpleSubscriber weg.
Ich vermute, ich habe ein Pfad-fehler bei meiner Red5 installation auf dem Webserver.

Nach einigen Recherchen habe ich gelesen, dass ich nur mit RTMPT über HTTP streamen kann.
RTMPT is RTMP protocol over HTTP

Red5 wir standardmäßig mit localhost (127.0.0.1) und Port 5080 installiert. Mir fehlen die Basics um die richtigen Änderungen einzustellen.

In einigen Foren habe ich gelesen dass ich die nötigen Ports freimachen muss. Vor allem Port 80 muss frei sein. Der ist bei mir frei. Ich habe ihn bei
Port testen getestet. Alle anderen (1935, 8088, 5080) sind zu.

im Ordner conf/jee-container.xml habe ich den Kommentar entfernt um den Code zu aktivieren:

	<!-- RTMPT (dedicated server) -->

	<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>  
                <property name="URIEncoding" value="${http.URIEncoding}" />  
			</bean>
		</property>

        <property name="address">  
            <bean class="java.net.InetSocketAddress">  
                <constructor-arg index="0" type="java.lang.String" value="${rtmpt.host}" />    
                <constructor-arg index="1" type="int" value="${rtmpt.port}" />    
            </bean>
        </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>		

        <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>

	</bean>



In conf/red5-core.xml habe ich folgenden Code hinzugefügt:
<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>

Quelle: conf/red5-core.xml


In der Datei conf/red5.properties

lassen sich die http, rtmp und rtmpt einstellen:

# Socket policy
policy.host=0.0.0.0
policy.port=843

# HTTP
http.host=127.0.0.1
http.port=5080
https.port=5443
http.URIEncoding=UTF-8
http.max_keep_alive_requests=-1
http.max_threads=20
http.acceptor_thread_count=10
http.processor_cache=20

# RTMP
rtmp.host=127.0.0.1
rtmp.port=1935
rtmp.io_threads=16
rtmp.send_buffer_size=65536
rtmp.receive_buffer_size=65536
rtmp.ping_interval=1000


# RTMPT
rtmpt.host=0.0.0.0
rtmpt.port=8088
rtmpt.ping_interval=5000
rtmpt.max_inactivity=60000
rtmpt.max_handshake_time=5000
rtmpt.max_keep_alive_requests=-1
rtmpt.max_threads=20

Danke im Voraus.

Content-Key: 311746

Url: https://administrator.de/contentid/311746

Printed on: April 19, 2024 at 06:04 o'clock