Unreal Media Server

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 20:02, 23 января 2019.
Unreal Media Server
Software unreal mediaserver 001.jpg
Unreal-Media-Server 1.png
Разработчики: Unreal Streaming Technologies
Постоянный выпуск: 13.0 / 12 May 2018 года; 21 months ago (2018-05-12)
Операционная система: Windows
Тип ПО: streaming server software
Лицензия: Proprietary
Веб-сайт umediaserver.net/umediaserver

Unreal Media Server – сервер, предназначенный для обеспечения трансляций медийного контента через интернет и по локальным сетям. Поддерживаются как прямые трансляции, так и передача уже записанных медиафайлов. Поддерживается множество форматов трансляций - Flash Player, Silverlight, Windows Media Player и прочие, включая ПО для Linux, Mac и мобильных устройств. Сервер работает с медиаконтентом в форматах MP3, MOV, ASF, WMA, WMV, MPA, MPEG-4, MPEG-2, MPEG-1, AVI и некоторыми другими форматами. Имеется функция плейлиста. Поддерживаются два вида трансляций - непосредственная и с предварительной буферизацией. Разработанный изготовителями программы Unreal Streaming Media Player может использоваться на любых компьютерах на базе ОС Windows и мобильных устройствах на платформе Windows Mobile и работает в большинстве популярных браузеров. Имеется поддержка Unicode и аутентификации пользователей для ограничения доступа к контенту.[Источник 1]

Особенности

Unreal Media Server поддерживает различные потоковые протоколы, позволяет проигрывать с Flash Player, Silverlight, Windows Media Player и Unreal Streaming Media Player в Windows, Mac, Linux и мобильных устройств. Потоковый протокол Unreal Media Server создан на основе DirectShow и является собственностью компании (Unreal Streaming Technologies, Atlanta and Los Angeles, USA.)

Потоковый протокол Unreal Media Server может быть реализован в режиме Unicast через TCP, RTP (UDP), HTTP (S), а в режиме Multicast через RTP (UDP). RTMP протокол может быть использован для потоковой передачи Flash Player и MMS. Проигрывание видео потока возможно в программах на основе: Silverlight, Windows Media Player и другие MMS совместимые проигрыватели. Форматы файлов включают в себя все типы поддерживаемых Microsoft DirectX, а именно: AVI, MPEG-1 (VCD), MPEG-2 (SVCD, DVD), MPEG-4, MPA, WMV, WMA, ASF, MP3, QuickTime (версии 2 и ниже). другие форматы и типы сжатия поддерживаются при дополнительной установке соответствующих кодеков, таких как MP4, MKV, DivX, AAC, AC3, H264 и т.п. Playlist функция, позволяет автоматически воспроизводить все файлы виртуальной папки сервера в цикличном режиме. Файлы может быть в режиме unicasted "по требованию" или multicasted в "LIVE" режиме.

Поддерживаемые источники информации включают: USB / Firewire цифровые камеры, IP сетевые камеры, микрофоны, ТВ-тюнеры, аналоговые видео источники подключенные к видеокарте, карты видео захвата которые поддерживают интерфейс DirectShow. Аппаратное закодированное содержимое может передаваться "как есть" без программного обеспечения транскодирования. Кодеки для сжатия видео: VC1 (WMV9), H.264 и Microsoft MPEG-4 V2. Кодеки используются для аудио сжатия: Fraunhofer MPEG Layer-3 (MP3), AAC, GSM 6.10 и WMA.

Unreal Streaming Media Player работает на ПК под управлением Windows и на мобильных устройствах под управлением Windows Mobile 5 или более поздней версии операционной системы. Онлайн - контент может быть записан на основе планировщика или при обнаружении движения, независимо от потока в ASF и MP4 файлы.

Unreal Streaming Media Player может быть встроен в веб-страницы, как элемент управления ActiveX для IE браузером или как плагин для Firefox, Netscape, Mozilla, Safari, Opera и Chrome.[Источник 2]

Архитектура

На рисунке 1 представлена архитектура сети сервера.

Рисунок 1 – Архитектура

Unreal Media Server поддерживает протокол UMS для потоковой передачи на проигрыватель Unreal Streaming Media в ОС Windows; Протокол WebRTC для потоковой передачи на HTML5 <video> в веб-браузерах; Протокол WebSocket-video / mp4 для потоковой передачи в HTML5 <video> расширения источников мультимедиа в веб-браузерах; Протоколы RTMP и RTMPT для потоковой передачи на проигрыватель Flash в любой ОС с поддержкой Flash; Протоколы MS Smooth и MS-WMSP для потоковой передачи в Silverlight и Windows Media Player; Потоковая передача Apple HTTP Live (HLS) для iOS и других плееров и устройств с поддержкой HLS; Протокол MPEG2-TS для потоковой передачи на телеприставки.

Когда сервер выполняет потоковую передачу по протоколам HLS, MS Smooth и MPEG2-TS, проигрыватели вообще не подключаются к серверу: они получают фрагментированные потоки непосредственно с веб-серверов (потоковая передача HLS и MS Smooth) или с портов UDP на своих IP-адресах ( MPEG2-TS). В этих случаях сервер ничего не знает об пользователях или количестве одновременных зрителей.

Напротив, при потоковой передаче через протоколы WebRTC, WebSocket-video / mp4, RTMP, MS-WMSP и UMS проигрыватели инициируют прямое подключение к Media Server; сервер может выполнять аутентификацию и может отслеживать одновременно запущенные плееры. Все проигрыватели подключаются к TCP-порту коммуникационного сервера 5119 (незащищенные соединения) или 443 (соединения, защищенные TLS); эти порты могут быть настроены. Вышеуказанные порты также служат для сигнализации WebRTC, в то время как фактический носитель WebRTC передается через порт 5135.

Сервер поддерживает широкий спектр программных и аппаратных кодеров, принимающих прямые трансляции, как в режиме push, так и в режиме pull (единственное различие заключается в том, какая сторона инициирует соединение). Кодеры Pull-режима включают в себя: программные кодеры RTSP и IP-камеры;

  • Кодеры MS-WMSP, такие как WME;
  • Нереальный Живой Сервер;
  • RTMP-серверы;
  • HLS серверы.

Кодеры Push-режима включают:

  • веб-браузеры с поддержкой WebRTC;
  • RTMP-издательские кодеры, такие как FMLE, ffmpeg и мобильные приложения;
  • Устройства кодирования MPEG2-TS;
  • Unreal Live Server.

Unreal Live Server направляет поток на Unreal Media Server по протоколу UMS по протоколам TCP и RTP (UDP).

Медиапроцессор: универсальный transmuxer

Живой контент, поступающий на медиа-сервер по разным потоковым протоколам, упакован в разные форматы контейнеров, встроенные в эти потоковые протоколы. Например, протокол RTMP отправляет носители, инкапсулированные в формате контейнера FLV; Протокол MS-WMSP помещает носитель в контейнер ASF. Точно так же, когда Unreal Media Server осуществляет потоковую передачу записанного контента, он работает с медиа-файлами, упакованными в различные форматы контейнеров (MP4, FLV, ASF и т. д.). Независимо от того, поступает ли носитель с диска (файлов) или из сети (в режиме реального времени), медиасервер мгновенно демультиплексирует его в элементарные аудио-видео потоки, то есть извлекает эти потоки из контейнера. Потоки остаются в исходной кодированной форме; сервер не выполняет транскодирование или декодирование.

Когда различные проигрыватели подключаются и запрашивают мультимедиа, сервер переупаковывает эти потоки в формат контейнера, необходимый этим проигрывателям, и отправляет эти потоки по потоковым протоколам, поддерживаемым этими проигрывателями. Например, тот же поток H.264, поступающий из живого кодировщика по протоколу RTSP или WebRTC и инкапсулированный в упаковку RTP, может одновременно обслуживаться проигрывателями HTML5 <video> WebRTC в веб-браузерах по протоколу WebRTC (контейнер RTP), на HTML5 <video> MSE-плееры в веб-браузерах по протоколу WebSocket (video / mp4 ISO BMFF-контейнер), на iPad / iPhone по протоколу HLS (MPEG2-TS-контейнер); Прошивать Flash плееры по протоколу RTMP (контейнер FLV); и аналогично Silverlight, Unreal Media Player, STB через соответствующий формат протокола / контейнера.

Поддерживаемые стандарты и спецификации

  • WebRTC W3C Спецификация WebRTC
  • WebSockets IETF RFC6455
  • Расширения Media Source W3C Спецификация MSE
  • RTMP / RTMPT Flash протокол
  • RTSP IETF RFC2326
  • H264, MPEG4 Видео по RTP IETF RFC3984, IETF RFC3640
  • AAC, MP3 Audio через RTP ISO / IEC 14496-3, IETF RFC2250
  • MS-WMSP Протокол потоковой передачи данных Windows Media
  • MPEG2-TS ISO / IEC 13818-1
  • Формат Apple HLS HLS
  • MS Smooth Streaming Протокол гладкой потоковой передачи

Потоковая передача по протоколу UMS

Unreal Streaming Media Player и его плагин для браузера могут воспроизводить потоки UMS в одноадресном режиме по протоколам TCP, RTP (UDP) и HTTP (S) и в многоадресном режиме по протоколу RTP (UDP). Если попытка подключения TCP / UDP не удалась, проигрыватель автоматически переключается на транспорт HTTP. Потоки UMS также можно воспроизводить на устройствах Android и iOS с помощью мобильного приложения mPlayer. Этот мобильный плеер поддерживает только одноадресный режим UMS-TCP и только потоки в кодировке H.264 / AVC1, AAC / MP3.

Многоадресная передача по протоколу UMS

Unreal Media Server поддерживает одновременную многоадресную передачу неограниченного количества живых источников и виртуальных папок. Когда первый зритель подключается и запрашивает многоадресную доставку живого источника, сервер начнет многоадресную рассылку. Когда последний зритель отключается, многоадресная передача останавливается. При многоадресной передаче файлов администратор Media Server должен вручную запустить и остановить многоадресную передачу виртуальной папки, используя программу настройки сервера.

Когда идет запрос о многопотоковой доставке, плеер сначала подключается к серверу по протоколу UMS-TCP. Сервер авторизует этого плеер и отправляет ему информацию группы многоадресной рассылки для этой конкретной трансляции. Проигрыватель присоединяется к этой многоадресной группе и получает мультимедийные пакеты через многоадресную рассылку UMS-RTP.

К сожалению, в большинстве случаев многоадресная рассылка не будет работать через Интернет, поскольку общедоступные интернет-провайдеры не разрешают многоадресную доставку своих маршрутизаторов.


Потоковая передача по протоколу WebRTC на HTML5 <video> в браузерах

Unreal Media Server поддерживает потоковую передачу с низкой задержкой в ​​реальном времени на элемент HTML5 <video> по протоколу WebRTC, используя транспорты WebRTC-UDP и WebRTC-TCP. Поддерживаемые браузеры: Chrome и Firefox на Windows; Safari на iOS и Mac; Chrome на Android. Часть сигнализации обрабатывается через WebSocket (обычный или безопасный) через основные порты (по умолчанию 5119/443). Чтобы использовать безопасный WebSocket, на сервере должен быть установлен действительный сертификат SSL. Фактическое соединение WebRTC ICE может быть установлено через один предопределенный порт в Unreal Media Server, выделенный для соединений WebRTC (по умолчанию 5135), или через произвольный порт. У плеера есть выбор, использовать ли один или случайный порт. Если используется один порт (рекомендуется), поставщику услуг нужно только открыть порт 5135 в брандмауэре / маршрутизаторе NAT (вместе с портами сигнализации, 5119 или 443). Если используется случайный порт, все порты должны быть открыты в брандмауэре, или Unreal Media Server должен быть добавлен в качестве разрешенного приложения в брандмауэр. Реализация WebRTC в Unreal Media Server НЕ является одноранговым решением. Напротив, это серверное решение, обеспечивающее полную совместимость между WebRTC и другими потоковыми системами. Серверы оглушения и поворота не используются в реализации WebRTC Unreal Media Server. Веб-браузер всегда создает прямое соединение с Unreal Media Server; Создание ICE происходит немедленно. Серверное решение позволяет проводить многопользовательские видеоконференции; воспроизведение с низкой задержкой аппаратных потоков в реальном времени (IP-камеры и кодеры) в HTML5 <video> в веб-браузерах; Воспроизведение и получение потоковых трансляций WebRTC в обычных проигрывателях и STB. Unreal Media Server поддерживает потоки WebRTC, закодированные с помощью видеокодеков H264, VP8, VP9 и аудиокодеков Opus, G.711 (PCMA и PCMU).

Потоковая передача по протоколу WebSocket-video / mp4 в HTML5 <video> расширения источников мультимедиа в браузерах

Прямая трансляция с низкой задержкой через простые и безопасные WebSockets достигается путем отправки сегментов ISO BMFF video / mp4 для декодирования и воспроизведения с помощью расширений Media Source HTML5-элемента <video>. Unreal Media Server выполняет оперативную сегментацию живого потока для каждого подключенного WebSocket. Требуется кодировка H264 и AAC. Все основные браузеры на Windows, MAC и Android поддерживают воспроизведение HTML5 MSE.


Потоковая передача по протоколам WebSocket-video / mp4 и UMS по протоколу HTTPS.

Unreal Media Server поддерживает шифрование TLS1.2 для UMS-HTTPS и WSS (безопасные WebSockets). На сервере должен быть установлен действительный сертификат SSL. HTTPS транспорт обеспечивает полную защиту потока на пути от сервера к плееру.

Потоковая передача по протоколу MS-WMSP (MMSH)

Unreal Media Server поддерживает одноадресную потоковую передачу по протоколу MS-WMSP (MMSH). Живое и записанное аудио / видео на лету инкапсулируется в контейнер ASF и отправляется в виде полезной нагрузки HTTP любому проигрывателю в любой ОС, способной воспроизводить потоки MMSH. Для потоковой передачи MMS требуется кодировка WMV (VC1), WMA или MP3. Поддерживаются различные плееры на Windows, MAC, Linux, мобильных устройствах, такие как Silverlight, Windows Media Player, QuickTime Player, VLC, MPlayer.

Потоковая передача по протоколам RTMP / RTMPT

Unreal Media Server поддерживает одноадресную потоковую передачу живых источников и медиа-файлов по протоколам RTMP / RTMPT на Flash player. Аудио / видео контент инкапсулируется в контейнер FLV на лету и отправляется во Flash Player в любой поддерживаемой ОС. Для потоковой передачи Flash требуется кодирование H264, AAC или MP3. Поддерживаются файлы MKV, MP4, MP3, FLV с содержанием H264, AAC или MP3.

Потоковая передача по протоколу Apple HLS

Unreal Media Server поддерживает потоковую передачу HLS живых источников (и файлов с использованием прямой трансляции типа «список воспроизведения»). Сервер действует как сегментатор, записывая фрагменты HLS в указанную папку веб-сервера. В дополнение к Unreal Media Server вам нужно запустить веб-сервер (любой веб-сервер в порядке), чтобы обслуживать эти файлы чанков и m3u8 списков воспроизведения для проигрывателей HLS. Поддерживается шифрование AES-128 HLS. Для потоковой передачи HLS требуется кодирование H264, AAC или MP3.

Адаптивная потоковая передача

Когда живой кодировщик загружает потоки с несколькими битрейтами на Unreal Media Server, эти потоки могут передаваться плеерам по протоколам WebSocket-video / mp4, HLS и RTMP. Для HLS файл m3u8, который автоматически генерируется Unreal Media Server, будет содержать ссылки на отдельные файлы битрейта m3u8. Плееры HLS будут переключаться между этими битрейтами в зависимости от доступной пропускной способности. Для RTMP сервер поддерживает команду RTMP «Play2». Как только плеер отправит команду «Play2», сервер переключится на другой поток битрейта. Для WebSocket-видео / MP4, Unreal HTML5 MSE player отправит на сервер команду «switch» в зависимости от состояния сети и производительности доставки.

Потоковая передача по протоколу MS Smooth

В дополнение к Unreal Media Server вам необходимо запустить веб-сервер IIS7 с установленным расширением Media Services. Unreal Media Server передает потоки в точки прямой трансляции Live Smooth (созданные инструментом IIS Manager) по протоколу Smooth Streaming: потоковые манифесты и фрагменты в формате mp4 отправляются в режиме реального времени через запросы HTTP Post. Плавные потоковые проигрыватели, такие как проигрыватель Silverlight, подключаются напрямую к URL-адресам точек публикации. Кодеки H.264 / AAC и VC1 / WMA поддерживаются потоковой передачей MS Smooth. MS Smooth Streaming - протокол с высокой задержкой; лучшее время ожидания, которое вы можете получить, составляет 10 секунд.

Потоковая передача по протоколу MPEG2-TS

Unreal Media Server поддерживает Unicast и Multicast потоковую передачу живых источников и медиа-файлов по протоколу MPEG2-TS. Медиасервер транслирует инкапсулированные потоки MPEG2-TS по протоколам UDP или RTP на любые указанные IP-адреса. Проигрыватели MPEG2-TS вообще не подключаются к Media Server; они скорее подключаются к любому IP-адресу, на который вещает Media Server.

Аутентификация пользователя, ограничения доступа и DRM

Программы конфигурации Unreal Media Server и Unreal Live Server позволяют полностью контролировать доступ к медиа-ресурсам, предоставляя его только доверенным сторонам. Администратор может заставить Media Server предоставлять доступ только авторизованным пользователям, а Live Server предоставлять доступ только определенным медиа-серверам. Unreal Media Server поддерживает два типа аутентификации пользователей: внутренняя аутентификация и аутентификация на основе сеансов. Каждый ресурс, настроенный с помощью Media Server Configurator (все виртуальные папки и прямые трансляции), может быть настроен на разрешение анонимного доступа или требует один из этих 2 типов аутентификации. Внутренняя аутентификация может использоваться только с протоколом UMS, тогда как аутентификация на основе сеансов может использоваться с протоколами UMS, MS-WMSP, WebRTC, WebSocket-video / mp4 и RTMP.

Полный DRM может быть достигнут при воспроизведении по протоколу UMS, используя один из этих двух типов аутентификации пользователя, а также шифрование потока с использованием транспорта HTTPS (см. Раздел «Потоковая передача по протоколу UMS через транспорт HTTPS» выше).

1Внутренняя аутентификация

Аутентификация и управление пользователями обрабатываются непосредственно Unreal Media Server; это наш собственный механизм аутентификации. Пользователи играют с Unreal Streaming Media Player или его плагином для браузера. Администратор медиасервера должен создавать пользователей на стороне сервера. Администрирование пользователей может осуществляться с помощью Конфигуратора медиасервера или веб-страницы (см. Страницу useradmin в нашем SDK). Пользователь может принадлежать к одной из 3 групп пользователей: Basic, Medium и Advanced. Ресурс, который настроен на использование внутренней аутентификации, может ограничивать доступ к определенной группе пользователей. Когда пользователь пытается получить доступ к такому ресурсу, проигрыватель потокового мультимедиа предлагает пользователю ввести имя пользователя и пароль и, при необходимости, сохраняет эти учетные данные на компьютере пользователя. Учетные данные пользователя привязаны к IP-адресу сервера мультимедиа, так что если пользователь получает доступ к какому-либо ресурсу на другом сервере мультимедиа, ему будет предложено ввести учетные данные еще раз.

Безопасность: учетные данные пользователя шифруются с помощью надежного одностороннего алгоритма хеширования перед отправкой в ​​сеть. Эти зашифрованные учетные данные снова шифруются с помощью симметричного алгоритма промышленного уровня, когда они хранятся на компьютере пользователя (если пользователь выбирает их локальное запоминание) и на компьютере сервера мультимедиа, когда администратор создает пользователей.

Сеансовая аутентификация

Он должен использоваться, когда веб-приложение обрабатывает авторизацию стандартными веб-методами и предоставляет авторизованным пользователям доступ к медиа-ресурсам. Когда веб-приложение авторизует пользователя, оно должно уведомить Unreal Media Server об этом пользователе, передав маркер аутентификации, такой как идентификатор сеанса или любой другой уникальный идентификатор, связанный с сеансом пользователя. Когда пользователь выходит из системы или истекает сеанс, необходимо вызвать Unreal Media Server, чтобы удалить этот сеанс из списка активных сеансов. Кроме того, когда веб-приложение возвращает HTML-страницу клиенту, тот же токен аутентификации необходимо добавить к ссылкам UMS: //, MMS: // или RTMP: //, или в клиенте должен быть вызван метод «UseSessionID» скрипты для встроенного в браузер плагина Unreal Streaming Media Player. Таким образом, когда проигрыватель отправляет запрос на Unreal Media Server, тот же токен аутентификации будет передан, и Unreal Media Server сможет распознать пользователя. Обратитесь к нашему образцу веб-приложения для справки о сеансовой аутентификации.[Источник 3]

Компоненты

Unreal Media Server. Устанавливается на компьютер, который будет выступать в качестве сервера передающего мультимедиа потоки в сеть. Если необходимо вещание в общественные сети, то этот компьютер должен иметь собственный IP-адрес, для локальной сети IP-адрес не нужен. Microsoft Windows 2000 Server и Windows 2003 Server - наиболее подходящие платформы для работы Media Server. Разработчики также рекомендуют запускать Microsoft IIS на этом компьютере, и устанавливать расширение UHttpProxy IIS, включенное в пакет. Это позволит открыть доступ к Unreal Media Server через HTTP. Streaming Media Player. Этот проигрыватель или WEB-страница с ActiveX управлением необходимы для воспроизведения мультимедиа потоков. Его можно установить самостоятельно заранее, либо потом при заходе на страницу, где должен воспроизводится мультимедиа поток, вам все равно будет предложено скачать и установить проигрыватель. На сайте разработчиков функционирует демонстрационная страница, где показано как проигрыватель может быть встроен в WEB-страницу. Unreal Live Server. Кодирует многочисленные живые аудио-видео источники в форматы MP3/MPEG-4. Используйте утилиту конфигурации Live Server для настройки мультимедиа источников и определения параметров кодирования.[Источник 4]

Установка и настройка

Сервер и клиент.

После того как вы установили UMediaServer.msi, service (служба) UMediaServer должна выполняться и слушать на ТCP порте 5119. Инсталляционная программа создает директорию MediaRoot и записывает туда видеоклип test.avi.

Streaming Media Player или ActiveX control/плагин на веб-странице должен быть установлен для того чтобы проигрывать аудио-видео. Установите StreamingMediaPlayer.msi. Откройте player, укажите IP адрес компьютера на котором установлен UMediaServer. Проверьте что нет никаких firewalls между клиентом и сервером, которые блокируют порт 5119. Если этот порт заблокирован, то поменяйте его с помощью конфигурационной программы сервера. Выберите протокол. Если между сервером и плеером разрешен только HTTP канал, то выберите HTTP. Иначе выбирайте любой из TCP/UDP/HTTP протоколов. Если клиентский компьютер может соединиться с сервером, то клип test.avi должен проигрываться. Убедитесь что это так.

Сервер также позволяет подключаться и проигрывать файлы и живое аудио-видео Flash плееру, Silverlight плееру, Windows Media плееру и др. Если, например, IP адрес сервера 192.168.0.100, и вы сделали live broadcast (см. ниже) по имени radio, то для Flash плеера используйте ссылку: rtmp://192.168.0.100:5119/live/radio. Для проигрывания файла ссылка такая: rtmp://192.168.0.100:5119/vod/mediaroot/somefile.mp4.

Чтобы играть в Windows Media плеере файл test.avi, введите следующую ссылку в "Open URL" окне плеера: mms://192.168.0.100:5119/mediaroot/test.avi; для игры radio введите ссылку mms://192.168.0.100:5119/radio

Используйте конфигурационную программу сервера, чтобы создавать и конфигурировать виртуальные директории (ассоциировать их с физическим местоположением на диске).Это местоположение может быть как на самом серверском компьютере, так и в локальной сети. В случае локальной сети необходимо чтобы account (учетная запись), под которой бежит служба UMediaServer, имела доступ к сетевым ресурсам.

Виртуальную директорию можно сконфигурировать так чтобы она разрешала анонимный доступ или требовала аутентикации: встроенной либо основанной на веб-сессиях.

С помощью конфигурационной программы виртуальную директорию можно разрешить или запретить использовать как Playlist. Если это разрешено, то виртуальную директорию можно транслировать в сеть в режиме Multicast. Файлы также можно транслировать MPEG2-TS протоколом на ТВ-приставки.

Kонфигурационнaя программа сервера также позволяет создавать так называемые "live broadcasts". Это ссылки на RTSP IP камеры, на MPEG2-TS оборудование, или на предварительно сконфигурированные в Unreal Live сервере живые источники. "Live broadcasts" могут быть статическими (Тогда Media Server инициирует коннекцию к Live Server-у, по TCP, порт 5120), либо динамическими (Тогда Live Server инициирует коннекцию к Media Server-у, по TCP; порт может быть сконфигурирован). Выбор между статическими и динамическими источниками основан на вашей сетевой инфраструктуре; часто Media Server не может соединиться к живому источнику, но обратная коннекция может быть создана. (например если живой источник находится за firewall). Также поддерживаются так называемые промежуточные или "делегатные" broadcasts. Они позволяют транслировать аудио-видео между несколькими Медиа Серверами; таким образом можно контролировать маршрутизацию потоков, минимизируя количество потоков проходящих по узкополосным сегментам сети, таким как связь с Интернетом.

Unreal Live Server

ULiveServer должен быть установлен на компьютере к которому подсоединены живые аудио-видео источники, такие как: цифровые камеры, микрофоны, ТВ-тюнеры, аналоговые устройства (камеры, ТВ, Видео-DVD плееры) присоединенные к видео-карточке или к карточке захвата избражения которая поддерживает DirectShow интерфэйс. Также поддерживаются "железные" компрессоры; сжатое железом аудио-видео может транслироваться без дополнительной софтверной перекодировки. На одном компьютере может быть много живых источников. Установите ULiveServer.msi. Service (служба) ULiveServer должна выполняться и слушать на порте 5120. Конфигурационная программа позволяет добавлять и конфигурировать живые источники. Устанавливайте аудио-видео кодировку совместимую с тем плеером который будет использоваться для проигрывания, например H264/AAC для Flash плеера и VC1/WMA для Silverlight плеера. Вы можете также установить ограничения доступа основанные на адресах медиа-сервера.

Важно знать что запросы к этой службе будут приходить от медиа-сервера, а не от клиента. Эти запросы основаны на установках "live broadcast", сконфигурированных на Медиа Сервере. В случае статических источников Медиа Сервер сначала инициирует коннекцию к Live серверу, потом посылает запрос. В случае динамических источников Медиа Сервер будет пользоваться уже существующей коннекцией, которую инициировал Live Server.

Клиенты могут наблюдать живой источник в реальном времени, при условии если они знают имя (alias) живого источника и IP адрес медиа-сервера. ULiveServer также позволяет записывать живые аудио-видео источники на диск в виде ASF/MP4 файлов, по расписанию или по обнаружению движения/звукового возмущения, независимо от трансляции на медиа сервер.

Создание ссылок на медиа ресурсы.

Самый удобный способ доступа к медиа ресурсам – веб-ссылки. Когда юзер щелкает по ссылке, Streaming Media Player начинает играть медиа ресурс. Инсталяция плеера регистрирует URL протокол на машине юзера. Это UMS протокол, позволяющий ассоциировать UMS ссылки со Streaming Media Player-ом. Администратор сервера создает такие ссылки и публикует их на веб-странице.

Ссылка может относиться только к файлам, play-листам или именам (aliases) живых источников. Ссылка должна состоять из 4 частей: "ums:\\" или "ums://".

Транспортный протокол и двоеточие – TCP: HTTP: HTTPS: RTP: MULTICAST:.

IP адрес медиа сервера, затем backslash (\). Если порт не указан, то для соединения будет использован порт 5119 при TCP/HTTP/RTP/MULTICAST, и 443 при HTTPS. Фактическое имя ресурса. Если в нем не найден (/)или backslash (\), to имя интерпретируется как alias живого источника. В противном случае: Если в имени найдено ключевое слово “playlist\”, to имя будет интерпретировано как play-лист. Иначе имя будет обработано как имя файла.

Гиперссылка на веб-странице может выглядеть так: <A HREF = “ums:\\TCP:65.68.17.44:5127\Media\file.avi"> Файл</A>.

Или так:

<A HREF = "ums:\\MULTICAST:65.68.17.44:5127\MyWebCam">Моя веб камера</A>.

Или так:

<A HREF = "ums:\\RTP:65.68.17.44:5127\MyWebCam">Моя веб камера</A>.

Или так:

<A HREF = "ums:\\HTTP:65.68.17.44:5127\playlist\Media">Play-лист Media</A>.

Для проигрывания локального живого источника, используйте "ums:\\localpreview:ID", где ID это номер источника заведенного на Live сервере.

Чтобы играть в моде Full Screen, присоедините ///FULLSCREEN к ums ссылке.

Юзер может использовать эту ссылку 2 способами:

  • Передавать ее как параметр Streaming Media Player-у: StreamingMediaPlayer.exe ums:\\TCP:65.68.17.44:5127\Media\Myfile.avi
  • Запускать саму ссылку: ums:\\TCP:65.68.17.44:5127\Media\Myfile.avi

Создание MMS-ссылок для Windows Media плеера

MMS ссылки очень похожи на UMS ссылки, за исключением того что не надо писать название протокола перед IP адресом. Конфигурационная программа сервера позволяет создавать MMS play-листы содержащие MMS ссылки для любой виртуальной директории. MMS ссылки используются в "Open URL" окне в любом поддерживающем MMS плеере.

Если порт для соединений клиентов поменять с 5119 на 5127 (например), то MMS ссылка для проигрывания файла "File.avi" находящегося в виртуальной директории "Media", выглядит так:

mms://207.68.171.244:5127/media/File.avi

MMS ссылка для проигрывания живого источника с именем "Webcam":

mms://207.68.171.244:5127/WebCam

Создание RTMP-ссылок для Flash плеера

RTMP ссылка должна иметь слово "live" перед именем live broadcast-a, или слово "vod" перед именем файла. В остальном RTMP ссылки очень похожи на MMS ссылки.

RTMP ссылка задается Flash плееру на веб странице; смотрите нашу демо страницу и SDK пакет для примеров.

Если порт для соединений клиентов поменять с 5119 на 5127 (например), то RTMP ссылка для проигрывания файла "File.mp4" находящегося в виртуальной директории "Mediaroot", выглядит так:

rtmp://207.68.171.244:5127/vod/Mediaroot/File.mp4

Ссылка для проигрывания живого источника по имени "Webcam", выглядит так: rtmp://207.68.171.244:5127/live/WebCam[Источник 5]

Источники

  1. Unreal Media Server 12 // Mydiv [2005–2019]. Дата изменения: 18.09.2016. URL: https://soft.mydiv.net/win/download-Nereal-nyi-media-server.html (дата обращения: 20.01.2019).
  2. Unreal Media Server // Pikman [2019]. Дата изменения: 01.01.2019. URL: https://sites.google.com/site/pikmaninfo/skacat-besplatno/unreal-media-server (дата обращения: 20.01.2019).
  3. Architecture // umediaserver [2003–2019]. Дата изменения: 01.01.2018. URL: http://umediaserver.net/umediaserver/architecture.html (дата обращения: 20.01.2019).
  4. Unreal Media Server // pctuner [1999–2019]. Дата изменения: 22.01.2007. URL: https://pctuner.club/a/umediaserver (дата обращения: 20.01.2019).
  5. Установка и конфигурация Unreal Media Server // umediaserver [2019]. Дата изменения: 01.01.2019. URL: http://umediaserver.net/umediaserver/russian.html (дата обращения: 20.01.2019).