我尝试为wowza 3.6.2
构建模块。我的模块需要获取一个IApplicationIdstance
的实例,我发现的所有示例都在onAppStart
方法中进行了该操作,但是当我访问wowza应用程序时未调用它。
我有以下内容:
public class TestModule extends ModuleBase {
public void onAppStart(IApplicationInstance appInstance) {
String fullname = appInstance.getApplication().getName() + "/"
+ appInstance.getName();
getLogger().info("onAppStart: " + fullname);
}
public void onAppStop(IApplicationInstance appInstance) {
String fullname = appInstance.getApplication().getName() + "/"
+ appInstance.getName();
getLogger().info("onAppStop: " + fullname);
}
....
}
应用配置:
<Module>
<Name>TestModule</Name>
<Description>MyTestModule</Description>
<Class>mnesterenko.TestModule</Class>
</Module>
我也有
applications/myapp
和conf/myapp/Application.xml
。我在浏览器中打开
http://wowza_ip:1935/myapp
,但未调用onAppStart
,我缺少什么? 最佳答案
原因是您的HTTP链接被wowza HTTPProviders捕获。
当您访问wowza的“流”功能(通常)时,将使用Wowza模块。
因此,如果您将RTMP连接到特定的应用程序实例,那么它将起作用。
此外,您可以“通过HTTP”使用应用程序,但是这将要求您请求特定的HTTP流URL,例如http://example.com/path/to/file.ext/playlist.m3u8
因此wowza在其中结合了流服务器和Web服务器。
如果您想捕获此类请求,请阅读有关HTTPProviders的更多信息。
https://www.wowza.com/docs/http-providers