1. Введение

1. Введение

Что такое Wowza Media Server Pro?Wowza Media Server Pro

Возможности сервера

Server Capabilities

Wowza Media Server Pro общается с плеером клиента Flash Player по средством RTMP протокола. Это позволяет иметь большой спектр мультимедийных и интерактивных FLASH приложений.

The Wowza Pro server поддерживает flash media потоки, H.264/ACC медиа потоки, MP3 медиа потоки, , видео чаты и видео запись. Он также поддерживает компоненты со стороны сервера удаленных общих объектов {remote shared objects}. Wowza Media Server Pro позволяет вам включать интерфейс пользовательских приложений (пользовательских модулей), которые напрямую вызываются из Flash плеера.



Протокол сообщений в реальном времени

Real-Time Messaging Protocol (RTMP)

Протокол сообщений в реальном времени

RTMP базовый протокол и наиболее эффективный и самый быстрый из всех пяти вариантов. RTMPT туннельный вариант RTMP протокола , который может быть использован для туннеля через файерволлы, использующие стабильную пакетную инспекцию. RTMPE и RTMPTE декриптированные варианты RTMP and RTMPT протоколов что сохраняют данные предаваемые между Flash player и Wowza Pro. Wowza Media Server Pro включает би-направленную поддержку для Action Message Format (AMF) AMF3 и AMF0 и сериализации данных (AMF3 представлен в Flash Player 9 и ActionScript 3.0).

Протоколы

Real-Time Messaging Protocol (RTMP) протокол that Wowza Media Server Pro используемый для сообщения Flash плеером клиента. Wowza Media Server Pro поддерживает пять вариантов клиентов протокола: RTMP, RTMPE (декрептированный RMTP), RTMPT (туннельный), RTMPTE (декрептированный RTMPT) и RTMPS (RTMPT через SSL)Real-Time Streaming/Transport Protocols (RTSP/RTP)


Wowza Media Server Pro поддерживает Real-Time Streaming Protocol (RTSP) и Real-time Transport Protocol (RTP) для входящих потоков содержания H.264/HE-AAC. Это позволяет использовать не-RTMP основанную живую медиа декодировку с Wowza Pro. Эти потоки потом переводятся(не транскодируются) как необходимо для доставки в клиент Flash player . Для детальной информации по поддерживаемым RTSP/RTP декодерам посетите Wowza Media Server форум на http://www.wowzamedia.com/forums и выберите “Live Encoders” форум.

Потоки MPEG

MPEG Transport Streams (MPEG-TS)


Wowza Media Server Pro поддерживает MPEG Transport Streams (ISO 13818-1, H.222.0, MPEG-TS) для потоков содержащих H.264/HE-AAC. . Это позволяет использовать не-RTMP основанную живую медиа декодировку с Wowza Pro. Эти потоки потом переводятся(не транскодируются) как необходимо для доставки в клиент Flash player . Для детальной информации по поддерживаемым RTSP/RTP декодерам посетите Wowza Media Server форум на http://www.wowzamedia.com/forums и выберите “Live Encoders” форум.

Видео и аудио потоки

Wowza Media Server Pro может обеспечивать потоки видео и аудио контента в видео формате Flash video format (.flv), H.264/ HE-AAC media format (.f4v, .mp4, .m4a, .mov, .mp4v, .3gp, and .3g2) и MP3 format (.mp3) во Flash player клиент. Сервер поддерживает потоки всех вариантов видео, аудио, метаданных , которые могут сохраняться в Flash video файле, H.264/HE-AAC контента сохраняемый в MP4 (Quicktime контейнер) файле и аудио и MP3 метаданные сохраняемые в MP3 audio файле.

Wowza Media Server Pro также может использован для перенаправления SHOUTcast и Icecast MP3 и AAC+ audio потоков в клиент Flash player. Wowza Pro устанавливает одностороннюю обратную связь к источнику SHOUTcast или Icecast сервера для каждого уникального аудио канала. Wowza Pro, также может направлять встроенные (связанные) метаданные, такие как — название песни и артиста в клиент Flash player. SHOUTcast показывает данные возможности Wowza Pro.

Удаленные общие объекты Remote Shared Objects (RSO)

Wowza Media Server Pro вводит серверные компоненты

Общие данные синхронизируются посредством метода событийной синхронизации . RSO также могут исполняться сервером для вывода данных посредством клиентских сессий

Удаленные общие объекты ( Remote Shared Objects (RSO) ) . RSO расширение ActionScript объектов , которое позволяет обмениваться данными объектов Flash movies на исходных или различных клиентских машинах.

Пользовательские модули Процедура удаленного вызова (Remote Procedure Calls)

Wowza Media Server Pro может расширяться путём кодирования клиентских модулей , которые вызываются клиентом Flash Player. Пользовательские модули вводятся в Java и динамично подвязаны к работе сервера. Пользовательские модули замена FMIS скриптов со стороны сервера . Пользовательские модули используются что бы расширить потоковые возможности сервера. для Custom modules can also be used to extend the streaming capabilities of the server.Эти модули имеют полный доступ к видео и аудио потокам на пакетном уровне в обоих случаях для входа и выхода с сервера . Этот уровень доступа даёт глубокую интеграцию с другими медиа серверами или медиа доставляющими системами, такими как SHOUTcast, PBX телефонная система, видео обслуживающие системы и многое другое.

Интерфейс Пользовательского модуля используется для интеграции Wowza Media Server Pro с другими серверами на основе АPI прямо через Java, сервисно ориентированный архитектурный протокол Service-Oriented Architecture Protocol (SOAP), процедурами удаленного вызова remote procedure calls (RPC), Java Native Interface (JNI) и Java Database Connectivity (JDBC).

Архитектура сервера и иерархия

Wowza Media Server Pro «чистый» Java сервер. Он написан в Java 5 (aka 1.5)и может динамически расширятся используя пользовательские модули . Wowza Pro может быть установлен в любой оболочке , что поддерживает Java 5 виртуальную машину или более поздние версии. Wowza Pro устойчива, компактна и встраиваема. Множество функциональных качеств заложены в модулях( jar файлы) и может быть опущена, если какие то из свойств не используются для обеспечения урезания объема и обеспечения безопасности приложения.

Для логинизации приложения используется компонент log4j logging и полный доступ даётся в в файле конфигурации свойств. По умолчанию в установке сервера лог By default the server is setup to log to both the server console in a stripped down format as well as to log files using the W3C Extended Common Log Format (ECLF).

На вершине иерархии объектов сервера лежит объект виртуального хоста( IVHost ). Каждый объект виртуального хоста содержит комплект приложений объектов (IApplication) каждое из приложений в свoю очередь содержит комплект приложений типовых объектов (IApplicationInstance) . Все клиентские объекты (IClient), объекты медиа потоков (IMediaStreams) и объекты удаленных общих (IRemoteSharedObject) объектов являются дочерними приложениям типовых объектов.

ВЕРХУШКА УРОВНЕЙ ОБЪЕКТНОЙ ИЕРАРХИИ


Из плеера Flash приложение соединяется со специфическим объектом

НАПРИМЕР:

IVHost/IApplication/IApplicationInstance посредством NetStream соединение url.var nc:NetConnection;

nc = new NetConnection();

nc.connect(«rtmp://wowza.mycompany.com/myapplication/myinstance»);


Первая часть url определяет вариант протокола будет в использовании( (rtmp, rtmpt, rtmpe, rtmpte или rtmps). Часть домена “wowza.mycompany.com” определяет к какому виртуальному хосту подключать. Часть домена также содержит номер порта в форме[domain]:[port] (“wowza.mycompany.com:80”). “myapplication” часть определяет имя приложения и “myinstance” определяет имя типового приложения. Имя типового приложения может быть опущено. В таком случае будет установлено соединение с “_definst_” типовым приложением.

Памятка

Если имя порта опущено в цепочке, то будет назначено номер порта по протоколу по умолчанию

.

Протокольные варианты имеют следующие номера портов по умолчанию: rtmp & rtmpe: 1935, rtmpt & rtmpte: 80 и rtmps: 443.

Установив единожды к определенному типовому приложению со стороны клиента, приложение может создать или соединить с видео или аудио потоками, создавая новый объект NetStream.

Он может подсоединить или создать новый удаленный общий объект используя SharedObject.getRemote() интерфейс и может создать удаленный объект удаленного вызова , используя SharedObject.getRemote() интерфейс и может вызвать удаленные процедуры используя

NetConnection.call() интефейс . Примеры как это делается приведены далее в в этом документе.

привлекательный RTMP сервер для потокового видео, аудио, и содержания данных из и в клиент Adobe® Flash® Player, выполняет процедуру удаленного вызова и поддержки удаленных общих объектов (SHARED OBJECTS). Это альтернатива продуктов Adobe Flash Media Server t (FMIS и FMSS). В дополнение, Wowza Media Server Pro поддерживает протокол потока реального времени (RTSP), транспортный протокол реального времени (RTP) , потоков MPEG Transport Streams (MPEG-TS) для входящих потоков контента H.264/HE-AAC. Wowza Media Server Pro мощный и расширяемый сервер на основе Jawa , который может быть развернут на любой платформе и поддерживает Jawa (aka 1.5) или более поздние виртуальные машины.

1. Введение

Client to Server Calls Клиент на сервер вызовы

Client to Server Calls Клиент на сервер вызовы

Wowza Media Server Pro поддерживает тот же метод как и Adobe Flash Media Server для запросов от клиента на сервер. Из Flash player клиента NetStream.call метод может быть использован прямо как вызов с серверной стороны. Подпись для NetStream.call следующая:

ActionScript 2:

call(handlerName [, resultObj [, param1 … param(n)]]);

ActionScript 3:

call(handlerName , responder [, param1 … param(n)]);

handlerName

resultObj (AS2)

responder (AS3)

param1 … param(n)

Ниже ActionScript 3 код , кготорый показыает как вызвать метод серверной стороны“doSomething” и вывести результат значения в onResult операторе.

Выборочно параметры , которые проходят в методе со стороны сервера. ActionScript3 Responder объект будет получать результат функционального вызова. Установите на null, если функция не возвращает данных. справка к конечному объекту , которая содержит функцию onResult , когда вызов со тороны сервера будет выполнен. ПО умолчанию “null”. var nc:NetConnection;

function doSomethingResult(returnObj)

{

var param:String;

for(param in returnObj)

trace(«return: «+param+»=»+ returnObj[param]);

}

ncOnStatus = function(infoObj)

{

if (infoObj.code == «NetConnection.Connect.Success»)

{

nc.call(«doSomething», new Responder(doSomethingResult), «test param1»);

}

}

nc = new NetConnection();

nc.addEventListener(NetStatusEvent.NET_STATUS, ncOnStatus);

nc.connect(«rtmp://wms.mycompany.com/myapplication/myinstance»);

“Creating a Custom Module” главе говорится, как созадать метод сервеной стороны в Java.

Client to Server Calls Клиент на сервер вызовы

Typical Configuration Типичная конфигурация

Typical Configuration Типичная конфигурация

 

Давайте посмотрим на типичный VHosts.xml файл для оболочки виртуального хоста, который содержит два виртуальных хоста: “vhost1” и “vhost2”.

<Root>

<VHosts>

<VHost>

<Name>vhost1</Name>

<ConfigDir>/home/vhosts/vhost1</ConfigDir>

<ConnectionLimit>0</ConnectionLimit>

</VHost>

<VHost>

<Name>vhost2</Name>

<ConfigDir>/home/vhosts/vhost2</ConfigDir>

<ConnectionLimit>0</ConnectionLimit>

</VHost>

</VHosts>

</Root>

 

Структура директории для этих виртуальных хостов будет следующая:

[/home/vhosts]

[vhost1]

[applications]

[conf]

Application.xml

Authentication.xml

MediaCasters.xml

MediaReaders.xml

MediaWriters.xml

MP3Tags.xml

RTP.xml

Streams.xml

VHost.xml

rtp.password

[content]

[logs]

[vhost2]

[applications]

[conf]

Application.xml

Authentication.xml

MediaCasters.xml

MediaReaders.xml

MediaWriters.xml

MP3Tags.xml

RTP.xml

Streams.xml

VHost.xml

rtp.password

[content]

[logs]

памятка

 

См logging логгинг секцию для интсрукции как сконфигурировать для лога на каждый виртуальный хост.

Процесс кофигурации виртуального хостинга очень простой. Виртуальный хосты определены в VHosts.xml файле в conf директории. КАЖДЫЙ ВИРТУАЛЬНЫЙ хост получает собственную структуру директории , что содержит приложение application, conf и logs директории. Каждый виртуальный хост получает собственный набор конфигурационных файлов.

ОЧЕНЬ важно указать , что Wowza Media Server Pro только поддерживает ip-address/port базовый виртуальный хостинг и не поддреживает доменно названные виртуальные хостинги. Что это значит это то что вVHost.xml каждый виртуальный хост должен быть определен HostPort записями с уникальными ip-адресамиs и комбинациями портов, что не конфликтуют с другими виртуальными хостами , определенными в данном сервере. Далее представлена комбинация валидной конфигурации vhost портов:

vhost1:

<HostPort>

<IpAddress>192.168.1.2</IpAddress>

<Port>1935</Port>

<HostPort>

vhost2:

<HostPort>

<IpAddress>192.168.1.2</IpAddress>

<Port>1936</Port>

<HostPort>

 

Или:

vhost1:

<HostPort>

<IpAddress>192.168.1.2</IpAddress>

<Port>1935</Port>

<HostPort>

vhost2:

<HostPort>

<IpAddress>192.168.1.3</IpAddress>

<Port>1935</Port>

<HostPort>

 

Через JMX интерфейс и VHosts.xml конфигурационный файл хосты могут быть добавлены, модифицированы и удалены на лету без остановки и рестарта сервера. Операции виртуального хоста могут быть доступны через JConsole. ПЕРВОЕ , С работющим сервером запустите JConsole и выберите “MBean” таб. Откройте “WowzaMediaServerPro” группу и выберите “Server” объект. Операции виртуального хоста будут найдены под “Operations” табом. Три операции интересны:

startVHost — start an individual vhost by name

stopVHost — stop an individual vhost by name

reloadVHostConfig — reload the VHosts.xml configuration file

Для добавления виртуального хоста без рестарта , отредактируй “VHosts.xml” доавь новое определение виртуального хоста и скопируйте и сконфигурируйтеновый набор конфигурационных файлов как описано выше. затем, откройте JConsole и наведите наe “Server” объект и нажмите “reloadVHostConfig” для загрузки “VHosts.xml” файла. Наконец, введите Ия нового виртуального хоста в текстовый бокс за “startVHost” кнопкой и нажтие кнопку. Новый хост начнет работу незамедлительно.

(любовь морковь на сайте)

 

Typical Configuration Типичная конфигурация

9. Examples & AddOn Packages Примеры

9. Examples & AddOn Packages Примеры

 

What do each of these examples do and where do I get AddOn Packages?

 

 

owza Media Server Pro поставляется с многими примерами , что освещают функиональность сервера. Эта глава описывает эти примеры и применение. Все примеры с использованием ActionScript 3.0. Для большинства примеров, также ActionScript 2.0 введено в “clientAS2” папке, которая находится в каждой папке примеров. Wпамятка

в корневой папке каждого примера есть README.txt , содержащий руководство по функционированию примеров.

 

Wowza Media Systems также предлагает несколько AddOn Packages , которые расширяют и улучшают функциональность Wowza Pro. Новости по списку AddOn Packages :

http://www.wowzamedia.com/packages.html

 

(cool video chat)

9. Examples & AddOn Packages Примеры