Skip to content

Жизненный цикл сессии

Сессия — это один зритель, играющий один канал. Как только зритель авторизован и начал тянуть поток, на стримере открывается сессия; когда он останавливается, она закрывается и уходит в историю. Раздел Сессии показывает обе половины этой жизни — кто играет сейчас и кто играл недавно. Та же таблица есть на вкладке Сессии страницы канала, отфильтрованная по этому каналу.

В этом списке каждая сессия — независимо от того, каким способом авторизован её зритель: билетом Catena, вашим собственным бэкендом или общим токеном. Авторизация решает, пустить ли зрителя; сессия — это то, что существует, пока он смотрит.

Открытые сессии

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

Колонка Что показывает
Стрим Какой канал играет сессия
IP Адрес зрителя
Протокол Чем тянет: hls, dash, mpegts…; значок DVR — сессия смотрит архив, а не живой эфир
Плеер User-agent клиента
Пользователь Идентификатор пользователя, если плеер его передал; чип shared — под одним пользователем одновременно играют разные клиенты
Байты Отдано сессии; счётчик обновляется в такт чекпойнтам стримера — секунды на маленькой установке, десятки секунд под нагрузкой
Открыта, Длительность Когда началась и сколько длится
Стример Какой стример обслуживает зрителя

Фильтры над таблицей — IP, Пользователь, Протокол, Источник (Live и DVR / Live / DVR) — действуют и на таблицу открытых, и на историю; Сбросить очищает их все.

Открытые сессии: зрители на двух каналах

Закрыть сессию вручную

Кнопка Закрыть в строке рвёт сессию на стримере — с подтверждением: плееру придётся открыть новую. Это инструмент диагностики и уборки, а не бан: живой плеер обычно переподключается за секунды. Не пускать зрителя — задача авторизации воспроизведения, а не этого экрана.

Когда сессия закрывается

Сессия покидает таблицу открытых и попадает в Историю воспроизведения — сессии, закрытые за последние сутки, с добавленными колонками Закрыта и Причина закрытия — по любой из причин:

  • Зритель остановился. Плеер закрылся или просто затих: после короткого idle-таймаута без новых сегментов стример закрывает сессию сам.
  • Вы закрыли её с экрана выше.
  • Билет отозван или упёрся в лимит экранов — стример сбрасывает зрителя за секунды (см. Билеты Catena).
  • Билет истёк — у билета есть жёсткий конец, и сессия не может его пережить.

История сама не обновляется — перечитайте её кнопкой Обновить.

Сбой в кластере не прерывает зрителя

Допуск происходит на стримере, а не посреди воспроизведения. С билетом Catena стример проверяет билет сам — подпись, срок, область действия и свой локальный список отзывов — без сетевого вызова, чтобы кого-то пустить. Поэтому если стример ненадолго теряет связь с остальным кластером:

  • Уже смотрящие зрители продолжают смотреть. Их сессии живут на обслуживающем их стримере; на пути воспроизведения нет ничего от central.
  • Новые зрители по-прежнему проходят. Валидный билет допускается офлайн, без обращения к кому-либо.
  • Отзывы догоняют при восстановлении связи. Стример пересобирает список отзывов из кластера в тот же момент, как связь вернулась, — до того как допустит следующего зрителя, — так что билет, отменённый во время разрыва, отклоняется, как только канал восстановлен.

Единственное, что действительно гаснет, — это отчётность, а не воспроизведение; см. ниже.

Когда сессий не хватает на экране

Если central не может достучаться до management API какого-то стримера, над таблицами появляется баннер: сессии этих стримеров отсутствуют в выдаче — и в списке открытых, и в свежей истории. Каналы при этом работают, зрители продолжают смотреть: гаснет отчётность, а не отдача.

Лечится это достижимостью стримера: в реестре такая машина несёт чип достижимости, и он ведёт к причине.