你叫使用调用方法Wowza模块HTTPProvider(http://www.wowza.com/forums/content.php?30-httpproviders)。这会为您提供Wowza模块中的一个URL,您的应用可以通过HTTP调用该URL。
因此,例如,你的默认下运行你的Wowza模块:
http://localhost:1935.
您可以添加HTTPProvider您VHost.xml,如:
<HTTPProvider>
<BaseClass>com.mycompany.wms.module.SomeModule</BaseClass>
<RequestFilters>logout*</RequestFilters>
<AuthenticationMethod>none</AuthenticationMethod>
</HTTPProvider>
这将让你调用一个url,如:
http://localhost:1935/logout?id=123456789
在您的模块的Java代码中,您需要实现HTTProvider2Base f ROM你创建一个onHTTPRequest方法。查询字符串中的变量(因此在此示例中:?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版本中的所有其他HTTPProviders。
- 我也遇到了Wowza在IDE中运行时遇到问题,无法通过Visual Studio调用URL。一旦我将更改放入服务版本中,调用就可以正常工作。
我建立的应用程序。这主要是基于这篇文章中的谈话做了哪些:http://www.wowza.com/forums/content.php?182-HTTPProvider-that-returns-detail-server-info
你是如何从wowza播放流。我需要帮助... –