wiki.skylark.ru

Центр поддержки клиентов Skylark Technology

Инструменты пользователя

Инструменты сайта


ru:manual:vod

SL Neo VOD

Сервис Skylark VOD позволяет создать интернет портал «Видео по запросу» (англ. Video on Demand (VoD)), который реализует систему индивидуальной доставки абоненту телевизионных программ и фильмов с медиасервера Skylark в различных форматах.

Запуск сервера VOD производится иконкой «VODD Server». Поскольку VODD взаимодействует с медиабазой, то предварительно должен быть запущен SL NEO Media Server с настроенным сервисом медиабазы.

Запущенный VODD Server размещает иконку рядом с часами.

Информация актуальна для ПО Skylark SLNeo 2.1 и выше.

Основные компоненты VOD

Схема построения VOD

На изображении приведена схема одиного из возможных вариантов реализации VOD на базе платформы SL NEO.

Портал

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

Список фильмов.

Пример страницы фильма, которая доступна после авторизации.

Vodd панель управления

Все настройки, сделанные в панели управления, сохраняются в файл: C:\Program Files (x86)\SL NEO Media Platform\run\vodd_config.xml.

Вход в Administrator Control Panel осуществляется по клику на иконку сервиса vodd.

ПараметрЗначение
Database FileПуть к базе данных SQLite. В базе сохраняются учетные данные пользователей портала VOD. База создается автоматически при первом запуске сервера.
ConnectionsКоличество активных подключений к веб интерфейсу портала
StatusСостояние веб интерфейса портала. Running - запущен и доступен пользователям, Stopped - остановлен, портал недоступен, пользователям выдается сообщение Server is under maintenance
Start/StopКнопка запуска и остановки веб сервера портала
ConfigureМеню доступа к настройкам портала VOD
LicenseИнформация о лицензии
Change PasswordИзменение пароля администратора портала
System LogОтображение лога текущей активности пользователей в режиме реального времени
AboutИнформация о версии сервера VOD

Vodd configuration

General

ПараметрЗначение
Database FileПуть к файлу базы данных VOD, которая содержит информацию о зарегистрированных пользователях. По умолчанию: C:\Files\vod\vod.sqlite.
Work FolderПуть к папке для временных файлов
Portal NameИмя портала, которое будет выведено в тег <TITLE></TITLE>
Test user password strengthВключение опции устанавливает определенные требования к сложности пароля, указанного при регистрации
Require user email verificationВключение опции устанавливает необходимость подтверждения указанного при регистрации адреса email
Display login widgetВключает отображения виджета авторизации вверху страниц портала.

Asset Server

ПараметрЗначение
Storage hostIP адрес сервера с настроенной медиабазой. Значение по умолчанию - localhost.
Storage numberПорядковый номер сервиса медиабазы на сервере с указанным IP адресом
User nameИмя пользователя для доступа к медиабазе.
User passwordПароль пользователя для доступа к медиабазе.
Root folderКорневая папка медиабазы относительно которой будут выбираться newsitem и videoasset. По умолчанию (пустое значение) - корень медиабазы. Путь указывается в формате папка1/папка2.

Widgets

Виджет - функциональный элемент страницы, который отвечает за ввод и вывод данных, и может взаимодействовать с другими виджетами.

ПараметрЗначение
AddДобавляет новый виджет
DeleteУдаляет выбранный виджет
EditОткрывает окно редактирования для выбранного виджета

Pages

Страница - это элемент портала, который объединяет группу виджетов и имеет шаблон оформления.

Список созданных в портале страниц.

Parameters

ПараметрЗначение
Page nameИмя страницы, используемое при взаимодействии с виджетами
CSS Style classВыводимый HTML код виджета будет «обернут» в <DIV class=значение поля></DIV>.
Use TemplateКогда выбрана эта опция, то для отображения страницы используется шаблон vodd.user.page-NAME, где NAME - имя страницы. Виджеты будут привязываться в шаблоне страницы по их именам. Шаблоны размещаются в файле C:\Program Files (x86)\SL NEO Media Platform\docroot\vodd\user.xml в тегах <message id=«vodd.user.page-NAME»>. Если опция не используется или шаблон не найден, то по умолчанию используется последовательный вывод виджетов (позиция виджетов задается на вкладке Widgets).

Widgets

ПараметрЗначение
AddОткрывает диалог выбора виджета для добавления на страницу
DeleteУдаляет выбранный виджет
EditОткрывает диалог редактирования, где можно заменить выбранный виджет
UpПеремещает выбранный виджет вверх
DownПеремещает выбранный виджет вниз

Настройка главного меню портала.

Edit menu Item

ПараметрЗначение
Item TextИмя пункта меню
Item IconИконка к пунту меню. Если картинка берется из медиабазы, то указывается виртуальный путь: images/FILE_NAME. Или имя файла с расширением, если он лежит в папке: C:\Program files (x86)\SL NEO Media Platform\docroot\
CSS Style ClassЗадает CSS class для конкретного пункта меню
PageВыбор из списка страницы, куда будет осуществлен переход при клике на пункт меню.
Anchor widgetПрокрутка страницы до нужного виджета при переходе.
Login modeЗадает видимость пункта меню в зависимости от статуса авторизации пользователя в портале при переходе на страницу
  • Always - пункт меню отображается всегда
  • LoggedInOnly - пункт меню отображается, если пользователь авторизован
  • LoggedOutOnly - пункт меню отображается, если пользователь не авторизован

Поле ввода без имени - задает текст, который будет отображен при показе виджетов VideoAsset и NewsItem, для возможности возврата к виджетам VideoSearchList и NewsList соответственно. Например: «Вернуться к списку».

Для элементов главного меню добавляется css класс main_menu_item_current в том случае, когда пункт меню становится текущим.

Libraries

ПараметрЗначение
CSS librariesУказываются пути к CSS файлам через пробел. Файлы будут подключены в начале секции <BODY> в теге <link href=«…» rel=«stylesheet» type=«text/css»>, кототый указывет на виртуальный ресурс, динамически формируемый сервером. В этом ресурсе все внешние CSS файлы задаются через @import. Пример: vodd/video-js.css. Файлы должны размещаться в каталоге: C:\Program Files (x86)\SL NEO Media Platform\docroot\vodd\.
JS librariesУказываются пути к JS файлам через пробел. Файлы будут подключены в секции <HEAD></HEAD> портала. Пример: vodd/video.js. Файлы должны размещаться в каталоге: C:\Program Files (x86)\SL NEO Media Platform\docroot\vodd\

Live Streams

На вкладке Live Streams настраивается захват мультибитрейтных IPTS-потоков для их ретрансляции в HLS потоки.

Окно добавления нового потока.

ПараметрЗначение
Stream nameИмя потока, которое одновременно является именем файла с плейлистом HLS. Используется при доступе к потоку из виджетов и через URL. Если доступ к потоку будет осуществляться по URL из браузера, то рекомендуется указывать расширение: *.m3u8.
Stream EnabledОпция включает ретрансляцию потоков в HLS формате.
EncryptВключает AES128 шифрование данных HLS потока. Для просмотра такого потока необходим файл ключа шифрования. Ссылка на ключ шифрования автоматически добавляется в файл плейлиста m3u8.

Добавлено в версии 2.2.4.
Edit access keys…Диалог управления хранилищем ключей доступа к AES ключу шифрования - Access keys. В хранилище создаются ключи, представляющие собой произвольные пары значений Key + Key value, используемые для доступа к шифрованному HLS потоку без непосредственного входа на портал VOD.

Опция Require cookie authorization включает проверку авторизации клиента через Cookie перед отправкой ему AES ключа шифрования. Для успешного прохождения проверки требуется передать:
  • Cookie сессии, которая автоматически генерируется и отправляется при запросе шифрованного потока через портал. Данный механизм работает прозрачно для всех пользователей портала, и не требует от них дополнительных действий.
  • Cookie Name и Cookie Value, указываемые в настройках сервера Capture. Эти значения должны быть предварительно сохранены в хранилище Access Keys. Этот вариант используется, например, при региональных врезках рекламы, когда шифрованный HLS поток запрашивается напрямую без использования портала.

Если опция Require cookie authorization выключена, то файл AES ключа и просмотр шифрованного HLS потока доступны всем клиентам. Добавлено в версии 2.2.4.

Publish GloballyОпция разрешает доступ к Live HLS потоку по прямому URL адресу без необходимости доступа через web интерфейс. Поток публикуется по адресу: http://IP_ADDR:8000/live/NAME, где NAME - имя Live HLS, заданное в конфигурации. Этот опция используется, например, при региональных врезках рекламы для захвата потока через IP Capture в режиме WebCast.
Capture IPIP адрес, который будет использоваться для захвата IP потоков. Например: 225.1.110.1.
Multicast InterfaceIP адрес интерфейса, который будет использоваться для захвата IP потоков.
Variants
Опция позволяет указать номера портов для указанного IP адреса, на которых доступны версии потока с различным битрейтом, что позволяет сформировать плейлист с поддержкой адаптивного битрейта.

SCTE35 маркеры из входного IPTS-потока передаются в выходной HLS поток (в TS, в файл плейлиста m3u8 они пока не экспортируются).

Типы виджетов

NewsList

ПараметрЗначение
Widget nameИмя виджета
CSS Style classВыводимый HTML код виджета будет «обернут» в <DIV class=значение поля></DIV>.
News FolderПапка, откуда будут считываться элементы типа Note
View modeТип отображения списка
  • As List - последовательным списком
  • As Tiles - плиткой
Sort directionПорядок сортировки для режима отображения As List
  • Ascending - прямой вывод
  • Descending - обратный вывод
Tiles width (%)Ширина виджета относительно родительского элемента. Для режима отображения As Tiles.
Target pageСтраница, на которую будет осуществлен переход при клике на элемент Note, должна содержать один или несколько элементов типа NewsItem.
Target page anchor widgetВыбор элемента NewsItem, который отобразит данные элемента Note при переходе.

Вкладка Parameter Propagation.

Настройка позволяет передавать значения в переменные страницы назначения. Переменные доступны всем виджетам на странице.

ПараметрЗначение
Parameter sourceТип передаваемого значения:
  • CUSTOM_VALUE - будет передано произвольное строковое значение
  • PASS_THROUGH - передается текущее значение параметра, выбранного в Parameter value.
  • XMP_FIELD - будет передано значение XMP поля для выделенного клипа (указывается в формате namespace:field_name. Пример: sl:title).
Parameter valueЗначение передаваемого параметра, зависящее от поля Parameter source
Parameter destinationПеременная на странице перехода, куда будет записано передаваемое значение.
  • VD_NEWS_ITEM_ID
  • VD_VIDEO_SEARCH_REQUEST
  • VD_VIDEO_SEARCH_REQUEST_FIELDS
  • VD_VIDEO_SEARCH_REQUEST_FOLDER
  • VD_VIDEO_SEARCH_FILTER
  • VD_VIDEO_ITEM_ID

При показе страниц портала и обновлении параметров страниц значения параметров отображаются в System Log в панели управления.

NewsItem

Элемент для вывода единичной новости.

ПараметрЗначение
Widget nameИмя виджета
CSS Style classВыводимый HTML код виджета будет «обернут» в <DIV class=значение поля></DIV>
Default News Item IDMediaID элемента Note, который будет выведен элементом NewsItem.

TextBlock

Виджет, позволяющий выводить произвольный HTML код.

ПараметрЗначение
Widget nameИмя виджета
CSS Style classВыводимый HTML код виджета будет «обернут» в <DIV class=значение поля></DIV>
XHTML TextИспользование JavaScript не допускается.

VideoSearch

Виджет, отображающий поле ввода поискового запроса для VideoSearchList.

ПараметрЗначение
Widget nameИмя виджета
CSS Style classВыводимый HTML код виджета будет «обернут» в <DIV class=значение поля></DIV>
Button EnabledНастройка отвечает за отображение кнопки поиска. ON - включает отображение кнопки поиска, OFF - отключает отображение кнопки поиска (выполнение поиска осуществляется по нажатию кнопки Enter).
Button TextТекст, выводимый на кнопке поиска
Empty TextТекст, отображаемый при пустом поле ввода поискового запроса
Target pageИмя целевой страницы, на которую будет осуществлен переход при выполнении поискового запроса.
Target page anchor widgetИмя виджета VideoSearchList на целевой странице, которому передается поисковый запрос.

VideoBrowse

Отображает предварительно настроенный список поисковых запросов, связанный с определенными XMP-полями.

ПараметрЗначение
Widget nameИмя виджета
CSS Style classВыводимый HTML код виджета будет «обернут» в <DIV class=значение поля></DIV>
XMP Search fieldsСписок полей метаданных, где будет производиться поиск. Указывается список полей через запятую или пустое значение - поиск по всем полям. Пример: dc:title, dc:description, dc:place или sl:keywords
Target pageИмя целевой страницы, на которую будет осуществлен переход при клике на элемент списка
Target page anchor widgetИмя виджета VideoSearchList на целевой странице, которому передается поисковый запрос.
Edit categoriesОткрывает диалог редактирования списка поисковых запросов

Edit categories.

ПараметрЗначение
Category user textЗначение, которое будет отображено в интерфейсе портала
Category search requestЗначение, которое будет передано в качестве поискового запроса
Category search folderПуть к папке, где будет производиться поиск. Пусть указывается относительно корневой директории VOD. Например: films/new.

VideoSearchList

Отображает список видеоклипов в соотвествии с переданными параметрами. Принимает параметры поиска от виджетов VideoSearch и VideoBrowse. Вкладка General.

ПараметрЗначение
Widget nameИмя виджета
CSS Style classВыводимый HTML код виджета будет «обернут» в <DIV class=значение поля></DIV>
Asset FolderПуть к папке, где будет производиться поиск. Пусть указывается относительно корневой директории VOD. Например: films/new.
Default RequestПоисковый запрос, используемый по умолчанию, если в виджет передано пустое значение. * - выбор всех значений.
Default XMP Search FieldsСписок полей метаданных, где будет производиться поиск. Список полей указывается через запятую или пустое значение - поиск по всем полям. Пример: dc:title, dc:description, dc:place или sl:keywords
Target pageИмя целевой страницы, на которую будет осуществлен переход при клике на элемент списка
Target page anchor widgetИмя виджета VideoAsset на целевой странице, которому передается идентификатор выбранного клипа

Вкладка Parameters.

ПараметрЗначение
Loading Text XHTMLFIXME
Sort by Title Text FIXME
Sort by Date Text FIXME
Empty Search Text FIXME
Prev Page TextТекст кнопки перехода к предыдущей странице результата поиска
Next Page TextТекст кнопки перехода к следующей странице результата поиска
Items Per PageКоличество найденных элементов, выводимых на одной странице

Вкладка Parameter Propagation.

Настройка позволяет передавать значения в переменные страницы назначения. Переменные доступны всем виджетам на странице.

ПараметрЗначение
Parameter sourceТип передаваемого значения:
  • CUSTOM_VALUE - будет передано произвольное строковое значение
  • PASS_THROUGH - передается текущее значение параметра, выбранного в Parameter value.
  • XMP_FIELD - будет передано значение XMP поля для выделенного клипа (указывается в формате namespace:field_name. Пример: sl:title).
Parameter valueЗначение передаваемого параметра, зависящее от поля Parameter source
Parameter destinationПеременная на странице перехода, куда будет записано передаваемое значение.
  • VD_NEWS_ITEM_ID
  • VD_VIDEO_SEARCH_REQUEST
  • VD_VIDEO_SEARCH_REQUEST_FIELDS
  • VD_VIDEO_SEARCH_REQUEST_FOLDER
  • VD_VIDEO_SEARCH_FILTER
  • VD_VIDEO_ITEM_ID

При показе страниц портала и обновлении параметров страниц значения параметров отображаются в System Log в панели управления.

VideoAsset

ПараметрЗначение
Widget nameИмя виджета
CSS Style classВыводимый HTML код виджета будет «обернут» в <DIV class=значение поля></DIV>
Video Asset ProfileИмя профиля, который будет использоваться для воспроизведения клипа: WP1-WP8. Например: WP1.

LiveStream

ПараметрЗначение
Widget nameИмя виджета
CSS Style classВыводимый HTML код виджета будет «обернут» в <DIV class=значение поля></DIV>
Live Stream NameИмя потока, настроенного на вкладке Live Streams, который будет воспроизводиться виджетом.

Schedule

Виджет реализует воспроизведение контента VOD по плейлистам. Добавлен в версии 2.2.5.

ПараметрЗначение
Widget nameИмя виджета
CSS Style classВыводимый HTML код виджета будет «обернут» в <DIV class=значение поля></DIV>
News FolderИмя папки в медиабазе VOD, которую виджет Schedule будет сканировать в поиске элементов Note, содержащих импортированные плейлисты в формате CLF. Элементы Note с плейлистами должны именоваться следующим образом:
  • xxx_YYYY_MM_DD, где xxx - любой префикс, YYYY_MM_DD - дата выбранного в виджете дня.
  • xxx_default, где xxx - любой префикс.

Если файл с плейлистом не найден в указанной папке, то загружается файл с именем xxx_default.
На страницу портала вместе с виджетом Schedule нужно поставить виджет VideoAsset, который будет воспроизводить клипы из загруженного плейлиста.

Схема метаданных VOD

Tile Position - служит для позиционирования элементов списка при выводе в режиме View mode=As Tiles. Задается в формате X,Y,W,H, где X - позиция виджета по горизонтали, Y - позиция виджета по вертикали, W - условная ширина виджета, H - высота виджета. Пример: 1,1,2,2 - разместит элемент размером 2х2 в левом верхнем углу. Размер сетки, где будет позиционироваться контент, отсчитывается от левого верхнего угла экрана и задается максимальными значениями: X+W и Y+H.

Sort Position - служит для сортировки линейных списков, задается в числовом формате. Позиция элемента определяется направлением сортировки (ASC/DESC) и величиной указанного значения.

WebProxy

Для функционирования сервиса VOD необходимо активировать генерацию WebProxy в сервере MAM.

Воспроизведение контента по списку

Воспроизведение контента по списку было добавлено в версии 2.2.5. Данная функция реализуется виджетом Schedule в связке с виджетом VideoAsset.

Шифрование HLS данных

В версии 2.2.4 добавлена возможность шифрования данных HLS потоков и HLS VOD контента. Перейти к настройкам шифрования HLS потоков и шифрования HLS VOD контента (WebProxy).

Функциональная схема взаимодействия клиентов VOD с сервером VOD при работе с HLS. Красным цветом выделены этапы, которые происходят при использовании шифрования HLS данных.

Шаблоны

Файл C:\Program Files (x86)\SL NEO Media Platform\docroot\vodd\user.xml содержит в себе шаблоны портала, страниц и виджетов. Eсли этот файл не существует, то вместо него будет использоваться файл user-default.xml, который по умолчанию создается при установке VODD сервера.

Главный шаблон портала

Главный шаблон портала задается шаблоном vodd.user.root-container.

   <message id="vodd.user.root-container">
       ...html теги и встроенные переменные...
   </message>

Шаблоны страниц

Если в настройках страницы выбрана опция Use Template, то для отображения страницы используется шаблон vodd.user.page-NAME, где NAME - имя страницы. Если опция не используется или шаблон не найден, то по умолчанию используется последовательный вывод виджетов.

   <message id="vodd.user.page-NAME">
       ...html теги и встроенные переменные...
   </message>

Шаблоны виджетов

Для отображения виджетов используется шаблон vodd.user.NAME, где NAME - идентификатор виджета.

   <message id="vodd.user.NAME">
       ...html теги и встроенные переменные...
   </message>

Таблица доступных идентификаторов виджетов.

NAMEИмя виджетаПримечание
news-itemNewsItem
news-list-itemNewsList
video-assetVideoAsset
video-search-itemVideoSearchList
video-searchVideoSearch
logged-in-Системный виджет авторизованного пользователя
login-Системный виджет формы авторизации

Переменные в шаблонах

ПеременнаяОписание
${user-name}
${password}
FIXME

Добавлены следующие переменные шаблонов, которые параметризуются простыми строками и могут быть использованы, например, в качестве «src» для тэга «img».

vodd.user.news-item: news_item_picture_url vodd.user.news-list-item: news_list_item_icon_url vodd.user.video-search-list-item: video_search_item_icon_url

Нуждается в доработке

Скрипты в шаблонах

Вы можете использовать JavaScript в шаблонах следующим образом:

<script type="text/javascript">
      // <![CDATA[

      ... javascript код ...

      // ]]>
    </script>

Пример user.xml

Пример шаблона по умолчанию: C:\Program Files (x86)\SL NEO Media Platform\docroot\vodd\user-default.xml.

<?xml version="1.0" encoding="ISO-8859-1" ?>
<messages xmlns:if="Wt.WTemplate.conditions">

  <message id="vodd.user.login">
    <label class="form-horizontal">${user-name}</label>
    <label class="form-horizontal">${password}</label>
    ${remember-me} Remember me
    ${login class="btn-primary"}
    ${lost-password class="btn-link"} ${sep} ${register class="btn-link"} 
    ${<if:oauth>}, or use ${icons}${</if:oauth>}
  </message>

  <message id="vodd.user.logged-in">
    <b>${user-name}</b> ${logout}
  </message>

  <message id="vodd.user.root-container">
    ${back_button}
    ${menu_bar}
    ${login_widget}
    ${page_container}
  </message>

  <message id="vodd.user.page-not-found">
    ${label}
  </message>

  <message id="vodd.user.video-search">
    ${request_edit} ${search_btn}
  </message>

  <message id="vodd.user.video-search-list-item">
    ${video_search_item_icon}
    ${video_search_item_title}
    ${video_search_item_duration}
    ${video_search_item_summary}
    ${video_search_item_date}
  </message>

  <message id="vodd.user.video-asset">
    <video poster="${video_asset_poster_url}" 
           controls="true"
           preload="none"
           class="video-js vjs-default-skin">
      <source src="${video_asset_url}"
              type="${video_asset_media_type}"/>
    </video>

    ${video_asset_title}
    ${video_asset_summary}
    ${video_asset_text}
    ${video_asset_duration}
    ${video_asset_datetime}

    <script type="text/javascript">
      // <![CDATA[

      var video = this_widget.getElementsByTagName('video')[0];
      videojs(video, {}, function() {});

      // ]]>
    </script>
  </message>

  <message id="vodd.user.news-list-item">
    ${news_list_item_icon}
    ${news_list_item_title}
    ${news_list_item_summary}
    ${news_list_item_datetime}
  </message>

  <message id="vodd.user.news-item">
    ${news_item_picture}
    ${news_item_title}
    ${news_item_summary}
    ${news_item_text}
    ${news_item_datetime}
  </message>

</messages>
ru/manual/vod.txt · Последние изменения: 2017/02/14 14:26 — Dmitriy Sazhin

У Вас есть вопрос?
Гарантийное обращение

Введите данные с наклейки на верхней стороне сервера:

Наклейка на крышке сервере
1
2
3
×
Позвонить...
* - поля обязательны для заполнения
×
Написать

Техподдержка по телефону и email доступна в рабочие дни и часы.

Вы можете позвонить нам в понедельник после 11 часов или написать сейчас!

+7 (812) 944-04-76
Сергей Перминов
+7 (812) 930-04-76
Дмитрий Сажин


Если с вашей компанией заключен договор круглосуточной поддержки, используйте контактные телефоны, указанные в нем.
×
Обращение принято

Благодарим Вас за обращение в службу поддержки!

Вашему обращению присвоен номер:

  • Подтверждение обращения направлено на указанный Вами email-адрес.
  • Наш специалист свяжется с Вами в ближайшее время.