Содержание

Настройка функционала приставки провайдером (provisioning)

Для настройки функционала STB используется специальный xml-файл, размещенный по постоянному адресу http://[PROVISION_ADDR]/prov/tvip_provision.xml

Адрес сервера provisioning [PROVISION_ADDR] находится в файле /etc/default_provision_server (В стандартной прошивке это tvipstb.net)

Разным приставкам в сети можно отдавать разные варианты данного xml файла средствами веб-сервера, в зависимости от IP-адреса или MAC-адреса устройства (Header: Mac-Address).

Пример выдачи различных ограничений в зависимости от MAC-адреса STB для веб-сервера nginx:

                if ($http_mac_address) {
                    set $tvipmac M;
                }
                if ( -d "/var/www/tvipstb.net/prov.mac/$http_mac_address/" ) {
                    set $tvipres  F$tvipmac;
                }
                if ( $tvipres = FM ) {
                    rewrite ^/prov/(.*)$ /prov.mac/$http_mac_address/$1 break;
                }

В данном примере запросы с разными MAC-адресами попадают в разные каталоги на веб-сервере: /var/www/tvipstb.net/prov.mac/МАК_АДРЕС_УСТРОЙСТВА/

:!: Если при запросе URL http://tvipstb.net/prov/tvip_provision.xml приставка получает ошибку 404, все настройки провайдера отменяются.

Выбор сервера провиженинга медиацентром

По-умолчанию провиженинг производится с сервера http://tvipstb.net. Существует возможность его переопределения через настройки провижининга, через протокол TR-069, через выдачу специальных опций DHCP-сервером.

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

  1. /var/tvip/provision_server - наивысший приоритет, адрес сервера, прописываемый вручную. По умолчанию данного файла в медиацентре нет.
  2. TR-069 - адрес сервера, полученный от ACS TR-069
  3. адрес зашитый в устройстве, может быть установлен на этапе производства и переопределен файлом провиженинга, на всех медиацентрах, кроме S-Box v.300 и v.310, сброс к заводским настройкам не сбрасывает данное значение.
  4. /var/tvip/provision_server.dhcp - адрес сервера, полученный по DHCP
  5. Значение в прошивке (В стандартной прошивке это tvipstb.net), сброс к заводским настройкам не сбрасывает данное значение.

Конфигурирование домена для провижионинга tvipstb.net

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

пример конфигурации домена tvipstb.net для bind:

$TTL 1200
tvipstb.net        IN SOA  ***HOSTNAME_ВАШЕГО_DNS***. dnsmaster.tvipstb.net. (
                                201380101 ; serial
                                10800      ; refresh (3 hours)
                                3600       ; retry (1 hour)
                                604800     ; expire (1 week)
                                3600       ; minimum (1 hour)
                                )
                        NS      ***HOSTNAME_ВАШЕГО_DNS***.
                        A       *******АДРЕС_ВАШЕГО_СЕРВЕРА****

Файл tvip_provision.xml

Базовая структура файла tvip_provision.xml:

<?xml version="1.0"?>
<provision reload="86400">
  <!-- Modules -->
</provision>

Атрибут reload указывает интервал проверки обновлений приставкой файла tvip_provision.xml на сервере в секундах. По-умолчанию: 86400. Вместо <!– Modules –> находятся теги модулей настройки, описанные ниже.

Модули

Информация о сервере обновлений

Поддерживается начиная с прошивки 1.0.28
Используется в случае, если оператор использует локальное зеркало обновлений или просто желает использовать адрес сервера обновлений, отличный от tvipupdate.net

<update_server name="tvipupdate.operator.domain" />

Атрибут name задает имя сервера обновлений.

  • Алгоритм обработки приоритетов адресов серверов обновлений
  • Указанный адрес сервера будет записан в /var/tvip/update_server.prov
  • Все официальные обновления всегда доступны на альтернативном сервере обновлений: update.tvip.ru

Информация о сервере TR-069 (ACS)

Поддерживается начиная с прошивки 3.8.6
Позволяет установить URL, логин и пароль для подключения к ACS по протоколу CWMP.

<tr69_server url="http://myacs.net/TR-069" user="test" password="test" />

Информация о сервере syslog

Поддерживается начиная с прошивки 3.9.13
Позволяет указать ip-адрес сервера syslog на который приставка будет дублировать лог /var/log/syslog. При передаче используется протокол UDP и порт 514.

<syslog_host name="1.1.1.1"/>

Информация о сервере статистики

Поддерживается начиная с прошивки 4.0.13
Позволяет указать URL сервера на который приставка будет посылать статистику

<statistics url="http://netsol.su/stbstat/index.php" accum_period="45">
  <media />
  <network period="20" />
</statistics>

Атрибуты тега statistics:

  • url - адрес сервера, на который будет передаваться статистика
  • accum_period - период в секундах, за который статистика аккумулируется и пересылается серверу

Атрибуты тега network (сброс статистики сетевых интерфейсов):

  • period - период съема статистики с сетевых интерфейсов.

Атрибуты тега media отсутствуют, при его наличии - приставка будет посылать статистику по потоку после его окончания.

Информация о provisioning сервере

Поддерживается начиная с прошивки 3.1.0
Позволяет перенаправить запрос настроек оператора на другой сервер provisioning. Запрос на новый сервер будет выполнен немедленно.

<provision_server name="tvipstb.net" />

Атрибут name задает имя нового сервера provisioning.
Начиная с прошивки 3.4.x, адрес сервера сохраняется даже при сбросе приставки к заводским настройкам.
Для сброса адреса сервера необходимо в явно указать пустой атрибут name:

<provision_server name="" />

Перезагрузка приставки при обновлении провижининга

Поддерживается начиная с прошивки 3.4.0

<restart value="reboot" />

Возможные значения:
shell - реинициализация приложения.
reboot - перезагрузка приставки.

Информация о типах обновлений

Поддерживается начиная с прошивки 3.1.0
Задает список типов обновлений, на которые разрешена перепрошивка пользователем. Например, пользователи могут иметь доступ к Beta и Release версиям прошивок. Версия «release» присутствует в меню всегда в виде пункта «По-умолчанию».

<update_types>
  <device id="s400a">
    <type name="Android/Beta" os="android" type="beta" />
    <type name="Linux-Qt/Release" os="linux-qt" />
  </device>
  <device id="s300" force_type="release" force_os="linux">
  </device>
</update_types>

Атрибут id в теге device задает тип медиацентра, к которому применяется настройка (например, s410, s500, s500a).

Атрибуты тега type:

  • name - название типа обновления для отображения пользователю;
  • os - тип операционной системы (например, «linux», «linux-qt», «android»);
  • type - тип обновления в указанной ОС (например, «release», «beta»).

Если не указан атрибут os, то по-умолчанию подразумевается текущая установленная ОС. Если не указан атрибут type, то по-умолчанию подразумевается тип «release». По-умолчанию означает что данный параметр не менялся вручную через меню, либо не установлен принудительно (force) через provisioning.

Возможна принудительное указание типа обновления через установку атрибутов:

  • force_os - тип операционной системы (например, «linux», «linux-qt», «android»);
  • force_type - тип обновления в указанной ОС (например, «release», «beta»).

В данном примере приставки S400 (на ОС Android) имеют доступ к прошивкам типа «android/release» (по-умолчанию) и к Beta-прошивкам на ОС Android («android/beta»). Также они имеют возможность смены ОС на Linux-QT («linux-qt/release»).
Приставки S300 имеют доступ только к «release» версиям текущих linux-прошивок. Также тип обновления всегда выставляется в «release» автоматически.

Подробнее о типах прошивок в истории версий.

Управление установкой обновлений

Поддерживается начиная с прошивки 3.4.0

<updates>
  <update_background force="true" value="true" />
  <update_force force="true" value="true" />
  <update_period force="true" value="10800" />
</updates>

update_background - В диалоге «доступно обновление» будет принудительно запущен таймер обновления (вне зависимости от локальных настроек).
update_force - В диалоге «доступно обновление» не будет кнопки «отмена».
update_period - Периодичность проверки обновлений в секундах (возможны любые значения в диапазоне от 3600 до 86400 секунд). Период порверки менее часа можно установить только локально через интерфейс приставки.

Для принудительного включения нужного режима необходимо у нужного парамерта указать атрибут force с значением «true».

Информация об операторе

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

<operator name="Operator_Name" />

Атрибут name задает имя оператора.

:!: Следующие атрибуты доступны, начиная с версии 3.8.11.
tv_app_name - задает название ТВ приложения вместо стандартного «Телевидение».
tv_app_icon - задает идентификатор альтернативной иконки для приложения ТВ.

Логотип оператора

Устанавливает URL логотипа для отображения в главном меню. Ограничения:

  • формат PNG, разрешен альфа-канал
  • размер не более 300×300 пикселей
  • для версии прошивки 4.0.11 и выше: рекомендуемый размер ширина 230 пикселей, высота 110 пикселей, в случае если используется изображение большего размера оно автоматически масштабируется в указанный размер с сохранением пропорций

Для принудительного обновления логотипа необходимо изменить URL изображения.

В случае если используется баннер - логотип отключается (справедливо для версии 4.0.11 и выше)

<logo url="http://tvipstb.net/prov/logo.png" />

Атрибут url содержит URL логотипа на сервере оператора.

Поддерживается начиная с прошивки 4.0.11

Устанавливает URL баннера для отображения в главном меню.

Ограничения: формат PNG, размер 1920×180 пикселей, ознакомьтесь с рекомендациями по оформлению баннера

Для принудительного обновления логотипа необходимо изменить URL изображения.

<banner url="http://tvipstb.net/prov/banner.png" />

Атрибут url содержит URL баннера на сервере оператора.

Загрузочный экран

Поддерживается начиная с прошивки 3.4.0
Устанавливает URL изображения для отображения при загрузке приставки. Ограничения: формат BMP, размер 1280×720 пикселей. Глубина цвета 24bpp. Для принудительного обновления логотипа необходимо изменить URL изображения.

<bootlogo url="http://tvipstb.net/prov/tvip_splash.bmp" />

Атрибут url содержит URL логотипа на сервере оператора.

Настройка времени и часового пояса

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

<time tz="Europe/Moscow" ntp="ru.pool.ntp.org"  />

Аттрибут tz (с прошивки 1.1.25) задает часовой пояс в формате zoneinfo. Аттрибут ntp (с прошивки 1.1.31) задает адрес NTP-сервера.

В данном примере часовой пояс устанавливается на Москву, а сервер NTP на ru.pool.ntp.org.

Разрешенные приложения

Позволяет ограничивать доступ к приложениям медиацентра, таким как DVR, CCTV, VOD, медиаплеер.

Типы приложений: mediaplayer - медиаплеер, dvr - видеомагнитофон, cctv - видеонаблюдение, vod - видео по запросу (в разработке). В прошивках от 3.3.x также доступны: tv - телевидение, settings - настройки, apps - приложения (Android). В прошивка от 3.9.x также доступно: navigator - браузер.

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

<features>
  <mediaplayer enabled="true" />
  <dvr enabled="true" />
  <cctv enabled="false" />
  <vod enabled="false" />
  <navigator enabled="false" />
</features>

Имя тега - тип приложения, атрибут enabled - доступно (true) или недоступно (false).

В данном примере доступны приложения IPTV, Медиаплеер, Видеомагнитофон (DVR). Недоступны: Видеонаблюдение (CCTV), Видео по запросу (VOD).

Добавление и скрытие Веб-приложений

:!: Модуль доступен только в прошивках типа Linux-Qt, начиная с версии 3.3.1.

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

<webapps override="true">
   <app name="youtube" title="YouTube" uiwidth="1280" uiheight="720" url="http://youtube.com/tv" api="html5" />
   <app name="lk" title="Личный кабинет" icon="account" uiwidth="1280" uiheight="720" url="http://private.provider.com" api="mag"/>
</webapps>

Данный код скрывает все Веб-приложения по-умолчанию и добавляет YouTube и личный кабинет провайдера.

Если атрибут override равен true, то все приложения по-умолчанию будут скрыты; если false, то новые приложения будут добавлены к уже существующим в прошивке.

Атрибуты веб-приложения:
name - уникальное имя приложения (латинские буквы без пробелов), не должен пересекаться с зарезервированными именами (см. ниже) и с именами уже имеющихся Веб-приложений;
title - название для отображения в меню;
icon - кодовое имя иконки в главном меню;
bgr - URL до изображения в формате PNG которое будет использовано вместо плитки приложения. Ограничения: ширина 330 px и высота 185 px, начиная с версии 4.0.11 uiwidth и uiheight - разрешение для отображения страницы;
url - адрес Веб-страницы;
api - типа STB API (tvip/mag/html5/youtube);
proxy - HTTP/HTTPS прокси сервер (при необходимости).

Обязательные атрибуты: name, title, uiwidth, uiheight, url, api. Если иконка не задана, используется поле name. Если иконка не найдена, используется иконка «vod».

Зарезервированные имена приложений name: «tvplayer» (ТВ), «dvr» (Видеомагнитофон), «mediaplayer» (Медиаплеер), «vod» (Кино), «cctv» (Видеонаблюдение), «preferences» (Настройки), «allapps» (Приложения Android). Имена веб-приложений по-умолчанию: «account» (Личный кабинет), «youtube» (Youtube), «vidimax» (Vidimax), «ivi» (Ivi.ru), «megogo» (MEGOGO.NET), «tvzavr» (TVZavr).
Имена для для атрибута icon соответствуют зарезервированным именам name. Для собственного Веб-приложения можно использовать любую из доступных иконок.

Приложения по-умолчанию имеют следующую конфигурацию:

<webapps>
    <app name="youtube" title="YouTube" uiwidth="1280" uiheight="720" url="http://apps.tvip.ru/apps/youtube/?referrer=about:back" api="youtube" dial_title="YouTube" dial_origin="*.youtube.com"  />
    <app name="youtube_kids" title="YouTube Kids" uiwidth="1280" uiheight="720" url="http://apps.tvip.ru/apps/youtube_kids/?referrer=about:back" api="youtube" />
    <app name="tvzavr" title="TVZAVR" uiwidth="1280" uiheight="720" url="http://apps.tvip.ru/apps/tvzavr2/?referrer=about:back" api="html5" />
    <app name="ivi" title="IVI" uiwidth="1280" uiheight="720" url="http://apps.tvip.ru/apps/ivi/?referrer=about:back" api="tvip" />
    <app name="tvigle" title="Tvigle" uiwidth="1280" uiheight="720" url="http://apps.tvip.ru/apps/tvigle/" api="tvip" />
    <app name="tvigletv" title="Больше ТВ" uiwidth="1280" uiheight="720" url="http://apps.tvip.ru/apps/btv/" api="tvip" />
    <app name="tviglemusic" title="Русская музыка" uiwidth="1280" uiheight="720" url="http://apps.tvip.ru/apps/rumusic/" api="tvip" />
    <app name="8channel" title="8 канал" uiwidth="1280" uiheight="720" url="http://apps.tvip.ru/apps/8channel/" api="tvip" />
    <app name="megogo" title="MEGOGO.NET" uiwidth="1280" uiheight="720" url="http://apps.tvip.ru/apps/megogo/?referrer=about:back" api="mag" />
    <app name="plex" title="Plex" uiwidth="1280" uiheight="720" url="http://apps.tvip.ru/apps/plex/" api="html5" />
</webapps>

Конфигурация по-умолчанию в прошивке находится в файле: /home/tvip/profiles/<profile>/tvip_webapps.xml

Чтобы вернуться в главное меню, приложение должно переходить на страницу «about:back» при выходе.

Чтобы отключить все Веб-приложения, используйте код:

<webapps override="true">
</webapps>

В текущих прошивках для корректного применения настроек Веб-приложений требуется перезагрузка приставки!

Установка типа транспортного потока

Позволяет установить тип транспортного потока: мультикаст или UDP-прокси.

<tv_stream type="multicast" tsbuffer="100"/>

Атрибут type устанавливает тип потока. В данном примере: мультикаст. Возможные значения: multicast,udpxy

Атрибут tsbuffer устанавливает размер MPEG-TS буфера с мсек. (по умолчанию 0мс, Поддерживается начиная с прошивки 3.3.1 )

<tv_stream type="udpxy" server="http://user:pwd@host.ru:4022" />

В данном примере типа потока UDP-прокси. Адрес udpxy сервера в формате server_address:port или user:password@server_address:port задается атрибутом server.

Настройка протоколов IPTV

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

<tv_protocols default="tvip" force="tvip">
</tv_protocols>

dafault - задает тип Middleware по умолчанию.
force - принудительно выставляет тип Middleware.

Поддерживаемые типы Middleware:

  • tvip - TVIP Middleware.
  • jsonapi - TVIP Json Middleware API.
  • m3u - M3U плейлист.
  • iptvportal - IPTVPORTAL Middleware.
  • stalker - Stalker Middleware.
  • browser - Middleware в режиме веб-приложения (поддерживается только в прошивках Linux-Qt).

Настройка сервера для TVIP JSON Middleware API

<tv_protocols default="jsonapi">
 <protocol type="jsonapi" server="http://api.operator.com/" />
</tv_protocols>

URL для доступа к API устанавливается атрибутом server.

Настройка сервера для IPTV-портал

Требуется только если оператор использует собственный сервер IPTV-портал.

<tv_protocols default="iptvportal">
 <protocol type="iptvportal" server="go.iptvportal.ru" />
</tv_protocols>

Доменное имя сервера устанавливается атрибутом server.

Настройка M3U плейлиста и XMLTV/JTV телепрограммы.

Позволяет предустановить URL для загрузки списка каналов в формате M3U и телепрограммы в формате XMLTV или JTV.

<tv_protocols default="m3u">
  <protocol type="m3u" m3u="http://operator.com/channels.m3u" epg="http://operator.com/epg.zip" />
</tv_protocols>

URL m3u плейлиста задается атрибутом m3u. URL телепрограммы задается атрибутом epg.

Настройка сервера для Stalker Middleware

Требуется только если оператор использует Stalker Middleware.

Поддерживается начиная с прошивки 1.0.31

<tv_protocols default="stalker">
 <protocol type="stalker" server="http://provider.net/stalker_portal" />
</tv_protocols>

URL Портала Stalker устанавливается атрибутом server.

Настройка сервера для Веб-приложения ТВ-портала

Настройка ТВ-портала вместо IPTV-приложения TVIP. Доступно в прошивках типа linux-qt.

<tv_protocols default="browser">
 <protocol type="browser" server="http://provider.net/portal/" api="tvip" noui="false" />
</tv_protocols>

Атрибут server устанавливает URL портала (middleware) для браузера; api задает тип JavaScript API, используемый на данном портале («tvip», «mag», «html5»). Если атрибут noui равен true стандартный интерфейс TVIP полностью заменяется браузером, если false, то портал браузера работает только в разделе ТВ.

Опциональные атрибуты:
proxy - HTTP/HTTPS-прокси сервер;
uiwidth и uiheight - разрешение для отображения страницы(по умолчанию 1280×720);
cas - тип CAS (на данный момент только «ares» для IPTVPORTAL).
multi_portal - включить (true) или выключить (false) Менеджер порталов. (доступен с v.3.8.19);
multi_portal_params - если включен Менеджер порталов, опция позволяет предопределить порталы, доступные пользователю. (доступно с v.3.8.19);
Параметры для Менеджера Порталов задаются по следующему шаблону: "server1=Server 1 Name|http://server1.domain/path&server2=Server 2 Name|http://server2.domain/path"

Параметры Безопасности

Поддерживается начиная с прошивки 3.4.0

Позволяет настроить функции блокировки ТВ-каналов и приложений.

Например:

<security>
        <enabled value="true" force="true" />
        <password value="0000" force="true" />
        <autolock_timeout value="600" force="true" />
        <channel_default_locked value="true" />
        <channel_adult_lock value="true" />
        <operator_forced_age value="18" />
        <disabled_apps force="true" value="vidimax,youtube" />
</security>

Параметр enabled включает режим безопасности, одновременно с ним нужно установить код разблокировки password. Для принудительного включения режима - необходимо у параметров enabled и password указать атрибут force с значением «true».
autolock_timeout - задает таймаут автоблокировки в секундах.
channel_default_locked - Блокировки ТВ-каналов (true - Из черного списка, false - Все, кроме белого списка).
channel_adult_lock - Блокировать каналы для взрослых (поддержка блокировки каналов из Middleware (TVIP, Stalker, IPTVPORTAL)). Только для прошивок 3.8 и ниже.
operator_forced_age - Блокировать каналы для взрослых с меткой возраста равной и более указанной. Только для прошивок 4.0.11 и выше.
disabled_apps - Указанные через запятую приложения будут требовать ввода кода разблокировки.

Настройки Дисплея

Поддерживается начиная с прошивки 3.4.0

<display>
  <hd_format value="720p50" />
  <hdmi_autofr value="true" />
  <sd_format value="auto" />
  <aspect value="box" />
  <cec value="false" force="true" />
  <sync_standby value="true" />
</display>

hd_format - Разрешение HDMI-выхода (auto,2160p50,2160p60,1080p50,1080p60,1080i50,720p50,720p60,576i50).
sd_format - Формат A/V-выхода (auto,pal,ntsc).
hdmi_autofr - Включение для HDMI-выхода - автоматического определения частоты кадров.
cec - Включение функции HDMI-CEC.
aspect - Соотношение сторон видео по умолчанию (box,zoom,full), Для выбора соотношения сторон по умолчанию value=«».
sync_standby - Переводить приставку в сон и обратно при выключении/включении ТВ (поддерживается не на всех медиацентрах, с прошивки 4.0.13).

Для принудительного включения нужного режима необходимо у нужного парамерта указать атрибут force с значением «true».

Настройки перехода в спящий режим

Поддерживается начиная с прошивки 3.8.6

  <auto_standby timeout="3600" force="true" />

timeout - время неактивности в секундах, после которого происходит переход в спящий режим (возможные значения: от 60 до 2500000, или 0 - выкл.).
force - true -переназначать значение пользователя.

Настройки Оформления

Поддерживается начиная с прошивки 3.4.0

<appearance>
  <uialpha value="50" />
  <animation value="true" force="true" />
  <listlooped value="true" />
  <uipadding value="large" />
  <tv_preview_mode value="true" force="true" />
  <tv_cursor_mode value="true" />
  <display_channel_numbers value="true" />
  <channel_icons_aspect value="1.777"/>
</appearance>
  • uialpha - Процент прозрачности интерфейса (0-100%).
  • animation - Включение (true) и выключение (false) анимации интерфейса.
  • listlooped - Круговая прокрутка списков.
  • uipadding - Настройка Overscan («small» - маленький, «medium» - средний, «large» - большой).
  • tv_preview_mode - Включение окна с предпросмотром для ТВ.
  • tv_cursor_mode - Включение режима, в котором при просмотре ТВ громкость контролируется кнопками Влево/Вправо, а каналы переключаются кнопками Вверх/Вниз.
  • display_channel_numbers - Включение (true) и выключение (false) отображения номеров каналов в ТВ (поддерживается с прошивки 4.0.17).
  • channel_icons_aspect - Соотношение сторон логотипов каналов (aspect=ширина/высота). Используется для оптимизации интерфейса (поддерживается с прошивки 4.0.20).

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

Настройка цветовых схем пользовательского интерфейса

Поддерживается начиная с прошивки 4.0.17

<appearance>
  <color_schemes value="true" override="true" default="Berries" force="Berries">
    <scheme name="TVIP brand color">
      <color name="CL_MAIN" value="#ff2A50A3" />
      <color name="CL_BACKGROUND" value="#ff14A2DC"/>
      <color name="CL_CONTRAST_MAIN" value="#ffCAE2F5"/>
      <color name="CL_CONTRAST_BACKGROUND" value="#ffCAE2F5"/>
      <color name="CL_SECOND" value="#ffF37121"/>
      <color name="CL_button_casual" >CL_BACKGROUND</color>
    </scheme>
    <scheme name="Berries">
    </scheme>
  </color_schemes>
</appearance>
  • color_scheme - управление цветовыми схемами пользовательского интерфейса. Атрибуты: override - если true, предустановленный цветовые схемы будут полностью заменены описанными; default - название цветовой схемы по-умолчанию; force - название принудительно выбранной цветовой схемы.
    • scheme - описание собственных схем, обязательный атрибут name - определяет уникальное имя схемы.
      • color - определяет цвет оформления, обязательный атрибут name - указывает на элемент интерфейса к которому будет применен цвет. формат цвета указывается в атрибуте value в формате #AARRGGBB.

Базовые цвета схемы:

  • CL_MAIN - главный цвет темы, используется среди элементов с наименьшей прозрачностью, чаще всего сверху и снизу экрана (по умолчанию #ff37363c).
  • CL_BACKGROUND - цвет предназначенный для отображения элементов по центру экрана и фона для таблиц (по умолчанию #73aaaaaa).
  • CL_CONTRAST_MAIN - цвет для отображения информации на элементах главного цвета, обычно текст или картинки, должен быть хорошо различим на CL_MAIN (по умолчанию #ff282832).
  • CL_CONTRAST_BACKGROUND - цвет для отображения информации на элементах по центру экрана, обычно всплывающие меню или прозрачные окна, должен быть хорошо различим на CL_BACKGROUND (по умолчанию #ffffffff).
  • CL_SECOND - вторичный цвет темы, предназначен для активных элементов управления типа селекторов и кнопок (по умолчанию #ffffffff).

Расширенные цвета схемы:

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

Параметр Зависимость Прозрачность Назначение
CL_on_main_casualCL_CONTRAST_MAIN1,00общий цвет для элементов на главном цвете.
CL_text_on_main_casualCL_on_main_casual 1,00цвет для обычного текста на главном цвете.
CL_text_on_main_activeCL_on_main_casual 1,00цвет для активного или выделенного текста на главном цвете.
CL_text_on_main_dimmedCL_on_main_casual 0,55цвет для вспомогательного текста на главном цвете.
CL_on_background_casualCL_CONTRAST_BACKGROUND1,00общий цвет для элементов в таблицах и на фоне по центру экрана.
CL_text_on_background_casualCL_on_background_casual1,00цвет для обычного текста в таблицах
CL_text_on_background_activeCL_on_background_casual1,00цвет текущего (активного или выделенного) текста таблицах
CL_text_on_background_dimmedCL_on_background_casual0,55приглушенный цвет для отображения неактивных строк в таблицах или дополнительного текста
CL_wallpaperCL_BACKGROUND0,90цвет фона для для большинства виджетов
CL_fadeCL_BACKGROUND0,90цвет дополнительного затенения видео для полноэкранных элементов интерфейса
CL_additionalCL_BACKGROUND0,40дополнительный цвет для выделения активных виджетов или выделение колонок внутри таблиц
CL_bgr_colorCL_MAIN1,00цвет фонового изображения в главном меню при отсутствии видео и некоторых других элементах
CL_bumperCL_MAIN0,94общий цвет элементов главного цвета (панелей снизу и сверху)
CL_headerCL_bumperцвет фона для элементов, находящийся вверху экрана (шапки и заголовки)
CL_footerCL_bumperцвет для фона элементов, находящихся внизу экрана (выезжающие меню, панели управления)
CL_popupCL_MAIN1,00цвет фона для диалоговых окон, расширенных настроек и сообщений системы
CL_popup_contrastCL_CONTRAST_MAIN1,00цвет контента в диалоговых окнах
CL_plateCL_MAIN1,00цвет фона для плиток в главном меню и в таблицах VOD, а также в других похожих по оформлению элементах
CL_plate_contrastCL_CONTRAST_MAIN1,00цвет для контента (текста и иконок) внутри плиток главного меню и VOD
CL_selectorCL_SECONDцвет селектора, выделенных элементов управления, подсветки курсора, активных кнопок и прочих подсвеченных элементов
CL_emptyCL_SECOND1,00цвет пустоты в прогресс барах
CL_inactiveCL_SECOND0,35цвет заблокированных элементов интерфейса (каменные кнопки)
CL_fullCL_CONTRAST_MAIN1,00цвет заполнения прогрессбаров
CL_button_selectedCL_selector1,00цвет выделенной экранной кнопки
CL_button_casualCL_selector0,35цвет некативной экранной кнопки
CL_on_buttonCL_on_background_casualцвет надписи и иконки на кнопке

Стандартные схемы, входящие в прошивку, имеют следующие названия:

  • Default
  • Deep Purple
  • Indigo
  • Teal
  • Blue
  • Light Green
  • Berries
  • Chocolate
  • Medusa
  • TVIP classic

Принудительное подключение SMB и NFS ресурсов

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

<mountpoints>
  <mountpoint  type="smb" mountname="SMB Share">
    <address value="192.168.1.1" />
    <folder value="Movies" />
    <password value="pass" />
    <username value="login" />
  </mountpoint>
  <mountpoint type="nfs" mountname="NFS Share">
    <address value="nfs.operator.com" />
    <folder value="/home/sharing/Movies" />
  </mountpoint>
</mountpoints>

Тип сервера задается атрибутом type, название ресурса для отображения в интерфейсе атрибутом mountname.

В данном примере принудительно подключаются два ресурса:
- общая папка с именем Movies на SMB-сервере по адресу 192.168.1.1 с именем пользователя login и паролем pass .
- каталог /home/sharing/Movies на NFS-сервере по адресу nfs.operator.com .

Принудительное подключение источников видеонаблюдения

Позволяет принудительно добавить источники видеонаблюдения оператора при старте приставки. Поддерживаются прямые URL видеопотоков в форматах UDP, HTTP, RTSP, а также HTTP URL M3U-плейлистов.

<cctv_sources>
  <source name="Cameras" url="http://cam.operator.com/cameras.m3u" />
  <source name="Our Office" url="rtsp://cam.operator.com/office" />
</cctv_sources>

Атрибут name задает название источника в списке приложения Видеонаблюдение. Атрибут url задает URL плейлиста или видеопотока.

В данном примере подключаются два источника видеонаблюдения:
- список камер в формате M3U по адресу http://cam.operator.com/cameras.m3u
- прямая ссылка на видеопоток по адресу rtsp://cam.operator.com/office

Ограничение доступа к окну отладочной информации (s.info->DEL)

Поддерживается начиная с прошивки 3.3.10

<system_locks>
        <sysinfo_del locked="true" />
</system_locks>

Ограничение сброса на заводские настройки

Поддерживается начиная с прошивки 3.4.4.
Данная опция отключает сброс приставки через кнопку питания, актуально для прошивок до версии 3.8.6.

<system_locks>
        <reset locked="true" />
</system_locks>

Запрет использования протокола IGMPv1

Поддерживается начиная с прошивки 4.0.13 ОС Linux-Qt. Поддерживается не всеми моделями медиацентров.
Запрещает ядру ОС использовать протоколы IGMP версии ниже 2. Требуется перезагрузка после изменения значения опции.

<system_locks>
        <igmpv1_block enabled="true" />
</system_locks>

Ограничение доступа к настройкам медиацентра

Можно запретить отображение или изменение практически любой настройки в приложении Настройки. Доступ к ограничениям осуществляется по id элементов (список ниже). Настройки делятся на два уровня *Основные разделы* и *Настройки*. Возможные параметры:

visible="false/true"
disabled="false/true"

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

pref_system - Система
pref_appearance - Оформление
pref_network - Сеть
pref_display - Дисплей
pref_tv - ТВ
pref_security - Безопасность

<preferences>
  <pref_network visible="false" />
</preferences>

В данном примере из настроек полностью скрывается раздел Сеть.

Конкретные настройки должны находится внутри соответствующих тегов Основных настроек.

Список настроек раздела Система

pref_system_language - Язык интерфейса
pref_system_updatetype - Тип обновления
pref_system_updateperiod - Период проверки обновлений
pref_system_updatebackground - Установка обновлений в фоне
pref_system_timezone - Часовой пояс
pref_system_timeserver - Адрес NTP
pref_system_audiolanguage - Язык аудио по-умолчанию
pref_system_digitalsoundmode - Формат цифрового звука

Список настроек раздела Оформление

pref_appearance_alpha - Прозрачность интерфейса
pref_appearance_anim - Анимированный интерфейс
pref_appearance_listlooped - Круговая прокрутка списков
pref_appearance_padding - Оверскан ТВ

Список настроек раздела Сеть

pref_network_iface - Тип подключения (Eth/WiFi)
pref_network_wlan_ssid - Точка доступа WiFi
pref_network_config - Кофигурация (DHCP/Manual)
pref_network_ip - IP-адрес
pref_network_mask - Маска
pref_network_gateway - Шлюз
pref_network_dns1 - DNS1
pref_network_dns2 - DNS2

Список настроек раздела Дисплей

pref_display_hdformat - Формат HD-вывода
pref_display_hdhdmienable - HDMI вкл/выкл
pref_display_hdcomponentenable - Компонентный вкл/выкл
pref_display_sdformat - Формат SD-вывода
pref_display_sdrcaenable - RCA вкл/выкл
pref_display_sdsvideoenable - S-Video вкл/выкл
pref_display_aspect - Соотношение сторон
pref_display_cec - HDMI-CEC

Список настроек раздела ТВ

pref_tv_streamtype - Тип потока (мультикаст/прокси)
pref_tv_udpxyaddress - Адрес UDPXY
pref_tv_mpegts_buffer - Буфер MPEG-TS
pref_tv_dvr_deviceid - Выбор устройства для DVR
pref_tv_timeshift_deviceid - Выбор устройства для Timeshift
pref_tv_autotimeshift - Авто Timeshift вкл/выкл
pref_tv_middleware - Источник контента
pref_tv_button_midd_setup - Настройка источника контента

Список настроек раздела Безопасность

pref_security_enable - Безопасный режим
pref_security_timeout - Автоблокировка
pref_security_tvfiltertype - Тип блокировки
pref_security_operatorlock - Блокировка каналов для взрослых
pref_security_allowwebapps - Включение/выключение веб-приложений
pref_security_allowapps - Включение/выключение Android-приложений

<preferences>
  <pref_network visible="false" />
 
  <pref_tv>
    <pref_tv_streamtype visible="false" />
    <pref_tv_udpxyaddress visible="false" />
    <pref_tv_middleware disabled="true" />
  </pref_tv>
 
</preferences>

В данном примере полностью скрывается раздел Сеть; скрываются настройки типа потока и адреса UPXY в разделе ТВ, а также запрещается изменение типа Middleware.

Полный пример конфигурации tvip_provision.xml

<?xml version="1.0"?>
<provision reload="3600"><!--Обновление каждый час -->
 
 <!-- Использовать центральный сервер обновлений tvip -->
 <update_server name="tvipupdate.net" />
 
 <!-- Установка логотипа -->
 <logo url="http://operator.com/prov/logo.png" />
 
 <!-- Скрытие приложения Видеомагнитофон -->
 <features>
   <dvr enabled="false" />
 </features>
 
 <!-- Работа через UDP-прокси -->
 <tv_stream type="udpxy" server="login:pass@udpxy.operator.com" />
 
 <!-- Загрузка M3U-плейлиста и телепрограммы -->
 <tv_protocols default="m3u">
   <protocol type="m3u" m3u="http://operator.com/channels.m3u" epg="http://operator.com/epg.zip" />
 </tv_protocols>
 
 <!-- Подключение видео-ресурса -->
 <mountpoints>
  <mountpoint  type="smb" mountname="SMB Share">
    <address value="192.168.1.1" />
    <folder value="Movies" />
    <password value="pass" />
    <username value="login" />
  </mountpoint>
 </mountpoints>
 
 <!-- Подключение списка видеонаблюдения -->
 <cctv_sources>
  <source name="Cameras" url="http://cam.operator.com/cameras.m3u" />
 </cctv_sources>
 
 <!-- Отключение ручной настройки Сети, настроек мультикаста, UDP-прокси. Запрет изменения Middleware. -->
 <preferences>
   <pref_network visible="false" />
   <pref_tv>
     <pref_tv_streamtype visible="false" />
     <pref_tv_udpxyaddress visible="false" />
     <pref_tv_middleware disabled="true" />
   </pref_tv>
 </preferences>
 
</provision>

Перевод этой страницы: