2

指定した red5 インスタンスに RTMP ストリームを送信するシン ブラウザ クライアント (Java 上) を作成しています。また、RTMP Researcher を使用して、クライアントとサーバーの間で発生するトラフィックとイベントを監視しています。

これが私が注意したことです: red5 インスタンスとクライアントの間で交換されているオプションを含むマップがあることは明らかです。ここで見ることができます: 代替テキスト(直接リンク: http://img716.imageshack.us/img716/661/newbitmapimagelb.png )

私が疑問に思っているのは、クライアント側でこのマップを取得し、パラメーターの一部を変更するか、単にそれらを調べるプログラムによる方法があることです。

編集:

こんな感じで接続しています

connect ( host, port, app, callback );

. 他の接続メソッドにも optionsMap が引数として含まれているため、いくつかのデフォルト パラメータを一緒に送信していると思います。そのような optionsMap に入れることができる値と、それらのリストをどこで取得するのか疑問に思っていましたか?

4

1 に答える 1

0

ねえ、私もred5に苦労していて、この投稿を見つけました。red5 ソースをダウンロードして、このソース ファイル内を調べます: src/org/red5/server/net/rtmp/BaseRTMPClientHandler.java

connect() メソッドには複数の署名があることを知っておく必要があります。

BaseRTMPClientHandler.java の次のメソッドは、デフォルト パラメータを作成します。

public Map<String, Object> makeDefaultConnectionParams(String server, int port, String application) {
    Map<String, Object> params = new ObjectMap<String, Object>();
    params.put("app", application);
    params.put("objectEncoding", Integer.valueOf(0));
    params.put("fpad", Boolean.FALSE);
    params.put("flashVer", "WIN 9,0,115,0");
    params.put("audioCodecs", Integer.valueOf(1639));
    params.put("videoFunction", Integer.valueOf(1));
    params.put("pageUrl", null);
    params.put("path", application);
    params.put("capabilities", Integer.valueOf(15));
    params.put("swfUrl", null);
    params.put("videoCodecs", Integer.valueOf(252));
    return params;
}
于 2011-03-02T20:58:50.007 に答える