Как загрузить собственный модуль Java в Wowza Streaming Engine?

Я шаг за шагом следовал приведенному ниже руководству, однако созданный мной модуль, похоже, не загружается или не выполняется, так как я не вижу никаких записей журнала, связанных с вызовами 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());
    }

}

Как загрузить собственный модуль Java в Wowza Streaming Engine?Как загрузить собственный модуль Java в Wowza Streaming Engine?

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
0
498
1

Ответы 1

Тебе следует:

  1. создайте jar для вашего модуля с помощью Wowza IDE
  2. скопируйте его в папку lib Wowza SE (на сервере)
  3. добавить в раздел
  4. перезапустите приложение или Wowza SE, чтобы новый модуль загрузился из новой библиотеки

Вот пример раздела модулей в 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>

Другие вопросы по теме