J'essaie d'envoyer un flux vidéo à un serveur Red5 en utilisant Flex. Mon installation Red5 semble fonctionner pour les invocations de méthodes distantes et les objets partagés, mais je n'ai pas encore réussi à faire fonctionner la vidéo.Comment envoyer un flux vidéo à un serveur Red5 à l'aide de Flex?
Ce code AS3 qui se connecte à Red5:
# connect to RTMP server
netConnection.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
netConnection.connect("rtmp://localhost/context_name");
# omitted code for waiting for connection success, and setting up shared
# objects (which works fine - the Red5 setup is hence OK)
Et quand NetConnection.Connect.Success
est reçu le code suivant est exécuté pour commencer à envoyer le flux:
# when NetConnection.Connect.Success then the following code is run:
var netStream:NetStream = new NetStream(netConnection);
netStream.publish("name_of_stream", "live");
netStream.attachCamera(Camera.getCamera());
Cependant, cela ne fonctionne pas donc je fais quelque chose de mal.
C'est l'application Java lié au contexte Red5 je me connecte à:
package com.company;
public class NameOfApplication extends ApplicationAdapter {
// Empty class.
}
Je suis en Red5 0.9.1 et la seule configuration que je l'ai fait est la mise en place ma demande en modifiant WEB-INF/red5-web.xml
et en ajoutant:
<bean id="context_name.context" class="org.red5.server.Context" autowire="byType" />
<bean id="context_name.scope" class="org.red5.server.WebScope" init-method="register">
<property name="server" ref="red5.server" />
<property name="parent" ref="global.scope" />
<property name="context" ref="context_name.context" />
<property name="handler" ref="context_name.handler" />
<property name="contextPath" value="/context_name" />
<property name="virtualHosts" value="*,localhost, localhost:5080, 127.0.0.1:5080" />
</bean>
<bean id="context_name.handler" class="com.company.NameOfApplication" />
Ce sont les messages du journal que je reçois dans la console lors de la connexion Red5 et en essayant d'envoyer de la vidéo:
org.red5.server.net.rtmp.RTMPHandler - Connecting to: [[email protected] Depth = 1, Path = '/default', Name = 'application_name']
org.red5.server.net.rtmp.RTMPHandler - Remembering client buffer on stream: 0
org.red5.server.stream.ClientBroadcastStream - Provider connect
org.red5.server.stream.ClientBroadcastStream - Stream start
org.red5.server.stream.ClientBroadcastStream - Provider connect
org.red5.server.stream.ClientBroadcastStream - Close
org.red5.server.stream.ClientBroadcastStream - Provider disconnect
org.red5.server.stream.ClientBroadcastStream - Provider disconnect
Qu'est-ce que je fais mal? Comme indiqué, notez que l'installation Red5 fonctionne parfaitement pour les invocations de méthodes distantes et les objets partagés, mais pas pour les vidéos qui sont étranges.