Запуск и остановка сервера

Запуск и остановка сервера

Windows: Standalone

Под Windows, Wowza Media Server Pro может запускаться и останавливаться из DOS коммандера быстро, из “Start” меню в Windows “Services” административное устройство. Что бы запустить сервер из DOS command prompt, откройте DOS . Измените директорию (“cd”) в “bin” в инсталляционной папке. По умолчанию расположение папки:

cd %WMSAPP_HOME%\bin

Что бы запустить сервер наберите в “.\startup.bat” и выйдите. Скрипт запуска откроет новое окно консоли , которая содержит все руководства по залогиванию. Для остановки сервера закройте консольное окно кликнув га ближайшем окне или вводом “.\shutdown.bat” команды в DOS. Сервер таже может быть запущен и остановлен из “Start” меню , используя “Server Startup” и “Server Shutdown” раздел меню в “Programs>Wowza Media Server Pro” группе.

Windows: СЕРВИС

Чтобы запустить сервер как сервис Windows, откройте “Settings>Control Panel>Administrative Tools>Services” административной панели и расположите “Wowza Media Server Pro” в списке. Затем, просто откройте панель и выберите “Start” из контекстового меню. Для остановки выберите “Stop” в том же контекстовом меню. Для конфигурации запуска при рестарте Windows , выберите в “Properties” правым кликом на контекстовое меню, установите “Startup type” на “Automatic” и жмите “OK” для сохранения настройки.

Памятка

По умолчанию Windows сервис запускается под “Local System Account”. Это может ограничивать как Wowza Pro согласовывает работу с выбранной операционной системой. Например, вы можете не запуститься в Wowza Pro, используя JConsole/JMX или вы на выходе можете иметь потоки контента из UNC прохода. Что бы обеспечить маршрутизацию, модифицируйте работу сервиса как по имени юзера в “Log On” таблице диалогового окна сервис настроек.

Mac OSX: Standalone

На Mac OS X сервер запускается в режиме standalone mode так же путем вызова из “Server Startup” скрипта в “/Applications/Wowza Media Server Pro 1.7.1” или открыв “Terminal” окно и введите:

cd /Library/WowzaMediaServerPro/bin

./startup.sh

Mac OSX: СЕРВИС

Запуск серва как Mac OS X запускаемого сервиса, откройте “Terminal” окно и введите:

sudo launchctl load -w /Library/LaunchDaemons/com.wowza.WowzaMediaServerPro.plist

Остановка — введите:

sudo launchctl unload -w /Library/LaunchDaemons/com.wowza.WowzaMediaServerPro.plist

Linux: Standalone

Под Linux и Mac OS X сервер может быть запущен из командной оболочки или запущен как сервис. Из командной строки, введите следующие команды:

cd /usr/local/WowzaMediaServerPro/bin ./startup.sh

остановка :

./shutdown.sh

Linux: сервис

Для запуска сервера как Linux сервис, откройте командную строку и введите одну из команд (они отличны в разных Linux ДИСТРИБУТИВАХ ):

/sbin/service WowzaMediaServerPro start

или

/etc/init.d/WowzaMediaServerPro start

Для остановки , введите одну из этих команд:

/sbin/service WowzaMediaServerPro stop

Или /etc/init.d/WowzaMediaServePro stop

Памятка

init.d сервисе может отличаться в дистрибутивах Linux . Проконсультируйтесь в руководстве по LINUX, если данные команды отличны в дистрибутиве Linux. Памятка

Linux сервис субсистема скриптов не использует полный $PATH определитель для обнаружения расположения Linux команд. Он использует известный как “init” проход. Это может привести к Linux изданию , где по умолчанию расположение Java может быть не найдено при вводе “init” прохода. См. форум для деталей:

http://www.wowzamedia.com/forums/showthread.php?t=1511

Метод запуска основанный на

Запуск и остановка сервера

ВВОД СЕРИЙНОГО НОМЕРА

ВВОД СЕРИЙНОГО НОМЕРА

Wowza Media Server Pro ХРАНИТ ДАННЫЕ О СЕРИЙНЫХ НОМЕРАХ (для каждой платформы):

%WMSCONFIG_HOME%\conf\Server.license — Windows

/Library/WowzaMediaServerPro/conf/Server.license — Mac OS X

/usr/local/WowzaMediaServerPro/conf/Server.license — Linux/Unix

Чтобы изменить серийный номер, отредактируйте данные файлы и введите новый номер. При старте сервера в режиме standalone , четыре последних цифры буду отображены в окне консольных команд.

ВВОД СЕРИЙНОГО НОМЕРА

Конфигурация сервера

Конфигурация сервера

Сервер конфигурируется набором файлов XML, конфигурация и свойства файлов в “conf” папке главной паке приложений. Эти файлы конфигурации могут быть прочтены при работающем сервере. Эти файлы могут быть отредактированы стандартным текстовым редактором.

Памятка

Для новейшей информации см. the “General Tuning Instructions” на форуме:

http://www.wowzamedia.com/forums/showthread.php?t=1320

Server.xml

Server.xml файл конфигурации используется для настройки оболочки контейнера сервера.

CommandInterface/HostPort – DomainName или IpAddress и порт

ip адрес и порт используются для командного интерфейса сервера. Командный интерфейс прямое сокет соединение интерфейса, что используется классом “BootStrap” для закрытия и рестарта запущенного Wowza Pro сервера. Для обеспечения безопасности использования сервера возможно опустить эту секцию в файле Server.xml . Если опустите , то сервер будет функционировать нормально, но не будет отвечать на команды рестарт и закрыть.

JMXRemoteConfiguration, AdminInterface

Конфигурация удаленного интефейса Java Management Extensions (JMX) . СМ. “Server Management Console and Monitoring” ГЛАВУ Консоль управления и мониторинга сервером .

UserAgents Юзер Агенты

“|” (трубка) разделенный состав агентов по браузеру , который при использовании интерпретируется как RTMPT/RTMPTE/RTMPTS соединение.

TransportThreadPool/PoolSize, HandlerThreadPool/PoolSize

TransportThreadPool/PoolSize и HandlerThreadPool/PoolSize определяет максимальный размер уровней серверных соединений в пулах : транспортном и обработчика. В транспортном пуле используется чтобы читать /записывать данные из транспортного сокета. Линия пула обработчика используется для обработки входящих сообщений. Уровни линий серверного пула используются только в виртуальном пул хосте установлен размер 0. Этот уровень служит для управления и команды остановки . Из-за этого размер не должен быть установлен менее 10.

RTP/ DatagramStartingPort Порт

RTP/DatagramStartingPort наименьший порт UDP по объему подписанный для передачи UDP потоков. Порты назначены при старте и их объем увеличивается на 1. Наиболее распространенная объем для базовых RTSP/RTP серверов 6970. Если вы собираетсесь поддерживать RTSP/RTP, чистый RTP или MPEG-TS потоки , то лучше открыть порт UDP 6970-9999.

ServerListeners/ServerListener — BaseClass

ServerListeners это список Java классов загруженных Wowza Pro server при инициализации сервера и обозначают события в процессе жизненного цикла сервера. Пользовательские классы могут быть использованы, что бы расширить сервер в области функциональности таких как интфейс SOAP или интеграция с servlet контейнером. Проконсультируйтесь com.wowza.wms.server.IServerNotify2 о классах в Wowza Media Server Pro Server Side API документации более детально.

VHostListeners/VHostListener — BaseClass

VHostListeners список Java классов , которые загружаются Wowza Pro server при инициализации сервера при уведомлении событий во время работы сервера. Эти пользовательские классы могут быть использованы для мониторинга и остановки виртуального хоста и могут быть использованы для перезаписи информации о соединении по каждому соединению отдельно. Проконсультируйтесь com.wowza.wms.vhost.IVHostNotify class в Wowza Media Server Pro Server Side API документации более детально.

VHosts.xml

VHosts.xml файл конфигурации служит для определения оболочки хоста. По умолчанию сервер идет с односторонней виртуальной хост оболочкой называемой _defVHost_. Полное описание этого файла конфигурации можете найти в “Virtual Hosting” (виртуальный хостинг) главе данного документа.

VHost.xml

VHost.xml конфигурация используется для управления общей работой виртуального хоста. Служит жля установки серверных портов и ip адресов и конфигурации размера линий. Ниже описание каждой настройки в VHost.xml файле.

HostPortList/HostPort – DomainName или IpAddress, Port и SSLFactoryClass

Список ip адресов и портов , что прослушиваются сервером для входящих соединений. Вы можете задать SSL класс , что позволит ввести SSL инкриптированные сервисы. Четыре дочерних элемента используются для определения хост порта: “DomainName”, “IpAddress”, “Port” и “SSLFactoryClass”. “DomainName” и “IpAddress” обоюдно эксклюзивны. Если “DomainName” выбрано, сервер будет использовать DNS поиск для определения ip адреса, который будет использован сервером для этого соединения. Если “DomainName” или “IpAddress” “*” (asterisk) выбрано , сервер быдет прослушивать местные все! ip адреса для входящих соединений. Без-SSL соединение будет воспринимать RTMP, RTMPE, RTMPT , RTMPTE, RTSP и HTTP соединения. SSL соединения могут только воспринимать RTMPS.

HostPortList/HostPort/ProcessorCount

Это количество линий для входящих запросов через сокет соединения. См. “General Tuning Instructions” форума для свежих предложений по настройке.

HostPortList/HostPort/SocketConfiguration – ReuseAddress, ReceiveBufferSize, SendBufferSize, KeepAlive и AcceptorBackLog

Эта секция детальная конфигурация сокет соединений , создаваемых HostPort определителем в процессе работы. Через эти настройки вы можете регулировать воспроизведение сокет соединений , которые будут использованы для пересылки данных в и из Wowza Pro сервера. SendBufferSize и ReceiveBufferSize — две самые важные настройки. Они определяют размер буферной памяти используемой при пересылки данных через сокет соединения. См. “General Tuning Instructions” форум для более свежей информации по настройкам.

ReuseAddress и KeepAlive настройки обе используются как достоверные и предоставляются только для общей полноты.

AcceptorBackLog настройка управляет количеством запросов TCP соединений, которые могут быть ограничены перед тем как новый запрос на соединение отклонён. Wowza Pro сервер может отвечать на запрос TCP соединения очень быстро и как только возможно. Объем задается не менее 50. Он может быть задан в размере -1 что позволит операционной системе управлять объемом(это не очень классная идея , некоторые платформы могут задавать малый объем ,что сильно увеличивает время соединения).

HostPortList/HostPort/HTTPProvider – BaseClass и Свойства

Это справочная часть пользовательских Java классов , что будет использоваться в сервисе входящих HTTP запросов через HostPort. Wowza Pro серевер идет с тремя HTTPProvider классами:

com.wowza.wms.http.HTTPServerVersion Returns version number

com.wowza.wms.http.HTTPConnectionInfo Returns connection info

com.wowza.wms.http.HTTPServerInfoXML Returns detailed info in XML

HTTPServerVersion класс возвращает в HTML текущую серверную версию. HTTPConnectionInfo класс возвращает текущее кол-во соединений к серверу в форме «server=#”. Этот класс может быть использован для обеспечения баланса загрузки информации во Flash клиент. “HTTPServerInfoXML” возвращает детали соединения в XML. Проконсультируйтесь в com.wowza.wms.http. IHTTPProvider класс в Wowza Media Server Pro Server Side API документации для создания вашего HTTPProvider класса.

TransportThreadPool/PoolSize, HandlerThreadPool/PoolSize

TransportThreadPool/PoolSize и HandlerThreadPool/PoolSize определяет максимальный размер линий виртуального хоста в транспортном и пуле обработчика . Транспортный пул служит для чтения и записи данных из транспортных сокетов. Пул обработчика служит для обработки входящих сообщений. Если размер пула установлен на ноль для соответствующего типа , уровень пула сервера соответствующего типа будет использован в виртуальном хосте. СМ. “General Tuning Instructions” ФОРУМ для советов по последним настройкам.

IdleWorkers – WorkerCount, CheckFrequency

IdleWorkers/WorkerCount управляет количеством потоков используемых при генерации событий при простое. IdleWorkers/CheckFrequency время в миллисекундах между проверками что бы видеть , если клиент был в простое для Client/IdleFrequency. IdleWorkers/CheckFrequency должны быть минимум в четыре раза меньше, чем Client/IdleFrequency. См . “General Tuning Instructions” ФОРУМ для советов по последним настройкам.

NetConnections – ProcessorCount, IdleFrequency

NetConnections/ProcessorCount кол-во потоков используемых для сервиса исходящих соединений между Wowza Pro серверами. NetConnections/IdleFrequency время в миллисекундах между NetConnection событий простоя . См. “General Tuning Instructions” ФОРУМ для советов по последним настройкам.

 

NetConnection/SocketConfiguration – ReuseAddress, ReceiveBufferSize, SendBufferSize и KeepAlive

Это секция детальной конфигурации сокет соединений используемых между Wowza Pro серверами. См. “General Tuning Instructions” ФОРУМ для советов по последним настройкам.

 

HTTPTunnel/KeepAliveTimeout

Для живой поддержки RTMPT, RTMPTE и RTMPS соединений.

Client — ClientTimeout, IdleFrequency

Client/ClientTimeout время в миллисекундах сервер ожидает перед закрытием , если соединение не установлено с клиентом. Client/IdleFrequency время в миллисекундах между событиями простоя.

Для базового потока видео по требованию размер в 250 миллисекунд обеспечит наибольшую устойчивость и

надежность по сравнению с соотношением производительности. Для живых потоков размер между 125 и 250 миллисекундами более желателен. Это увеличит частоту, с которой медиа данные посылаются во Flash клиент. Если вы редактируете объем, будьте уверены ,что также отрегулировали IdleWorkers/IdleFrequency по размеру в четыре раза меньше, как минимум. RTP/ DatagramConfiguration – ReuseAddress, ReceiveBufferSize, TrafficClass и MulticastTimeout, [Unicast|Multicast][Incoming|Outgoing]/ProcessorCount

Эта секция детальной конфигурации UDP сокетов , используемых между Wowza Pro и декодеров на базе RTP. ReceiveBufferSize две наиболее важных настройки в группе. Они определяют размер буфера памяти используемый при трансфере данных через сокет соединение. См. “General Tuning Instructions” ФОРУМ для советов по последним настройкам.

 

ReuseAddress, TrafficClass и MulticastTimeout даются для настройки полноты работы.

 

 

 

“ProcessorCount” возможности связанны с “UnicastIncoming”, “UnicastOutgoing”, “MulticastIncoming” и “MulticastOutgoing” управляют количеством потоков для работы с UDP соединениями связанных с МPEG-TS потоками. Эти возможности в данное время не используются и будут добавлены в следующих версиях программного обеспечения Wowza Pro .

Application/ApplicationTimeout

Время в миллисекундах сервер будет ожидать перед закрытием приложения к которому нет подсоединений клиента. Размер в ноль будет удерживать приложение в активном состоянии пока виртуальный хост не будет остановлен.

Application/PingTimeout

RTMP протокол включает механизм пинга соединения. Этот таймаут максимальное время в миллисекундах Wowza Pro будет ожидать ответ от клиента.

Application/ValidationFrequency

Если соединение с Flash клиентом не посылает данные в Wowza Pro сервер вовремя определенное настройками (в миллисекундах), Wowza Pro will посылает RTMP пинг сообщение в клиент , что бы проверить , что соединение еще валидно и прослушивается.

Application/MaximumPendingWriteBytes

Максимальное кол-во байтов , которое может быть в очереди на отправку клиенту до момента его отключения . Установите на ноль что бы убрать эту проверку. Запрещенные байты в очереди будут проверены в процессе валидации клиента.

Application/MaximumSetBufferTime

Максимальное кол-во в миллисекундах которое дает сервер со своей стороны для вызова со стороны клиента в NetStream.setBufferTime(сек). Установите возможность на ноль , чтобы отключить проверку. По умолчанию размер 60000 (или 60 сек). Эта заключается в нестыковке с Replay Media Catcher, который устанавливает большой клиентской стороны буфер который в состоянии

обмануть сервер на отправку всей массы информации и данных одновременно . Это может привести к задержкам памяти Java . Properties/Property – Name, Value

Свойства в форме имени , свйоств могут быть прикреплены парно к определителю виртуального хоста. Эти свойства доступны на серверной части API через IVHost.getProperties() интерфейс.

Streams.xml

Streams.xml конфигурация используется для определения типа потока со стороны сервера (серверная часть NetStream реализована). Ниже описание каждой настройки в Streams.xml файле.

Stream – Name, Description, ClassBase, ClassPlay

Определение потока состоит из “Name”, “Description”, “ClassBase”, “ClassPlay”. “Name” элемент должен быть уникальным и его определитель используется для справки типа потока в Application.xml файле (описанном выше) так же как и форма Flash плеера клиента. “Description” элемент используется только для отладки. “ClassBase”и “ClassPlay” определяет Java классы, которые будут обработаны в сервисе данного потока. Концепция типов потоков описана ниже в “Client Side Scripting” разделе документа.

Properties/Property – Name, Value Свойства — ИМЯ , РАЗМЕР

Свойства в форме имени , свойств могут быть прикреплены парно к определителю виртуального хоста. Эти свойства доступны на серверной части API через IStream.getProperties() интерфейс.

 

Памятка

Wowza Pro включает три разных метода поиска потока видео; “videoKeyFrame”, “audio” и “enhanced”. Метод поиска определяется “seekTarget” свойством по «умолчанию”, ‘record” и “file” типов потоковs. “videoKeyFrame” метод (по умолчанию) будет искать ближайший ключевой фрейм. “audio” метод будет искать ближайший аудио пакет и будет воспроизводить ключевой видео фрейм и будет использовать предыдущий ключевой как воспроизводимое видео и начнет обратно воспроизводить видео фрейм пока не достигнет следующего ключевого видео фрейма. “enhanced” метод (работает только с Flash player 9,0,0 или выше) будет искать ближайший фрейм и ,если нужно, сгенерирует ключевой. “enhanced” метод потребляет максимально системные ресурсы.

MP3Tags.xml

MP3Tags.xml конфигурационный файл, используемый для определения имени свойства , что использует onId3(var info:Object) info объект , проигрывания MP3 файл. Каждая из ID3V2 метки, что встроена в MP3 файл идентифицируется четырьмя параметрами определителями ( см. http://www.id3.org/). Этот файл конфигурации используется как карта этих 4 параметров для более понятных наименований.

MediaReaders.xml

MediaReaders.xml конфигурационный файл ипользуется для определения классов Java , которые считывают медиа формат файлы Flash media, H.264/HE-AAC и MP3 . Он тоже может быть использован для конфигурации для любых пользовательских типов медиа файлов .

MediaWriters.xml

MediaWriters.xml файл конфигурации использует для определения Java классов которые используются для записи записанных flv файлов. Этот кофигурацимонный файл позволяет определять тип определения собственных классов , которые запрашивает сервер при записи файлов сервером.

RTP.xml

RTP.xml файл конфигурации определяет Java классы для трансляции исходных RTP медиа пакетов в о Flash медиа пакеты.

Authentication.xml

Authentication.xml файл конфигурации используемый для определения Java классов настроек для обеспечения сохранности RTSP соединения с сервером. По умолчанию три метода аутентификации: нет (нет аутентификации ), базовый (password и username посылаются текстом) и дайджест (password урезан с использованием MD5 и не передается текстом по сети). Usernames и passwords хранятся в файле [install-dir]/conf/rtp.password.

 

 

 

 

 

 

 

 

Формат этого файла это строка каждого юзера с именем юзера и через пробел пароль. Метод аутентификации (RTP/Authentication/Method) может быть установлен для всего виртуального хоста в VHost.xml или на основе приложения в Application.xml.

MediaCasters.xml

MediaCasters.xml конфигурационный файл, который определяет сервисы что подсоединяют к другим потокам серверов обеспечивающим контент для Wowza Media Server Pro. Пример одного из таких сервисов есть SHOUTcast. Это также конфиграционный файл репитора живых потоков.

log4j.properties

log4j.properties файл используется для настройки логгинга сервера. Система логгинга использует Java log4j. По умолчанию сервер настроен, что бы логиниться. По умолчанию сервер сконфигурирован на основе лога в окне консоли W3C Extended Common Log Format (ECLF) для лог файлов. Детальная информация по данному разделу как конфигурировать логгинг найдете в разделе «Logging” этой главы.

Application.xml

Application.xml конфигурационный файл находиться в корне “conf” папки по умолчанию файл конфигурации приложения. Следующая секция как приложение конфигурации работает.

(love LOVE love здесь)

Конфигурация сервера

Конфигурация работы

Конфигурация работы

Настройки связанные с работой Java оболочки, такие как команды вызывающиеe Java и максимальный размер Java, управляется через набор скриптов и конфигурационных файлов. Расположение этих файлов различно на разных платформах и метод запроса на сервер. Ниже описание данных файлов.

bin\ setenv.bat (Windows)

bin\setenv.bat вызывается когда сервер запускается из командной строки. Наиболее важные настройки:

set _EXECJAVA=java # Command used to invoke java

set JAVA_OPTS=»-Xmx768M» # Command line options for java command

bin\WowzaMediaServerPro-Service.conf (Windows)

bin\WowzaMediaServerPro-Service.conf конфигурационный файл используется когда вызывается сервер как Windows сервис. Настройки самые важные в этом файле:

wrapper.java.command=java # Command used to invoke java

wrapper.java.initmemory=3 # Initial Java Heap Size (in MB) wrapper.java.maxmemory=768 # Maximum Java Heap Size (in MB)

/Library/WowzaMediaServerPro/bin/setenv.sh (Mac OS X)

bin/setenv.sh вызывается когда сервер запущен в standalone и сервис режиме. Настройки самые важные в этом файле :

_EXECJAVA=java # Command used to invoke java

JAVA_OPTS=»-Xmx768M» # Command line options for java command

/usr/local/WowzaMediaServerPro/bin/setenv.sh (Linux)

bin/setenv.sh вызывается когда сервер запущен в режиме standalone. Настройки самые важные в этом файле :

_EXECJAVA=java # Command used to invoke java

JAVA_OPTS=»-Xmx768M» # Command line options for java command

/etc/WowzaMediaServerPro/WowzaMediaServerPro-Service.conf (Linux)

/etc/WowzaMediaServerPro/WowzaMediaServerPro-Service.conf вызывается когда сервер запущен в режиме сервис. Настройки самые важные в этом файле :

_EXECJAVA=java # Command used to invoke java

JAVA_OPTS=»-Xmx768M» # Command line options for java command

Конфигурация приложения

Конфигурация приложения делается через файл конфигурации XML . Когда Flash клиент делает запрос в Wowza Pro сервер, Wowza Pro сервер идет по следующей схеме ([application] имя приложения к которому клиент подсоединяется):

Проверяет имя папки приложения “[install-dir]/applications/[application]”. Если папка присутсвуект идет к шагу 2. Если папки нет , то связь прерывается.

Проверьте на наличие файла конйигурации приложения“[install-dir]/conf/[application]/Application.xml”. Если файл присутствует ,то он загружает его и не идет к шауг 3. Если нет , то идет к шагу 3.

Загружает файл конфигурации приложения “[install-dir]/conf/Application.xml”.

 

Application.xml

Ниже описание каждой настройки в файле Application.xml .

Application/ApplicationTimeout

Время в миллисекундах сервер будет ждать перед закрытием приложения к которому нет клиентских соединений. Размер в ноль будет удерживать приложение в работе пока виртуальный хост не будет остановлен . Если размер(значение) не задан (секция закомментирована) будет использована настройка в VHost.xml .

Connections/AutoAccept Соединения /АВТОприем

Возможные значения “true” или “false”. Настройка определяет, будет ли приложение автоматически принимать запрос на соединение. Если “true” все входящие сообщения будут автоматически приняты. Если “false” приложению необходимо сделать с серверной стороны запрос к “client. acceptConnection()”, что бы принять входящий запрос на соединение (см. “Creating a Custom Module” для деталей).

Connections/AllowDomains Соединения/РазрешитьДомены

Connections/AllowDomains разделяемый запятыми список доменных имен или ip адресов , для которых соединение будут приниматься. Имена доменов или ip адресов, которые указаны здесь представляют доменное имя или ip адрес Flash swf файла что соединяется с Wowza Pro сервером ил ip дрес клиента подсоединяемого к Wowza Pro. Если значение оставить пустым все соединения с ip и доменов будут приняты. Например, если у вас .swf file , что расположен в url:

http://www.mycompany.com/flash/myflashmovie.swf

Для конфигурации сервера для в режиме доступа к Wowza Pro server только с вашего домена установите AllowDomains на http://www.mycompany.com. Вы можете добавить ip адрес (или ip ip адрес wildcard) что бы принимать соединения с определенных ip. Вы можете фильтровать по ip адресам , когда работаете с клиентским декодером , таким как On2 Flix Live , который не валидирует реферов.

Вы можете использовать the wildcard “*” что бы обозначить часть домена или ip адреса. Например , вы хотите использовать все домены заканчивающиеся на mycompany.com — вам надо указать доменное имя *.mycompany.com.

Так это позволяет обрабатывать домены перед событийным методом , т.е методом onConnect. Если вы хотите детализировать доступ к вашему серверу, вы можете перепрыгнуть метод onConnect событийным регулятором в пользовательском модуле, представив свой фильтр механизм.

Streams/StreamType Потоки/Типы потоков

Имя ( как определено в файле Streams.xml) по умолчанию тип потока для приложения. Разъяснения можно найти в “Stream Types” секции “Client Side Scripting” глава этого документа.

Streams/StorageDir и SharedObjects/StorageDir

Streams/StorageDir полный проход к директории, где считываются и пишутся файлы соответствующих потоков (.flv) в и из. SharedObjects/StorageDir полный путь к директории где это приложение считвывает и пишет соответствующие файлы удаленных общих объектов в и из. Если эти свойства оставлены пустыми, приложение будет использовать следующие директории s Streams/StorageDir и SharedObjects/StorageDir:

%WMSCONFIG_HOME%/applications/[application]/streams/[appinstance]

%WMSCONFIG_HOME%/applications/[application]/sharedobjects/[appinstance]

%WMSCONFIG_HOME%

the value of the environment variable WMSCONFIG_HOME [application] the name of the application [appinstance] the name of the application instance Несколько динамичных свойств могут быть использованы как часть StorageDir пути, используя синтаксис ${[variable-name]}.Следующие возможности доступны :

${com.wowza.wms.AppHome} — Application home directory

${com.wowza.wms.ConfigHome} — Configuration home directory

${com.wowza.wms.context.VHost} — Virtual host name

${com.wowza.wms.context.VHostConfigHome} — Virtual host config directory

${com.wowza.wms.context.Application} — Application name

${com.wowza.wms.context.ApplicationInstance} — Application instance name

For example the default Streams/StorageDir can be specified using the path:

${com.wowza.wms.ConfigHome}/applications/${com.wowza.wms.context.Application}/

streams/${com.wowza.wms.context.ApplicationInstance}

Streams/Properties ПОТОКИ/ВОЗМОЖНОСТИ

Streams/Properties возможности, которые могут быть изменены в определенном [install-dir]/conf/Streams.xml на основе на-приложение. Наприме , что бы переключить на улучшенный поиски любого видео или по запросу типа потока, добавьте свойство “seekTarget” к набору свойств и установите качество на “enhanced”.

Client/IdleFrequency КЛИЕНТ/ЧАСТОТА ПРОСТОЯ

Client/IdleFrequency время в миллисекундах между событиями простоя. Если размер установлен в -1 будет использовано время из VHost.xml. Если размер установлен другой не -1 он опустит VHost.xml для всех соединений определит по Application.xml файлу. См. VHost.xml описание .

Client/Access – StreamReadAccess, StreamWriteAccess, StreamAudioSampleAccess, StreamVideoSampleAccess, SharedObjectReadAccess и SharedObjectWriteAccess

Client/Access Клиент /Доступ конфигурационные параметры управляют досту4пом по умолчанию клиентскими соединениями к активам соединенным с определенным Wowza Pro приложением. Индивидуальный клиентский доступ может модерироваться через серверную часть.Это наиболее часто используется при соеднинении и настройке onConnect или onConnectAccept событиями.Каждое из этих настроек , разделеное через запятую список имен соответсвующих имени актива (имени потока или удаленного общего потока ) для управления доступом.Если часть имени актива соответсвует одному из жлементов в списке , то доступ даётся. Размер поля чевствителен при работе. Если параметры пусты(blank) доступ будет закрыт для всех клиентов.Если будет установлено на “*” параметр, то доступ будет дан всем клиентам. Пример, если StreamReadAccess установлен на “testa/testb;testc”, далее следующие потоки будут разрешены по правилу:

testc/test Granted Access

testC/test Denied Access (incorrect case)

testa/testb Granted Access

testa/testb123 Granted Access

testa/testb/file123 Granted Access

testa/test Denied Access (incomplete match)

StreamReadAccess: управляет доступом для просмотра и прослушивания

StreamWriteAccess: управляет доступом на запись или публикацию

в NetStream объекте.

StreamVideoSampleAccess: управляет доступом в вызове

StreamAudioSampleAccess: управляет доступом для вызова

SharedObjectReadAccess: управляет доступос для считывания свойств из

SharedObjectWriteAccess: управляет доступом для записи свойств в

RemoteSharedObject удаленный обший объект. RemoteSharedObject удаленных обших объектов. SoundMixer.computeSpectrum() для грабинга волновых данных объекта NetStream . BitmapData.draw() для снятия снимка NetStream объекта. RTP/Authentication/Method /Аутентификация/метод

Метод аутентификации используется для сохранения RTSP соединения в Wowza Pro. Аутентификационный метод определяется и настраивается в Authentication.xml. По умолчанию три метода аутентификации : нет (нет аутентификации), базовый (пароль и имя передаются чисто текстовой ) и дайджест ( пароль бьется , использованием MD5 и не передаются в сеть в текстовом виде). Имя и пароль хранятся в файле rtp.password. Формат этого файла это строка с именем и паролем через пробел. Метод аутентификации может быть выставлен в виртуальном хосте VHost.xml.

RTP – AVSyncMethod, MaxRTCPWaitTime

Эти две настройки управляют тем, как Wowza Pro синхронизирует аудио и видео каналы, получая RTP поток. AVSyncMethod конфигурирует методологию, используемую для синхронизации аудио и видео каналов. There are three possible values; senderreport (use the Sender Report (SR) packets that are sent over the Real-time Control Protocol (RTCP) channel), rtptimecode (assume the RTP timecodes are absolute timecode values), systemclock (synchronize based on the system clock). The default value is senderreport. MaxRTCPWaitTime is the maximum time in milliseconds Wowza Pro will wait to receive a Sender Report (SR) packet over the Real-time Control Protocol (RTCP) channel. If not SR packets are received within this time period the server will default to using the rtptimecode method.

RTP/Properties /

RTP/Properties свойства , которые могут быть расширены в [install-dir]/conf/RTP.xml на основе на -приложение.

MediaCaster/Properties

MediaCaster/ свойства , которые могут быть расширены в [install-dir]/conf/MediaCasters.xml на основе на-приложение. Например , что бы установить время потока за пределы размера какого то вида воспроизведенеия , добавьте свойство “streamTimeout” к набору свойств и установите размер отличный от нуля.

MediaReader/Properties

MediaReader/Properties свойство , которое может быть разширено в [install-dir]/conf/MediaReaders.xml на основе на-приложение.

Modules/Module – Name, Description and Class Имя ,описание и класс

Секция модулей – список модулей что доступны данному приложению. “Name” и “Description” элементы только для логинга и разбагировки. “Class” элемент полное пакетное имя и имя класса модуля. См “Server Side Modules” как сконфигурировать данный модуль.

Properties/Property – Name, Value имя ,объём

Properties in the form of name value pairs can be attached to an application definition. All application properties are copied to child application instances upon instance creation. These properties are available in the server side API through the IApplicationInstance.getProperties() interface.

NetStream объектов.

Конфигурация работы

Logging Логгинг

 

Logging Логгинг

Wowza Media Server Pro использует apache.org log4j библиотеку как свой логгинг введение. The log4j logging system provides ample functionality for log formatting, log rolling and log retrieval for most applications. By default, Wowza Media Server Pro is configured to log basic information to the server console and detailed information in the W3C Extended Common Log Format (ECLF) to a log file. The log files are written to the following folder:

[install-dir]/logs

Wowza Media Server Pro логгинг может генерировать следующие лог поля:

date

Дата лог события

time

Время лог события

tz

Временная зона лог события

x-event

Лог событие (см ниже)

x-category

Категория лог события (сервре, vhost, приложение , сессия, поток)

x-severity

Лог аварийных событий (DEBUG, INFO, WARN, ERROR, FATAL)

x-status

Статус лог события (см таблицу ниже)

x-ctx

Экстра сведения в контексте лог события

x-comment

Экстра комментарии о лог событии

x-vhost

Имя виртуального хоста, из которого события генерировались

x-app

Имя приложения, из которого событие было сгенерировано

x-appinst

Имя типового приложения, из которого событие было сгенерировано

x-duration

Время в секундах Время в секундах Time in seconds that this event occurred within the lifetime of the x-category object

s-ip

IP адрес по которому сервер получает это событие

s-port

Номер порта, по которому сервер получает это событие

s-uri

Полная строка соединений, по которой сервер получил данное событие

c-ip

Клиент соединение IP адрес

c-proto

Клиент соединение протокол (rtmp, rtmpe, rtmpt(HTTP-1.1), rtmpte(HTTP-1.1), rtmps(HTTP-1.1))

c-referrer

URL Flash ролика , что инициализирует соединение с сервером

c-user-agent

Версия Flash клиента, что инициализирует соединение с сервером

c-client-id

Клиент ID номер подписанный сервером для соединения

cs-bytes

Общее кол-во байтов переведенных от клиента на сервер ( аккамулятивно )

sc-bytes

Общее кол-во байтов переданных от сервера клиенту (аккамулятивно)

x-stream-id

ID НОМЕРА ПОТОКА ПОДПИСАННЫЕ СЕРВЕРОМ ДЛЯ ОБЪЕКТА ПОТОКА

x-spos

Позиция в миллисекундах для медиа потока

cs-stream-bytes

Общее кол-во байтов переданных из клиента на сервер для потоков x- потоков ID (АККАМУЛЯТИВНО)

 

sc-stream-bytes

Общее кол-во байтов переданных с сервера клиенту для потока x-stream-id (АККАМУЛЯТИВНО)

x-sname

Имя потока x-stream-id

x-sname-query

Запрос параметров потока x-stream-id

x-file-name

Полный путь файла потока x-stream-id

x-file-ext

Расширение файла потока x-stream-id

x-file-size

Размер файла в байтах для потока x-stream-id

x-file-length

Длина файла в секундах потока x-stream-id

x-suri

Полная полоса соединения для потока x-stream-id (включая параметры запроса)

x-suri-stem

Полная полоса соединения для потока x-stream-id (исключая параметры запроса)

x-suri-query

Параметры запроса для полосы соединения

cs-uri-stem

Полная полоса соединения для потока x-stream-id (без параметров запроса )

cs-uri-query

Параметры запроса для потока x-stream-id

 

Wowza Media Server Pro генерирует следующие лог события :

 

comment

 

 

комментарий

server-start

Сервер старт

server-stop

Сервер закрыт

vhost-start

Виртуальный хост старт

vhost-stop

Виртуальный хост закрыт

app-start

Application instance start

app-stop

Application instance shutdown

connect-pending

Запрет разрешения на соединение приложением и менеджером лицензии

connect

Результат соединения

connect-burst

Connection accepted in burst zone

disconnect

Клиент (сессия) разъединение с сервером

play

Проигрыватель стартовал на потоке

pause

Проигрыватель на паузе на потоке

unpause

Проигрыватель отключена пауза на потоке

seek

Seek has occurred on a stream

setstreamtype

Клиентский вызов netConnection.call(“setStreamType”, null, “[streamtype]”);

setbuffertime

Клиенский вызова на NetStream.setBufferTime(сек) залогировано в миллисек

stop

Проигрыватель отключен на потоке

create

Меди поток или данных поток создан

destroy

Медиа или данных поток уничтожен

publish

Старт потока публикации

unpublish

Стоп потока публикации

record

Старт потока записи

recordstop

Стоп потока записи

announce

RTSP Session Description Protocol (SDP) объявление

Wowza Media Server Pro генерирует следующий лог статус обозначения:

100

 

Запрет или ожидание (для разрешения)

200

Успешно

400

Ошибочный запрос

401

Отклонено приложением

413

Отклонено менеджером лицензии

500

Внутренняя ошибка

Wowza Media Server Pro логгинг конфигурирован в conf/log4j.properties файле свойств. Много логов выбора конфигурации доступно в log4j лог системе. Памятка этой секции покрывает базовые свойства для принятия или отключения разных лог полей, событий или категорий. Ниже пример на базовых свойствах log4j.properties файла для Wowza Media Server Pro.

# create log appenders stdout and R

log4j.rootCategory=INFO, stdout, R

# Console appender

log4j.appender.stdout=org.apache.log4j.ConsoleAppender

log4j.appender.stdout.layout=com.wowza.wms.logging.ECLFPatternLayout

log4j.appender.stdout.layout.Fields=x-severity,x-category,x-event,x-ctx,x-comment

log4j.appender.stdout.layout.OutputHeader=false

log4j.appender.stdout.layout.QuoteFields=false

log4j.appender.stdout.layout.Delimeter=space

# Access appender

log4j.appender.R=org.apache.log4j.DailyRollingFileAppender

log4j.appender.R.DatePattern=’.’yyyy-MM-dd

log4j.appender.R.File=${com.wowza.wms.ConfigHome}/logs/wowzamediaserverpro_access.log

log4j.appender.R.layout=com.wowza.wms.logging.ECLFPatternLayout

log4j.appender.R.layout.Fields=x-severity,x-category,x-event;date,time,c-client-id,c-ip,c-port,cs-bytes,sc-bytes,x-duration,x-sname,x-stream-id,sc-stream-bytes,cs-stream-bytes,x-file-size,x-file-length,x-ctx,x-comment

log4j.appender.R.layout.OutputHeader=true

log4j.appender.R.layout.QuoteFields=false

log4j.appender.R.layout.Delimeter=tab

памятка

Всегда направляйте через слеш , ссылаясь на расположение файла (даже в Windows ).

В этом примере лог свойств файла In this example the logging properties file has been simplified to highlight a few key features. Первое заявление в этом файле устанавливает лог уровень на “INFO” и определяет два ампресанда; “stdout” и “R”. Устанавливая лог, уровень на “INFO” конфигурирует лог механизм на строгое соответсвие событий “INFO” или выше. Лог соответсвиея в порядке убывания : DEBUG, INFO, WARN, ERROR и FATAL. Чтобы залогинить все события установите лог событие на уровень “DEBUG”. Затем , сконфигурируйте каждый амперсанд.Важные свойства в этой секции:

[install-dir]/logs/[vhost]/wowzamediaserverpro_access.log

[install-dir]/logs/[vhost]/wowzamediaserverpro_error.log

[install-dir]/logs/[vhost]/wowzamediaserverpro_stats.log

«на-приложение» логгинг будет генерировать :

[install-dir]/logs/[vhost]/[application]/wowzamediaserverpro_access.log

[install-dir]/logs/[vhost]/[application]/wowzamediaserverpro_error.log

[install-dir]/logs/[vhost]/[application]/wowzamediaserverpro_stats.log

Этот метод очень полезен, когда вы предлагаете Wowza Pro server как общий сервис для нескольких пользователей.

Field

разделенные запятыми, список полей к логу

OutputHeader

Буленовские значения (true/false) которые инструктируют лог систему для записи в формате W3C Extended Common Log Format заголовков каждый раз при запуске сервера.

QuoteFields

Буленовские значения Boolean value (true/false) что инструктируют лог систему на заполнение всех полей данных в двойном запросе.

Delimiter

Свойство ограничителя для использования между полями данных . Легальные значения “tab”, “space” или актуальные значения характера ограничителя.

CategoryInclude

Через запятую список лог категорий. Только лог события с указанными категориями будут логиниться.

CategoryExclude

Через запятую список категорий.Только лог события , которые не указаны в данной категории будут логиниться.

EventInclude

Через запятую список лог событий. Только лог события с специфическими именами событий будут логиниться.

EventExclude

Через запятую список лог категорий .Только лог события имена которых не в списке будут логиниться.

Эти свойства позволяют управлять способом, по которому лог информация форматируется и фильтруется. Для более детальной информации как сконфигурировать log4j по специфическим свойствам, таким как прокрутка, лог файла или дополнительным типам амперсандов посетите apache.org сайт на http://logging.apache.org/log4j.

Wowza Pro может также быть сконфигурирован , чтобы генерировать логи на основе: «на- виртуальный хост» и «на-приложение». Эта конфигурация включена, но разкомментирована на дне файла [install-dir]/conf/log4j.properties по умолчанию. Первая разкомментированная секция включает конфигурация «на-приложение» логгинг. Вторая разкомментированная секция включает конфигурацию «на виртуальный хостинг» логгинг. Включите обе эти функции, просто уберите комментарии (“#” значок вначале каждой строки) из секции. На «виртуальный хост» логгинг будет генерировать следующую структуру директорий:

 

Logging Логгинг

БЕЗОПАСТНОСТЬ СЕРВЕРА

БЕЗОПАСТНОСТЬ СЕРВЕРА

По умолчанию установка Wowza Media Server Pro на Linux и Mac OS X будет проинсталлирован и запущен сервер как “root” (корневой) пользователь. Если вы хотите запускать сервер от пользователя не корневого , вам следует создать по инструкции нового пользователя и сконфигурировать сервер как для работы нового пользователя.

Памятка

Для безопасности, большинство t Linux и Unix дистрибутивов не позволяют использовать юзера другого не корневого, привязав к номеру порта не ниже 1024. Если вы планируете запуск Wowza Pro сервер на на более низких номерах портов таких как 80 (http порт) или 443 ( https порт), сервер the server will need to continue to run as the root user.

Linux

Первое ,вам надо создать нового пользователя и группу по имени “wowza”.

groupadd wowza

useradd -g wowza wowza

passwd wowza

затем , вам надо сменить ownership и permissions на Wowza Media Server Pro инсталляционных файлах.

chown wowza:wowza WowzaMediaServerPro

chown –R wowza:wowza WowzaMediaServerPro-1.7.1

chmod –R 775 WowzaMediaServerPro-1.7.1

rm –f /var/run/WowzaMediaServerPro.pid

rm –f /var/run/WowzaMediaServerPro.lock

наконец , вам надо изменить команду которая запускает сервер , что бы она запускала нового “wowza” юзера. Смените директорию в “/usr/local/WowzaMediaServerPro/bin” директории. Отредактируйте запускной скрипт “startup.sh” и prepend “sudo –u wowza” в 24 й строке. Она должна быть:

sudo –u wowza $_EXECJAVA $JAVA_OPTS -Dcom.wowza.wms.AppHome=

«$WMSAPP_HOME» -Dcom.wowza.wms.ConfigHome=

«$WMSCONFIG_HOME» -cp

$WMSAPP_HOME/bin/wms-bootstrap.jar

com.wowza.wms.bootstrap.Bootstrap start

Вам также надо отредактировать скрипт сервиса запуска “wms.sh” и сделать те же изменения что и в строке 24. СЕЙЧАС ОБА standalone скрипт запуска и скрипт сервиса запуска будут запускать сервер как юзер “wowza”.

Если вы запустили Wowza Pro как сервис работающий как коневой, вам следует запустить команду следующую , что бы очистить файлы запуска:

rm –rf /var/run/WowzaMediaServerPro*

Mac OS X

Первое , вам надо создать нового пользователя по имени “wowza”. Откройте “Accounts” преференциональную панель системы. Разблокируйте функцию добавления пользователя нажав на иконку в нижнем левом углу панели (у вас запросится ввести пароль администратора). Жми “+” кнопку , ниже список пользователей для добавления нового пользователя. Введите данные и нажмите “Create Account” кнопку:

Name: wowza

Short Name: wowza

Passord: [enter a password]

Verify: [enter a password]

Затем вам надо поменять доступ (permissions) в Wowza Media Server Pro инсталляционном файле. Откройте “Terminal” окно и введите команды:

cd /Library

sudo chown wowza:admin WowzaMediaServerPro

sudo chown –R wowza:admin WowzaMediaServerPro-1.7.1

Finally, we are going to change the command that is used to start the server so that it is run as the new “wowza” user. Change directory to the “/Library/WowzaMediaServerPro/bin” directory. Edit the standalone startup script “startup.sh” and prepend “sudo –u wowza” to the 24

th line. It should now be: sudo –u wowza $_EXECJAVA $JAVA_OPTS -Dcom.wowza.wms.AppHome=

«$WMSAPP_HOME» -Dcom.wowza.wms.ConfigHome=

«$WMSCONFIG_HOME» -cp

$WMSAPP_HOME/bin/wms-bootstrap.jar

com.wowza.wms.bootstrap.Bootstrap start

Теперь когда запускаете сервер в режиме standalone и сервис он будет запущен как юзер “wowza”. Вы можете определить используя “ps –ja” команду в “Terminal” окне пока сервер запущен.

Памятка

Для полной информации по безопасности посетите “Useful Code” секцию Wowza Media Systems форума на http://www.wowzamedia.com/forums/.

 

(продать via аукцион легче)

БЕЗОПАСТНОСТЬ СЕРВЕРА

3. Wowza Pro в действии

 

3. Wowza Pro в действии

Как я могу начать передавать оттоки через Wowza Media Server Pro?

owza Media Server Pro может быть использован для доставки потокового видео многим пользователям в a multiple server deployment. Ниже мы изложим несколько разделов посвященных доставки видео по запросу и живого контента в данной среде. H.264/HE-AAC потоки с Non-Flash декодерами

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

 

Wowza Pro сейчас поддерживает следующие RTSP, RTP и MPEG-TS спецификации:

RTSP

 

rfc2326

RTP: H.264

rfc3984, QuickTime Generic RTP Payload Format

RTP: AAC

rfc3640, rfc3016, ISO/IEC 14496-3

MPEG-TS

ISO/IEC 13818-1

MPEG-TS over RTP

rfc2038

  

Есть два метода доставки основанных RTP H.264/HE-AAC живого контента в Wowza Media Server Pro. Более общий метод использует декодер, что поддерживает команды объявления QuickTime. Используя этот метод декодер создаёт RTSP сессию с Wowza Prи посылает Session Description Protocol (SDP) информацию, используя команду объявления. RTSP сессия используется для управления запуска и закрытия. Второй метод это родное RTP устройство . SDP информация общается с Wowza Pro так же через файловую систему или через HTTP запросt. Далее эти два способа описаны.

 

 

 

Протокол потока реального времени Real-Time Streaming Protocol (RTSP) Streaming

 

Wowza Media Server Pro поддерживает Real-Time Streaming Protocol (RTSP) для входящих потоков контента H.264/HE-AAC . Эта способность возможна на любом порту, определенном в VHost.xml. доступ к RTSP потоку управляется через аутентификацию. Wowza Pro поддерживает три метода RTSP аутентификации ; нет none (нет аутентификации), базовый basic (пароль посылается чисто текстом ) и дайджест digest (пароль бьётся с использованием MD5 и никогда не пересылается через сеть в чистом виде текста). Аутентификация делается в VHost.xml, Application.xml и Authentication.xml. По умолчанию метод аутентификации «digest” , самый устойчивый и более безопасный метод. ИМЯ И ПАРОЛЬ ОПРЕДЕЛЕНЫ В ФАЙЛЕ

“[install-dir]/conf/rtp.password”. Перед RTSP сессией могут быть иниацилизированы дейтсвительное имя и пароль и добавлены в rtp.password файл.

RTSP сессия в общем session is generally established based on four pieces of information; host address (and port), streaming path (sometimes called location), username and password. The username and password information is discussed above. The host name is the network address of the Wowza Pro server along with the network port. By default RTSP communication takes place over port 554 which is not a port on which Wowza Pro is listening. Wowza Pro by default is listening on port 1935. For this reason the host address should be set to [server-ip-address]:1935 where [server-ip-address] is the ip address of the server running Wowza Pro.

Строка потока имеет уникальное имя для живого потока . В Wowza Pro эта строка используется для определения имени приложения, имени образцового потока (application instance name) и имени потока, что требуется для Flash потока . Формат слудующий:

[application]/[appinstance]/[streamname]

 

Где [application] имя приложения [appinstance] имя образцового потока [streamname] имя потока. Имя потока может иметь дополнительный элемент строки. Для примера строка потока:

streamtest/myStream.sdp

 

Будет интерпретировано как :

[application] streamtest

[appinstance] _definst_

[streamname] myStream.sdp

 

Строка потока как :

streamtest/_definst_/livevideos/myStream.sdp

 

Будет интерпретировано как:

[application] streamtest

[appinstance] _definst_

[streamname] livevideos/myStream.sdp

 

3. Wowza Pro в действии