Медиа правила

Описание

В рамках управления IPTV-вещанием может возникнуть множество причин, по которым для корректного и контроллируемого воспроизведения одного и того же контента на разных типах устройств могут потребоваться разные видеопотоки. Это может быть обусловленно как требованиями к протоколам сетевого взаимодействия и воспроизведения видео со стороны платформ этих устройства, так, например, и необходимостью диверсификации доступа к контенту со стороны провайдера в зависимости от реализуемой им политики предоставления услуг. Также разделение потоков возможно в рамках модели предоставления источников контента для различных платформ его поставщиками. В любом из этих случаев возникает ситуация в которой устройство, соотвествующее определенным критериям, должно получать специфический URL для воспроизведения контента.

Медиа правила позволяют генерировать необходимые устройствам URL, исходя из свойств и параметров этих устройств.

В медиа правиле задаются один или несколько ключевых параметров устройства, к которым относятся:

  • тип устройства;

  • тип клиента;

  • провайдер;

  • сеть;

  • регион.

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

С каждым правилом должно быть связано медиа действие. Оно определяет параметры, в соответствии с которыми будут выбраны медиа серверы, с которых будет осуществлятся вещание на соответствующие правилу устройства. К этим параметрам относятся:

  • схема

  • протокол

  • тип вещания сервера (live или dvr)

  • медиа тег

  • тег канала

После того как на основе этих параметров будет составлен список подходящих медиа серверов связанных с каналом, просмотр которого запрашивается, из них будет выбран один - тот, приоритет которого будет наибольшим. На поток с этого сервера и будет сформированна ссылка, передаваемая на соотвествующие правилу устройства. Она будет генерироваться на основе шаблона URL, заданного для типа выбранного медиа сервера.

Алгоритм генерации URL при работе с медиа правилами описывает следующая блок схема:

../../_images/flowchart.png
Для того чтобы устройство получило динамический URL, должны быть соблюдены следующие требования:
  • В настройках канала поле URL должно быть пустым;

  • Должно быть создано Медиа правило;

  • Канал должен быть добавлен в разделе Медиа в настройках Медиа сервера;

  • Должен быть создан Шаблон

Медиа правило

Mедиа правила определяют выбор конкретного медиа действия в зависимости от типа и параметров устройства, обращающегося за сслыкой на поток, а также, при необходимости, праметров провайдера с которым связано это устройство.

В разделе Медиа правила TMS представлен упорядченный по приоритету список правил: при обращении устройства на TMS за ссылкой на контент, правила перебираются сверху вниз. Первое полное совпадение параметров правила, через которое осуществляется перебор, с парметрами обратившегося устройства завершает перебор после чего для устройства применяется соотвествующее этому правилу медиа действие.

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

../../_images/rule_main.png

Основная информация

Название:

Название правила.

Действие:

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

Параметры провайдера

Провайдер:

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

Сеть:

Сеть, к устройствам находящимся в которой применится данное правило. Можно указать как подсеть (в формате X.X.X.X/YY), так и единственный IP-адрес (в формате X.X.X.X/32).

Регион:

Регион, для которого будет применяться данное правило.

Параметры устройства

Класс устройства:

Класс устройства, к которому применяется данное правило. Данное поле представляет из себя выпадающий список, содержащий следующие классы устройств:

  • stb - медиацентры;

  • phone - мобильные устройства;

  • web - web-player для браузеров;

  • tv - телевизоры;

  • tablet - планшеты.

Тип клиента:

Тип клиентского приложения, к которому применяется данное правило. Данное поле представляет из себя выпадающий список, содержащий следующие типы приложений:

  • tms_client;

  • tvip_native;

  • tms_portal;

  • tvip_native_nacl.

Заголовок User-agent:

HTTP-заголовок User-agent, передаваемый в TMS при запросе плейлиста клиентским устройством, к которому должно применяться данное правило. Данное поле заполняется с помощью регулярного выражения.

Загловок Device-OS:

HTTP-заголовок Device-OS, передаваемый в TMS при запросе плейлиста клиентским устройством, к которому должно применяться данное правило. Данное поле заполняется с помощью регулярного выражения.

Устройство:

UID клиентского устройства, к которому должно применяться данное правило.

Тип устройства:

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

Использовано для:

Live - применять правило при запросе ссылок на live-трансляции, DVR - применять его при запросах на доступ к DVR-архиву. Возможен одновременный выбор обоих вариантов.

Настройки сети провайдера:

Определяет применимость правила к устройству в зависисмости от его присутствия в IP-сети провайдера. Доступно три варианта:

  • Устройство в сети провайдера

  • Устройство не в сети провайдера

  • Не имеет значения

Медиа действие

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

При создании медиа действия необходимо заполнить следующие поля:

../../_images/media_action.png
Название:

Название медиа действия.

Протокол:

Протокол в котором должно осуществлятся потоковое вещание с выбираемого медиа-сервера.

Схема:

Схема URL потока, которую должен использовать выбираемый медиа-сервер.

Медиа тег(и):

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

Тег канала:

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

Медиа сервер

Медиа сервер – описание сервера, который имеет определенный тип, поддерживаемые схемы (http/https), адрес подключения к серверу, его приоритет и список каналов, доступных на данном сервере (во вкладке Медиа), которые содержит данный сервер.

../../_images/media_server.png
Название:

Название сервера.

Схемы:

Схемы в соответствии с которыми осуществляется вещание с данного сервера. Доступны следующие значения: HTTP, HTTPS, UDP, RTP, RTMP. Возможен выбор нескольких значений.

Хост:

IP-адрес или доменное имя сервера.

Порт:

Порт, на котором осуществляется подключение к серверу.

Медиа тег(и):

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

Тип медиа сервера:

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

Приоритет:

Приоритет выбора сервера. Сервер у которого это значение больше будет предпочтительней в процессе выбора.

Роли:

Live и/или DVR.

Глубина DVR по умолчнаию:

Глубина архива DVR для стримов, доступных на этом сервере. Настройка имеет смысл в случае, если для сервера настроена роль DVR.

Внимание

Глубина архива из настроек медиа сервера будет применена только в том случае, если она не указана в настройках канала и медиа.

Предупреждение

В случае использования медиа правил настройка ARCHIVE тарифного плана игнорируется.

На вкладке Медиа можно добавлять каналы, вещание которых осуществляется с данного медиа сервера.

../../_images/media.png

При привязке канала к серверу подобным образом доступны следующие поля, часть из которых является обязательными к заполнению:

Медиа сервер:

Выпадающий список для выбора медиасервера. При заполнении из интерфейса создания медиа сервера данное поле заблокировано для редактирования - в этом случае по умолчанию идёт привязка к создаваемому серверу.

Глубина архива по умолчанию:

Глубина архива, которая будет применена к данному каналу при его траснсляции с этого сервера.

Внимание

Глубина архива из данного поля будет применена только в том случае, если глубина архива не указана в настройках Channel.

Канал:

Название канала в TMS. Это поле обязательно для заполнения. При заполнении из интерфейса создания канала (на вкладке Медиа ресурсы) данное поле заблокировано для редактирования - в этом случае по умолчанию идёт привязка к создаваемому каналу.

Resource ID:

Системное название канала на создаваемом медиа сервере. Применяется при создании ссылки на стрим, в шаблоне заменяет своим значением атрибут <resource>. Это поле обязательно для заполнения.

Описание:

Какое-либо описание канала.

Тип медиа сервера

Тип медиа сервера определяет то, какие протоколы потокового вещания поддерживаются сервером и то, по какому шаблону формируются конечные URL транслируемых им потоков. Так как эти параметры во многом определяются ПО, используемым для стриминга, то для идентификации типов медиа серверов удобно использовать названия конкретных реализаций или вендоров. К примеру, типами медиа серверов являются TVIP Mira и Flussonic.

По умолчанию, в TMS уже добавлены 3 типа сервера:
  • Multicast;

  • TVIP MIRA;

  • Flussonic.

../../_images/default_types.png

При необходимости, можно добавлять новые типы медиа серверов.

../../_images/server_type.png
Название:

Название типа сервера.

Протокол:

Протокол для типа сервера: HLS, DASH, RTSP, RTMP. Доступен выбор нескольких значений.

Шаблон

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

../../_images/default_patterns.png

Доступно создание новых шаблонов. При создании нового или редактировании созданного ранее шаблона все доступные поля являются обязателными для заполнения.

../../_images/pattern.png
Название:

Название шаблона.

Шаблон:

Шаблон для конечного URL потока. Можно задать его самостоятельно или выбрать из подготовленных шаблонов.

Протокол:

Протокол потокового вещания.

Тип медиа сервера:

Тип сервера, для которого может быть использован шаблон.

Следующие поля определяют формат ссылок на превью-изображения. Перечисленные в них шаблоны сначала передаются TMS на клиентское устройство (как часть файла channels.json, содержащего информацию о каналах), после чего оно использует их для генерации ссылок на превью-изображения, которые запрашивает у стримера.

Шаблон URL-адреса предварительного просмотра скриншота:

Формат ссылки на превью-изображение живой трансляции. Передается клиентскому устройству от TMS вместе с информацией о канале (в свойстве preview.screenshot.live_url объектов каналов, содержащися в channles.json) - на основе этого шаблона устройство будет формировать ссылку на превью живой трансляции, после чего - использовать её для запроса этого превью у медиа сервера. Значение по умолчанию: {schema}://{host}/{resource}/preview.mp4.

Шаблон URL-адреса временного сдвига:

Формат ссылки на превью-изображение из архива, которое отображается при перемотке. Передается клиентскому устройству от TMS вместе с информацией о канале (в свойстве preview.screenshot.tshift_base_url объектов каналов, содержащихся в channles.json) - на основе этого шаблона при перемотке устройство будет формировать ссылку на превью-изображение определенного момента времени в архиве трансляции, после чего - использовать эту ссылку для запроса превью у медиа сервера. Для задания временного диапазона используются динамические переменные. Значение по умолчанию: {schema}://{host}/{resource}/${Y}/${m}/${d}/${H}/${M}/${S}-preview.mp4.

Шаблон URL-адреса просмотра видео:

Формат ссылки на превью-изображение, подгружаемого раз в несколько секунд для создания покадрового видео. Передается клиентскому устройству от TMS вместе с информацией о канале (в свойстве preview.video.live_url объектов каналов, содержащихся в channles.json). Значение по умолчанию: {schema}://{host}/{resource}/preview.mp4.

Пример использования

Создадим динамические URL для канала Example Channel с учетом следующих параметров:

  • Для Медиацентрорв TVIP S-Box - Live и Dvr, HLS поток, схема HTTP;

  • Для Android TV - Live и Dvr, HLS поток, схема HTTPS;

  • Для мобильных устройств - Live и Dvr, HLS поток, схема HTTP и HTTPS;

  • Для Smart TV Tizen и WebOS - Live и Dvr, HLS поток, схема HTTP и HTTPS;

  • Для всех остальных устройств - Live и Dvr, HLS поток, схема HTTP;

  • В текущем примере серверы для Live и DVR будут разными.

Выбираем тип медиа сервера TVIP MIRA.

../../_images/example_server_type.png

Добавим Live и DVR сервера:

../../_images/example_live.png ../../_images/example_dvr.png

И добавим канал Example Channel в раздел Медиа обоих созданных медиа серверов:

../../_images/media_live.png ../../_images/media_dvr.png

Убедимся, что есть подходящие шаблоны Dvr и Live для нашего типа сервера TVIP MIRA:

../../_images/pattern_dvr.png ../../_images/pattern_live.png

Для каждого типа устройств создадим отдельное медиа действия:

../../_images/action_stb.png ../../_images/action_atv.png ../../_images/action_mobile.png ../../_images/action_smart.png ../../_images/action_all.png

Теперь мы можем создать медиа правило для каждого из типов устройств. Определять устройство будем по параметру Заголовок User-Agent.

Для Tvip S-Boxes:

../../_images/rule_stb.png

Для Android TV:

../../_images/rule_atv.png

Для мобильных устройств:

../../_images/rule_mobile.png

Для Smart TV:

../../_images/rule_smart.png

Для всех остальных устройств:

../../_images/rule_all.png

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

../../_images/media_dash.png