Содержание

Настройка функционала приставки провайдером (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://domain/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" combined="false" />
</tv_protocols>

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

Опциональные атрибуты:
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>

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