1

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: [WebScope@68e0ada6 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 のセットアップはリモート メソッドの呼び出しと共有オブジェクトに対しては問題なく動作しますが、奇妙なことにビデオに対しては機能しないことに注意してください。

4

2 に答える 2

1

あなたの設定/クラスから私に飛び出すものは何もありません、それはすべて大丈夫に見えます。クライアントを除外するためだけに、デモの1つに公開しようとしましたか?oflaDemoまたはライブ?

于 2010-09-04T16:19:54.947 に答える
0

ちょっと考えただけですが、カメラが使用しているコーデックを知っていますか?

シンプルなFlexアプリをRed5サンプルサーバーアプリで起動して実行することができました.

「ライブ」を「録画」に変更すると、サーバー アプリのストリーム ディレクトリに何かが保存されますか?

于 2010-07-12T09:02:41.037 に答える