Я шаг за шагом следовал приведенному ниже руководству, однако созданный мной модуль, похоже, не загружается или не выполняется, так как я не вижу никаких записей журнала, связанных с вызовами getLogger в Wowza Streaming Engine. В частности, я создал новый проект Wowza, содержащий новый модуль (см. Код ниже). Затем Eclipse создал файл jar в папке lib каталога установки. Я добавил модуль в живое приложение на потоковом сервере. Я также отредактировал файл Application.xml, чтобы включить новый модуль.
Чтобы, надеюсь, запустить написанный мною модуль, я транслирую файл mp4 с помощью ffmpeg (согласно документации здесь) в движок потоковой передачи (через живое приложение), который я вижу в тестовых проигрывателях. Насколько я понимаю, это вызовет по крайней мере один из прослушивателей событий в модуле. Однако в журналах ничего не появляется. Единственные записи, относящиеся к потоку, которые я вижу, показаны ниже.
Я уже довольно давно пытаюсь отладить, что идет не так, поэтому буду признателен за любые предложения по устранению проблемы.
https://www.wowza.com/docs/How-to-extend-Wowza-Streaming-Engine-using-Java
public class GCStreamModule 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);
}
public void onConnect(IClient client, RequestFunction function, AMFDataList params) {
getLogger().info("onConnect: " + client.getClientId());
}
public void onConnectAccept(IClient client) {
getLogger().info("onConnectAccept: " + client.getClientId());
}
public void onConnectReject(IClient client) {
getLogger().info("onConnectReject: " + client.getClientId());
}
public void onDisconnect(IClient client) {
getLogger().info("onDisconnect: " + client.getClientId());
}
public void onStreamCreate(IMediaStream stream) {
getLogger().info("onStreamConnect");
}
public void onMediaStreamCreate(IMediaStream stream){
getLogger().info("onMediaStreamCreate: " + stream.getSrc());
}
}




Тебе следует:
Вот пример раздела модулей в Application.xml для загрузки образца модуля из lib / videowhisper.jar:
<Modules>
<Module>
<Name>base</Name>
<Description>Base</Description>
<Class>com.wowza.wms.module.ModuleCore</Class>
</Module>
<Module>
<Name>logging</Name>
<Description>Client Logging</Description>
<Class>com.wowza.wms.module.ModuleClientLogging</Class>
</Module>
<Module>
<Name>flvplayback</Name>
<Description>FLVPlayback</Description>
<Class>com.wowza.wms.module.ModuleFLVPlayback</Class>
</Module>
<Module>
<Name>VideoWhisper</Name>
<Description>VideoWhisper rtmp server side.</Description>
<Class>com.videowhisper.wms.module.VideoWhisper</Class>
</Module>
</Modules>