Wowza Media Server —
медиасервер, использующий Java-движок, объявляющий такие конкурентные преимущества, как широкое разнообразие платформ-клиентов (Adobe® Flash®; Apple® iOS: iPhone®, iPad™ и iPod® touch; Microsoft® Silverlight®; Apple QuickTime™; Android™, Blackberry® и другие 3GPP платформы; телеприставки и др.), а также низкую стоимость — $995 долларов за Perpetual edition или подписку за $65 долларов в месяц (сравнение — Flash Media Interactive Server за $4,500). Расширенное сравнение на сайте Wowza.Далее будет расмотрена установка девелоперской версии сервера (она бесплатна, нужно лишь зарегистрироваться и получить код), установка плагина для Eclipse или уже готовой IDE на базе Eclipse и запуск простейшего приложения. Предполагается наличие Flash IDE!
- Установка сервера.
- Заходим сюда, жмём кнопку «Download now», скачиваем установочный файл (прямая ссылка).
- Запускаем скачавшийся установочный файл. Тут всё просто «далее-ввели код лицензии — выбрали папку — далее — установить — готово», примерно так.
-
- Установка среды разработки.
Так как серверная часть пишется на Java, то значит, что нам необходимо что-то, в чём можно было бы создавать серверные java-приложения. Для этого предусмотрено два варианта:- Подключить wowza-плагин к Eclipse (инструкция по установке).
- Скачать и установить Wowza IDE (прямая ссылка на виндовый установщик).
-
- Запуск HelloWorld’a.
Тут начинается самое интересное.
-
- applications — папка, где должны быть созданы папки с названиями наших приложений (пустые). Они затем наполняются всякими shared object’ами и другими автоматическими генерируемыми файлами, наша задача — просто создавать тут папки с именами приложений;
- bin — управление сервером (батники старт/стоп и т.д.);
- conf — конфигурационные файлы вообще, а также папки с Application.xml которые необходимы для каждого вашего серверного приложения.
-
- Создадим новый проект в Wowza IDE (выбираем Wowza Media Server Project):
Lадим проекту имя WowzaHelloWorld, проверим, чтобы путь к серверу был правильный (у меня это «D:\Pro\Wowza Media Server 2.2.4\»), жмём Next:
Создание класса серверного модуля. Назовём модуль-класс HelloWorld, а пакет я назвал com.igorrusso.wowzatuts, вы конечно можете использовать свои пакеты и имена классов (их потом нужно будет вписать в конфигурационном файле Application.xml вашего приложения). Ниже можно поставить/убрать галочки для создания стандартных методов, тут ничего не трогаем, лишь обратим внимание на создаваемый Custom Method по названию doSomething.
Жмём Finish. - Откроем в ide наш вновь созданный файл. Важнейшим для данного туториала является метод doSomething:public void doSomething(IClient client, RequestFunction function,
AMFDataList params) {
getLogger().info("doSomething");
sendResult(client, params, "Hello Wowza");
}Я не буду делать урок по языку Java, потому как сам с ним весьма поверхностно знаком, скажу лишь, что в данном случае конструкция типа
getLogger().info("doSomething")
— это аналог методаtrace("doSomething")
, то есть вывод строки в консоль IDE.
Этот автоматически генерируемый метод мы и будем вызывать из флеша, а он будет нам высылать в ответ строку «Hello Wowza» (sendResult(client, params, "Hello Wowza");
). - Заверщающий этап подготовлений на сервере — заходим в папку applications на сервере и создаём там папку с именем нашего проекта — «WowzaHelloWorld». Сюда ничего не нужно класть, в этой папке будут создаваться служебные файлы во время работы приложения.
Теперь нужно зайти в папку conf на сервере и также создать папку с именем проекта «WowzaHelloWorld», и скопировать туда файл Application.xml из папки conf.
Откроем файл Application.xml (который является конфигом приложения) из папки WowzaHelloWorld, прокрутим вниз, мужественно игнорируя всевозможные настройки, найдем раздел Modules, в котором перечислены используемые в приложении модули такого вида:<Module>
<Name>logging</Name>
<Description>Client Logging</Description>
<Class>com.wowza.wms.module.ModuleClientLogging</Class>
</Module>Их там перечислено несколько штук, но нам нужно добавить в этот раздел данные о нашем модуле (HelloWorld). В моём случае добавденный будет выглядеть так:
<Module>
<Name>HelloWorld</Name>
<Description>The most beautiful wowza-module in the world.</Description>
<Class>com.igorrusso.wowzatuts.HelloWorld</Class>
</Module> - В качестве флешовой части мы возьмём файл MyFirstModule.fla из папки examples\ServerSideModules\client. Здесь просто последнюю строчку кода на
nc.connect("rtmp://127.0.0.1/WowzaHelloWorld/")
- Теперь всё готово.
Компилим серверное приложения и запускаем сервер (нажав в Wowza IDE кнопку debug (меню Run-Debug));
Когда IDE в консоли напишет об успешном старте сервера (INFO server comment — Wowza Media Server is started!), запускаем флеш-проект. Если всё правильно, мы увидим в флеше сообщение «HelloWowza».
Если не увидели — проверяем всё, читаем лог консоли в Wowza IDE, там выводится много полезной информации.