2010-07-02 96 views
1

我想使用Flex将视频流发送到Red5服务器。如何使用Flex将视频流发送到Red5服务器?

我的Red5设置似乎适用于远程方法调用和共享对象,但我还没有成功获取视频的工作。

这是连接的Red5的AS3代码:

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

而当接收NetConnection.Connect.Success下面的代码运行开始发送数据流:

# 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()); 

然而,这不起作用所以我做错了什么。

这必将对Red5的上下文中的Java应用程序我连接到:

package com.company; 

public class NameOfApplication extends ApplicationAdapter { 
    // Empty class. 
} 

我运行的Red5 0.9.1和我所做的唯一的配置设置通过编辑我的应用程序WEB-INF/red5-web.xml并补充说:

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

这些日志消息我在Red5的控制台中看到,同时连接并尝试发送视频:

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 

我在做什么错?如上所述,请注意,Red5设置完美地适用于远程方法调用和共享对象,但不适用于奇怪的视频。

回答

1

没有什么从你的配置/类跳出来,这一切看起来不错。您是否尝试发布其中一个演示,以排除您的客户? oflaDemo还是住?

0

只是一个想法,但你知道你的相机使用什么编解码器?

我已经设法运行一个简单的Flex应用程序&运行到Red5示例服务器应用程序,从我可以告诉做的事情与您所做的几乎一样。

如果您将“live”更改为“record”,是否有任何内容保存在服务器应用程序的streams目录中?

相关问题