Skip to content

Витрина

Витрина — приложение зрителя: список каналов, программа передач и плеер. Абонент открывает её на телевизоре или в браузере, входит под своей учётной записью и смотрит те каналы, которые дают ему подписки.

Раздаёт витрину сам сервер Catena — тем же адресом и портом, что и консоль оператора. По умолчанию она открывается на пути /tv/, а в зрительской поставке её обычно переносят на корень установки, уводя консоль под отдельный путь. Раскладка задаётся при установке.

Одно и то же приложение работает тремя способами:

  • в браузере — обычная веб-страница;
  • на телевизорах LG — пакет webOS;
  • на телевизорах Samsung — пакет Tizen.

Что должно быть настроено

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

  1. Стрим — вещание, которое реально идёт (Создание и управление).
  2. Канал — телеканал со ссылкой на этот стрим и номером (Каналы).
  3. Пакет — набор каналов, в который входит этот канал (Пакеты).
  4. Подписчик с учётной записью кабинета и подпиской на пакет (Подписчики).

Дальше — по желанию, но именно эти две вещи отличают витрину от простого списка ссылок:

  • Архив (DVR) на стриме — без него зритель смотрит только прямой эфир, а любая прошедшая передача не открывается (Архив (DVR)).
  • Программа передач — без неё сетка пуста, и смотреть можно только текущий эфир (Программа передач).

Канал, у которого нет стрима, в витрине виден, но не играет: плеер отвечает This channel has no broadcast configured.

Вход зрителя

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

Логином и паролем. Оператор выдаёт абоненту логин и пароль в карточке подписчика, блок Учётная запись кабинета. Абонент вводит их прямо на экране входа. На компьютере и телефоне это основной путь.

Кодом с экрана. Телевизор показывает шестизначный код и приглашение Enter this code in your account on a phone or a computer. Абонент открывает витрину на телефоне или компьютере, входит там паролем — это и есть его кабинет — и вводит код в блоке Sign in a TV. Телевизор входит сам в течение нескольких секунд, и пароль на пульте набирать не приходится.

Экран входа витрины: код для подтверждения из кабинета

Переключатель под формой (Sign in with a code instead и Sign in with a login and password) переводит экран между двумя способами. На телевизоре первым показывается код, в браузере — форма пароля.

Код живёт 10 минут и гаснет после первого использования. Пять неудачных попыток входа подряд запирают логин на минуту — счётчик сгорает сам, разблокировать учётную запись вручную не нужно.

Если абонент не может войти сам, код за него подтверждает оператор: карточка подписчика, блок Привязка устройства. Это путь поддержки — штатный вход замыкает сам абонент.

Экраны и пульт

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

Плеер витрины с подсказкой канала

Управление одинаково на пульте и на клавиатуре:

  • Вверх и вниз — предыдущий и следующий канал.
  • Влево и вправо — предыдущая и следующая передача текущего канала: так открывается догон из архива.
  • OK или пробел — применить выбор, который висит в подсказке.
  • Назад — отменить непринятое переключение, а в сетке — закрыть её.
  • Жёлтая кнопка пульта — открыть и закрыть программу передач. На клавиатуре ей соответствуют F7 и ~.

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

Программа передач

Сетку открывает жёлтая кнопка. Слева — каналы, справа — их передачи; стрелки ходят по сетке, OK открывает выбранную передачу.

Программа передач в витрине

Что показывает сетка, целиком определяется загруженным расписанием: без источника программы колонка передач пуста, и это не поломка витрины, а отсутствие данных — см. Программу передач.

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

  • This channel is not recorded, so only live is available — у стрима нет архива.
  • This programme is no longer in the archive — передача уже вышла за глубину записи.
  • This channel has no broadcast configured — у канала не назначен стрим.

Границы архива приходят вместе со списком каналов, поэтому решение принимается до нажатия — зритель не упирается в чёрный экран.

Кабинет и устройства

Кабинет — та же витрина, открытая на телефоне или компьютере: раздел Your account. В нём три вещи.

  • Sign in a TV — поле для шестизначного кода с экрана телевизора.
  • Your devices — список устройств, вошедших под этой учётной записью; текущее помечено (this device). Кнопка Revoke рядом со строкой отключает одно устройство: оно перестаёт показывать сразу.
  • Sign out everywhere — отзыв всех устройств разом. Ссылка появляется, когда устройств больше одного, и нужна ровно тогда, когда зритель не знает, какая строка списка чужая.

Кабинет подписчика: подтверждение кода и список устройств

Обычный Sign out гасит токен на сервере и только потом забывает его локально: иначе в списке подписчика остался бы живой токен, который уже никак не назвать.

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

Те же устройства оператор видит в карточке подписчика, блок Устройства, и может отозвать их оттуда — см. Подписчиков.

Сколько экранов одновременно

Число одновременных просмотров — свойство пакета, поле Экранов одновременно. У подписчика действует наибольший потолок среди его пакетов, а не их сумма; пустое поле означает один экран.

Зритель, упёршийся в потолок, видит на экране All your screens are busy: someone is watching on another device. Освободить экран можно, закрыв просмотр на другом устройстве, — или оператор поднимает потолок в пакете, и это действует немедленно, без повторного входа и без обрыва идущих просмотров.

Прочие отказы плеер тоже называет словами:

  • This device is no longer signed in — sign in again — устройство отозвали.
  • Nothing to play here: the archive does not reach this moment — запрошенного интервала в архиве нет.

Плейлист для стороннего плеера

Абоненту, который смотрит не в витрине, а в своём плеере, Catena отдаёт список каналов в M3U и программу передач в XMLTV — см. Плейлист и XMLTV.

Сценарии

Подключить нового абонента

  1. Заведите подписчика и задайте ему логин и пароль в блоке Учётная запись кабинета.
  2. Подпишите его на пакет — блок Подписки.
  3. Проверьте блок Доступные каналы: то, что там перечислено, зритель и увидит.
  4. Передайте абоненту адрес витрины, логин и пароль.

Зритель поменял телевизор

  1. На новом телевизоре абонент открывает витрину и видит код.
  2. Он вводит код в своём кабинете на телефоне — телевизор входит сам.
  3. Старый телевизор он отключает в списке Your devices кнопкой Revoke, иначе тот продолжает занимать экран.

Абонент жалуется, что ничего не играет

Смотрите, что именно написано на экране:

  • All your screens are busy — потолок экранов; проверьте список устройств и поле Экранов одновременно в пакете.
  • This device is no longer signed in — устройство отозвано, абонент входит заново.
  • This channel has no broadcast configured — у канала не назначен стрим.
  • Пустой список каналов — у подписчика нет ни одной подписки, а бесплатных пакетов в установке нет.

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

Что дальше