Tvip tms faq

4.0.20 (11.06.2018)

  • new: Небольшие изменения в дизайне интерфейса.
  • new: Возможность выбора типа устройства в HDMI-CEC.
  • new: В HDMI-CEC увеличено число поддерживаемых кнопок для некоторых моделей ТВ LG и Samsung.
  • new: Добавлена поддержка субтитров MOV_TEXT.
  • new: Добавлена схема URL ts(s):// для форсирования MPEGTS декодера через HTTP(S).
  • new: Отображение разрешения видео в окне sys.info-del.
  • new: Перезагрузка в случае критических ошибок в системном плеере.
  • fix: Более корректное отображение позиции времени в архиве.
  • fix: Улучшения в логике перемотки по архиву.
  • fix: Исправления в Middleware API.
  • fix: Исправлено некорректное время в некоторых случаях.
  • fix: Исправлено самопроизвольное выключение Mute при ошибках в потоке.
  • fix: Исправлено воспроизведение некоторых файлов с кодеком MPEG4(DivX/XVid).
  • fix: Исправлено воспроизведение некоторых HLS потоков с большой длиной URL.
  • fix: Исправлено воспроизведение HLS потоков, не отправляющих Content-Length.
  • fix: Исправлена ошибка в обработке mjpeghttp в некоторых случаях.
  • fix: Исправлены заголовки Host и Origin при работе Websockets.
  • fix: Исправлен сброс статуса Sleep при перезагрузке в некоторых случаях.

TvipEvent

TvipEvent содержит Callback функции, которые можно переназначить для получения событий.

onPlayerStateChange(int oldState, int newState);

Вызывается при изменении статуса воспроизведения медиаплеера.
oldState — предыдущий статус плеера, newState — новый статус плеера.

Возможные значения статусов плеера:

  • 1 — начало подключения к новому URL;
  • 2 — получение метаданных;
  • 3 — метаданные получены;
  • 4 — подготовка декодеров;
  • 5 — воспроизведение;
  • 6 — достигнут конец контента;
  • 7 — остановка воспроизведения;
  • 8 — воспроизведение остановлено;
  • 9 — воспроизведение поставлено на паузу;
  • 10 — происходит seek на новую позицию;
  • 11 — произошла ошибка;

onSystemEvent(String codename, Object args);

Вызывается при возникновении системных событий.

Варианты codename:

  • «mounted» — подключено внешнее устройство хранения данных (args — метка устройства).
  • «unmounted» — отключено внешнее устройство хранения данных (args — метка устройства).
  • «onpause» — окно веб-приложения переведено в фоновый режим (например, открыт экран Home или Настройки).
  • «onresume» — окно веб-приложения снова активно (вызывается при возврате в приложение).
  • «cec_sleep» — подключенный по HDMI телевизор был выключен.
  • «cec_wake» — подключенный по HDMI телевизор был включен.

Региональность в TVIP TMS

Региональность позволяет управлять выдачей каналов по региональной принадлежности аккаунта или провайдера в рамках одного тарифного плана.

В данном примере рассматривается два региона «London» и «Paris».
Задача: для региона «London» были доступны каналы «Первый канал» и «Россия 1». Для региона «Paris» были доступны каналы «Первый канал HD» и «Россия 1 HD». Разные имена каналов рассматриваются для простоты примера. Названия каналов могут быть одинаковые.

1. Создаем два региона «London» и «Paris»

2. Созадем тэг для нового тарифного плана «Tariff_tag_ExampleSP»

3. Создаем тарифный план «Taririff_ExampleSP_wR»

4. Создаем Channel tag для регионов «London» и «Paris». Добавляем в них необходимые каналы — «Первый канал» и «Россия 1» для региона «London», а для региона «Paris» «Первый канал HD» и «Россия 1 HD»

5. Возвращаемся к настройке регионов, и добавляем соответствующие «Channel tag»

6. Создаем аккаунты для пользователей регионов «London» и «Paris» и устанавливаем соответствующий регион.

6.1 В подписке выбираем «Taririff_ExampleSP_wR»

4.2.29 (27.01.2020)

  • new: Добавлен греческий язык в список аудио/субтитров.
  • new: Добавлена локализация на французский.
  • new: Сохранение позиции архива при временном переходе из ТВ в другие приложения.
  • new: Добавлена утилита снятия скриншотов в PNG формате из консоли.
  • new: Добавлена утилита управления интерфейсом из консоли.
  • fix: Регулятор громкости сделан более различимым.
  • fix: Улучшения в поддержке субтитров WebVTT для live потоков для HLSv4.
  • fix: Улучшения для поддержки Teletext субтитров для flussonic в HLSv3.
  • fix: Исправления и улучшения в Middleware API.
  • fix: Исправлена проблема с выходом из архива по двойному нажатию на канал.
  • fix: Оптимизации в плеере.

Авторизация в Flussonic через Middleware

1. Включить опцию Flussonic auth enabled в TMS у провайдера

2. Включить у канала Flussonic auth

stream test {
  url udp://225.101.15.6:1234;
  auth http://tms.example.com/api/drm/auth_token 12345=12345;
}

4. Обновить конфигурационный файл /opt/tvip-tms/gateway/gateway-tvip-tms-tvip-api/application-prod.yml

flussonic:
    app:
        secret:
            key: 12345

6. Обновить конфигурационный файл /opt/tvip-tms/gateway/gateway-tvip-cas-api/application-prod.yml

flussonic:
    app:
        secret:
            ttl: 86400
            key: 12345

5. Перезапустить необходимые службы

systemctl restart gateway-tvip-tms-tvip-api
systemctl restart gateway-tvip-cas-api

Как добавить архив для канала в TMS ?

TMS поддерживает возможность получения архива передачи и как следствие поддержку серверной паузы при использовании DVR от Flussonic.

Настройка Flussonic

Минимальная конфигурация Flussonic для включения этой возможности:

stream TEST{
  url udp://225.100.50.10:1234;
  dvr /media/HDD2 6d;
}

В данном блоке мы включаем запись архива канала под названием TEST на шесть дней (6d) в каталог /media/HDD2, архив будет доступен через HLS.

На этом базовая настройка Flussonic завершена.

Настройка TVIP TMS

Общие настройки

Подключить DVR сервер можно через меню Channels→ DVR Servers

В настройках сервера необходимо указать базовый URL (не канала), в нашем случае это , если ваш flussonic использует нестандартный порт — его необходимо указать через двоеточие.
Для сервера указывается глубина архива (в нашем случае 86400), она будет использована в том случае, если в настройках канала не будет указана другая глубина.

Настройка канала

Для связи Канала с Flussonic используется атрибут System name, он должен точно совпадать с названием канала в Flussonic, в нашем примере это TEST

На вкладке Archive канала указываем сервер, архив которого будет использован.

Так же в этой вкладке можно переопределить глубину архива, для сервера она указана как 86400 секунд, т.е. одни сутки, в настройках канала указываем корректное значение архива для канала — 6 суток (6d) — 518400 секунд.

На этом настройка архива для канала закончена.

Серверный архив и пауза на медиацентрах S-Box

До версии 3.9.13 включительно признаком наличия архива является наличие иконки «play» в программе передач.

С версии 4.0.11 иконка приняла вид киноленты в программе передач канала.

Медиацентр получает информацию о глубине архива от TMS, при этом реальное наличие архива не проверяется, при попытке проиграть несуществующий архив медиацентр перейдет в «Live» вещание.

При нажатии на паузу — плеер запоминает точку и при воспроизведении уже обращается к архиву для воспроизведения с этой точки. При этом локальной записи на медиацентр не происходит.

TvipPlayer

void reset();

Сбросить воспроизведение. При переходе между страницами, если не требуется продолжение проигрывания, нужно вызывать этот метод.

void playUrl (String url, String mode);

Начать проигрывание видео по заданному URL или непосредственному пути в файловой системе.

Параметр mode может принимать значения:

vod — данный URL содержит VOD-файл (с конечной длиной);

live — данный URL содержит live ТВ-поток (можно использовать DVR и MPEGTS шифрование), либо адаптивный HLS;

live_ts — тоже, что live, но при постановке на паузу включается локальный Timeshift.

Примеры:

playUrl ("udp://239.1.1.1", "live"); // начать проигрывание multicast-потока;
playUrl ("http://domain.tv/movies/movie.mkv", ""); // начать проигрывание видео-файла по http;
playUrl ("http://domain.tv/hls/playlist.m3u8", "live"); // начать проигрывание HLS-видео;

void setVideoWindow(int x, int y, int w, int h, boolean onTop);

Устанавливает размер окна видео. Координаты устанавливаются относительно текущего режима видео выхода.

Если w = 0 и h = 0, используется полноэкранный режим.

Если onTop = true, видео окно рисуется поверх UI.

void seek(int position);

Установить позицию воспроизведения на position в миллисекундах. Необходимо учитывать, что начало воспроизведения — это minPosition — см. ниже.

void attachExternalSubtitle(String url, String encoding)

Добавить к текущему проигрываемому файлу субтитры из внешнего файла по адресу url. Команда вызывается после playUrl. Опциональный параметр encoding устанавливает кодировку текста файла субтитров.

Object getStreamInfo(int index);

Возвращает объект с информацией о медиапотоке с номером index.

{
  "type": <videotype>,
  "id": <id>,
  "codec": <codec>,
  "lang" : <lang>
}

Здесь: videotype — тип медиапотока:«v» — видео, «a» — аудио, «s» — субтитры; id — внутренний идентификатор (PID); codec — название кодека потока; lang — для аудиопотоков 3 буквенный код языка.

void setAspectRatio (String ratio)

Устанавливает режим aspect ratio. На данный момент поддерживаются значения: «box» — Оригинал, «full» — На весь экран, «zoom» — Увеличенный.

Внешний вид

В комплекте с устройством поставляется пульт ДУ, соединительные кабели (AV, Ethernet, HDMI), внешний ИК-приемник, две батарейки ААА-типа, блок питания 12 В, а также краткая инструкция по эксплуатации.

Медиацентр-приставка выполнен в пластиковом корпусе, с глянцевыми верхней и нижней панелями. На лицевой стороне расположена кнопка включения, светодиодные индикаторы Start, Power, а также ИК-приемник. На левой боковой панели находятся два интерфейса USB 2.0 и один слот под установку карты памяти micro SD. Задняя сторона включает два аудиоразъема 3,5 мм, один из которых используется для подключения внешнего ИК-приемника, второй — для AV-кабеля композитного видео- и аналогового аудиосигналов. Рядом располагается HDMI-разъем для подключения к телевизору, сетевой Ethernet-интерфейс и гнездо для подачи питания от внешнего источника. Медиацентр компактный (114x114x17 мм) и легкий (130 г).

TVIP S-Box v. 605 построен на базе четырехъядерного процессора, способного, по информации разработчика, воспроизводить 4K-видео с HDR. Медиацентр работает с использованием фирменного промежуточного ПО TVIP, предоставляющего единый интерфейс и совместимого с устройствами как TVIP, так и сторонних вендоров (Android TV, Dune, Eltex, LG, Mag, Samsung). Кроме того, заявлена совместимость с middleware других производителей — IPTVPORTAL, Stalker, «Смотрешка», а также HTML5/JS-порталами. Встроенный модуль Wi-Fi работает в диапазонах 2,4 и 5 ГГц. Наличие USB-разъемов позволяет подсоединять дополнительные устройства вроде клавиатуры, мыши и внешнего накопителя.

4.1.4 (18.12.2018)

  • new: Новое лого TVIP.
  • new: Глобальная система поиска для Middleware API.
  • new: Поддержка доступа к DLNA-серверам в медиаплеере.
  • new: Новый дизайн экранной клавиатуры.
  • new: Экранная клавиатура для цифрового ввода.
  • new: Поддержка перехода в другие приложения по нажатию на баннер в главном меню
  • new: Добавлен гибридный режим предпросмотра с превью-скриншотом (только для Middleware API).
  • new: Поддержка сообщений для перехода вглубь других приложений через Middleware API (запуск конкретной передачи, фильма, онлайн видео).
  • new: Поддержка расширения столбца с логотипами каналов, в зависимости от их ширины (для Middleware API).
  • new: Отправка сообщений об активном приложении в Middleware API.
  • new: Поддержка субтитров WebVTT для HLSv4 и MPEG-DASH (в тестовом режиме).
  • new: Поддержка SAMPLE-AES для fMP4 для HLSv4 (CBCS).
  • new: Базовая поддержка DRM Widevine L3 для MPEG-DASH (CENC).
  • new: Поддержка ClearKey шифрования для MPEG-DASH (CENC) c запросами ключей через JSON.
  • new: Возможности снимать статистику по видео потокам не только в конце воспроизведения, но и периодически.
  • new: Множественные улучшения в интерфейсе.
  • new: Улучшения в Middleware API.
  • fix: Улучшена навигация по кнопкам в диалоговых окнах.
  • fix: Исправлено локальное воспроизведение больших файлов.
  • fix: Улучшения в определении субтитров в телетексте.
  • fix: Улучшено переключение аудио-дорожек в архиве HLSv3.
  • fix: Исправлен произвольный выход из паузы при проблемах с воспроизведением.

4.2.33 (16.04.2020) release

  • new: Режим «КТВ» через provisioning (проигрывание одного потока без интерфейса).
  • new: Добавлено окно запроса продолжения просмотра прерванного архива.
  • new: Улучшен интерфейс VoD.
  • new: Добавлено отображение свободного места на дисках в медиаплеере.
  • new: Возможность назначить цветную фоновую картинку для экрана Домой через provisioning.
  • new: Добавлен анимированный предпросмотр кадров из передачи EPG в ее описании.
  • new: Новый шаг перемотки в плеере +15 сек вперед и -10 сек назад.
  • new: Добавлена возможность запрета анимации «зависания» видео через provisioning.
  • new: Добавлена возможность запрета «отрезания» лишнего аудио при старте MPEGTS потока через provisioning.
  • new: Версия протокола HLS по-умолчанию может быть настроена через provisioning.
  • new: Более точная перемотка по архиву в режиме HLSv4 (с точностью до 2 сек).
  • new: Поддержка номеров каналов, пустных названий передач и адреса UDPXY с сервера для iptvportal.
  • new: Возможность отключить локальный timeshift через provisioning.
  • new: Добавлен Армянский язык.
  • new: Добавлен crontab.
  • fix: Улучшено качество иконок приложений в Домашнем экране.
  • fix: Улучшена логика навигации по интерфейсу для пультов без «цветных» кнопок.
  • fix: Исправлен флудинг сервера Middleware API в некоторых случаях.
  • fix: Исправления в протоколе Middleware API.
  • fix: Исправлено прерывание плеера по таймауту для HTTP-потоков.
  • fix: Функция запрета автостарта ТВ также работает после режима Сна.
  • fix: Консольное управление и утилита снятия скриншотов также работает на экране первичнй настройки.
  • fix: Исправления в Грузинском переводе.

4.0.17 (03.04.2018)

  • new: Добавлена Презентация нового интерфейса при первом запуске.
  • new: Новый экран загрузки.
  • new: Настройка языка субтитров по-умолчанию.
  • new: Добавлены новые языки для выбора аудио и субтитров по-умолчанию.
  • new: Отображение полного названия модели (S-Box) в S.Info.
  • new: Улучшена работа CEC.
  • new: Добавлены Латышский, Польский, Эстонский языки.
  • new: Отлючено отображение номеров каналов по-умолчанию.
  • fix: Исправлена функция настройки тем через provisioning.
  • fix: Многочисленные улучшения стабильности и производительности.
  • fix: Сохранение выбранной аудио-дорожки после паузы архива.
  • fix: Уменьшен размер экранной клавиатуры.
  • fix: Исправлены ошибки в обработке Web-сокетов.
  • fix: Исправлено воспроизведение некоторых HEVC потоков.

TvipRecorder

String addRecord(String name, String url, String path, String start, String end);

Добавляет новое задание на запись эфира.
Здесь: name — произвольное имя записи, url — URL потока (поддерживаются потоки в формате MPEGTS через UDP, RTP и HTTP, path — локальный путь для записи, start и end — время начала и окончания записи в UNIX TIMESTAMP либо в формате «YYYYMMDDTHHmmss».

Возвращает уникальный идентификатор созданного задания.

bool cancelRecord(String id, bool removeFile);

Удаляет задание на запись с уникальным идентификатором id. Если removeFile=true, удаляется также записанный на диск поток. Возвращает true в случае успешного удаления.

void updateStartEndTime(String id, String start, String end);

Меняет время начала и/или окончания записи с уникальным идентификатором id. Если требуется поменять только одно из значений, то второе — пустая строка. Формат start и end см. в описании addRecord.

Object getRecord(id);

Возвращает объект с параметрами записи с уникальным идентификатором id.

{
  "id": <id>,
  "name": <name>,
  "startTime": <start>,
  "endTime" : <end>,
  "url" : <url>,
  "status" : <status>
}

Здесь: <id>, <name>, <start>, <end> — соответствуют параметром метода addRecord; <status> — статус записи: «waiting» — ожидает запись, «recording» — запись в процессе, «finished» — запись завершена, «error» — произошла ошибка.

Тестирование

В ходе проверки приставка была подключена к телевизору посредством HDMI-кабеля. Первое включение и загрузка заняли порядка 10 секунд. Во включенном состоянии медиацентр потребляет порядка 5 Вт и греется умеренно.

Первым делом мы решили протестировать функционал IPTV. Для этой цели мы подключили медиацентр к сети интернет-провайдера, и после запуска приложения «Телевидение» он в автоматическом режиме получил список телеканалов и запустил их воспроизведение. Работа с каналами IPTV проходила корректно, приставка воспроизводила видео- и аудиосигналы без искажений и артефактов, каналы переключались быстро и без зависаний. Функцию записи каналов IPTV мы протестировали с внешним HDD, подключенным по USB-интерфейсу, а записанные эфиры просмотрели в приложении «Видеомагнитофон». Здесь также все работало быстро, воспроизводилось корректно и без нареканий. «Медиаплеер» был подключен к открытой для общего доступа сетевой папке, находящейся на компьютере, функционирующем под управлением ОС Windows 10. Медиацентр автоматически просканировал содержимое папки на наличие мультимедийных файлов, сделав их доступными для воспроизведения. Сам процесс проигрывания файлов по сети прошел без трудностей, причем как по проводу, так и по беспроводному соединению.

Приложение «Видеонаблюдение» тестировалось с локальным RTSP-потоком камеры наружного наблюдения. После ввода всех необходимых параметров потока изображение с камеры появилось на экране. Воспроизведение сигнала было корректным, проблем не обнаружено.

В «Браузере» мы запустили несколько популярных интернет-сайтов. Навигация по ним с помощью стрелок на пульте управления — занятие весьма увлекательное. Обращение к такому браузеру абоненту может понадобиться в крайне редких случаях, когда под рукой по какой-то причине не окажется ни компьютера, ни смартфона, ни планшета. В остальном к программе претензий нет, свою задачу отображения страниц она выполняет.

На следующем этапе мы протестировали приложения стриминговых сервисов и онлайн-кинотеатров. С использованием приложения YouTube трудностей не возникло: оно бесплатное, быстрое, имеется возможность авторизации под аккаунтом Google — одним словом, полноценный YouTube на вашем ТВ. Приложение Megogo предлагает к просмотру разнообразный контент, включая телевизионные каналы, однако бесплатно здесь далеко не всё и за полноценный доступ ко всем возможностям придется заплатить.

Приложение YouTube

Аналогичным образом работают приложения и других онлайн-кинотеатров. В ivi, Tvigle и Tvzavr возможен бесплатный просмотр фильмов и сериалов, но перед этим приходится в течение минуты смотреть рекламные ролики. В целом работа приложений достаточно стабильна, ничего лишнего, только просмотр видеоконтента с возможностями добавления его в избранное, выбора качества изображения и поиска по фильмотеке. Приложение «8 канала» открывает доступ к бесплатному просмотру прямого эфира одноименного телеканала, программы, каталога передач, а также предлагает воспользоваться поиском.

Как устроены тарифы в TMS?

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

В данном примере:

  • каналы «Channel A» и «Channel B» отмаркированы тегом «public channels»
  • каналы «Channel B» и «Channel C» отмаркированы тегом «sport channels»
  • тариф «All channels» включает в себя оба тега («public channels» и «sport channels»), таким образом в этом тарифе будут все три канала — Channel A, Channel B, Channel C
  • тариф «Sport channels» включает в себя только тег «sport channels», таким образом в тариф включено только два канала — Channel B, Channel C.

Подобная иерархия позволяет достаточно гибко настраивать тарифные планы.

Тарифные планы могут быть назначены как устройству (device), так и пользователю (account), при этом более приоритетными являются подписки на устройство, в случае отсутствия подписок на устройство будут использованы подписки на аккаунте.

Одновременно устройство или пользователь может иметь сколько угодно подписок на тарифы, в итоге будет использован суммарный набор каналов, при этом суммируется только подписки на одном уровне (либо на account, либо на device), т.е. если у устройства на аккаунте «test» будут подписки на тариф «test tarif», а у аккаунта будет подписка на тариф «example tarif» — то устройству будут выданы каналы только от «test tarif»

4.2.35 (02.07.2020) beta

  • new: Добавлено управление подключенными к аккаунту устройствами для Middleware API.
  • new: Возможность отображения позиции при проигрывании live MPEGTS.
  • new: HLSv4 используется по-умолчанию, если URL содержит «.fmp4.m3u8».
  • new: Улучшения в логике приложения Видеонаблюдение.
  • new: Добавлена опция provisioning для скрытия адреса сервера в настройке Middleware API.
  • new: Добавлена обработка тега «tvg-shift» в M3U.
  • new: HLSv4/DASH теперь использует keep-alive.
  • fix: Исправлена проблема с курсором при переходе из описания передачи к списку передач EPG.
  • fix: Окно «Продолжить архив» отображается в течение 25 секунд.
  • fix: Улучшена обработка пропадания потока в HLSv4/DASH.
  • fix: Исправлена проблема с отображением курсора в текстовых полях.
  • fix: Исправлена проблема с производительностью при отображение QR-кода.
  • fix: Исправлено отсутствие HTTP-заголовков в при загрузке изображений в ТВ.
  • fix: Улучшена логика отключения SMB шары при ее недоступности.
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *