2

wowza からのストリームを再生するアプリを作成しようとしています。
その部分は大丈夫です。しかし、次に、wowza サーバーと通信するオプションをアプリに設定する必要があります。たとえば、wowzaサーバーに何らかのメソッドを呼び出す方法、onConnectメソッドを呼び出す方法...アプリからwowzaに接続し、onDisconnectメソッドを呼び出すまで接続を維持する方法???
誰かが情報を持っていれば、私は非常に感謝しています...事前に感謝します...

VideoView.setVideoPath("some path") 

遊ぶためのトリックをします...

4

1 に答える 1

5

HTTPProvider (http://www.wowza.com/forums/content.php?30-httpproviders) を使用して、Wowza モジュールのメソッドを呼び出します。これにより、アプリが HTTP 経由で呼び出すことができる Wowza モジュールの URL が得られます。

たとえば、Wowza モジュールがデフォルトで次のように実行されているとします。

http://localhost:1935.

次のように、VHost.xml に HTTPProvider を追加できます。

<HTTPProvider>
    <BaseClass>com.mycompany.wms.module.SomeModule</BaseClass>
    <RequestFilters>logout*</RequestFilters>
    <AuthenticationMethod>none</AuthenticationMethod>
</HTTPProvider>

これにより、次のような URL を呼び出すことができます。

http://localhost:1935/logout?id=123456789

モジュールの Java コードでは、onHTTPRequest メソッドを作成する HTTProvider2Base を実装する必要があります。クエリ文字列の変数 (この例では ?id=123456789) をメソッドで使用できます。ここからモジュール内のメソッドを呼び出すこともできます。

この呼び出しを使用する Java クラスの例は次のとおりです。

package com.mycompany.wms.module;

import com.wowza.wms.http.HTTProvider2Base;
import com.wowza.wms.http.IHTTPRequest;
import com.wowza.wms.http.IHTTPResponse;
import com.wowza.wms.logging.WMSLogger;
import com.wowza.wms.logging.WMSLoggerFactory;
import com.wowza.wms.vhost.IVHost;

public class SomeModule extends HTTProvider2Base {

public void onHTTPRequest(IVHost vhost, IHTTPRequest req, IHTTPResponse resp) {
    //Get the user
    String userId = req.getParameter("id");
    getLogger().info("Logging out user: " + userId );       

    logoutUser(userId);
}

private void logoutUser(String userId){
    //Do stuff here...
}

private WMSLogger getLogger(){
    return WMSLoggerFactory.getLogger(SomeModule.class);
}
}

いくつかの落とし穴:

  • onHTTPRequest のスコープはインスタンスの外部にあるように見えるため、モジュールのインスタンス内のプロパティへのアクセスには注意してください。
  • 自分のノードを機能させるには、HTTPServerVersion を含む HTTPProvider ノードをコメントアウトする必要がありました。私のバージョンの Wowza では、他のすべての HTTPProvider をオーバーライドしているように見えました。
  • また、IDE から実行している Wowza が Visual Studio 経由で URL への呼び出しを取得しないという問題もありました。サービス バージョンに変更を加えると、呼び出しは正常に機能しました。

これを行うために私が作成したアプリは、主にこの記事の会話に基づいています: http://www.wowza.com/forums/content.php?182-HTTPProvider-that-returns-detail-server-info

于 2012-05-30T17:38:06.800 に答える