Skip to content

Шаблоны стримов

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

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

Какие секции задаёт шаблон

Шаблон умеет задавать шесть секций конфига, и только их:

  • Транскодер — лестница, пресеты, аудиоправила, GOP; см. Транскодирование и MBR.
  • DVR — запись архива: глубина, диски, ретенция; см. Архив DVR.
  • Превью — миниатюры; см. Превью.
  • Таймауты источников — поведение при пропаже входа; см. Резервирование источников.
  • Живое окно — длина живого окна в сегментах.
  • Распознавание речи — секция есть в контракте шаблона, но формы для неё в консоли пока нет: задать её через интерфейс нельзя.

Всё остальное — источники, имя, ссылки на бэкенд авторизации — шаблон не задаёт: это свойства конкретного стрима.

Правило разрешения: своя секция побеждает целиком

Слияния по полям нет. Секция берётся целиком: если у стрима есть своя секция транскодера, шаблонная не применяется ни одним полем. Если своей нет — действует шаблонная.

Из этого следуют два практических вывода:

  • Чтобы поменять одно поле относительно шаблона, стриму придётся завести всю секцию — вместе с остальными её полями.
  • Пустая секция и отсутствующая секция — одно и то же. Пустой список превью и null считаются незаданными, и на их месте начинает действовать шаблон.

Ссылка на несуществующий шаблон равносильна её отсутствию: стрим работает на своих секциях. На странице стрима это подписано — Шаблона {name} не существует.

Список шаблонов

Экран Шаблоны — все шаблоны инсталляции. Введите имя в поле Имя нового шаблона и нажмите Создать. Колонка Секции показывает, какие секции шаблон реально задаёт, — пустой шаблон не влияет ни на что.

Список шаблонов: колонка «Секции» показывает, что шаблон задаёт

Удаление шаблона, на который кто-то ссылается, отклоняется: Удалить нельзя: на шаблон ссылаются стримы. Сначала снимите ссылку у них. Это защита от тихой потери настроек у десятков стримов сразу.

Страница шаблона

Вкладки повторяют секции: Транскодер, DVR, Превью, Таймауты источников (там же поле Живое окно) и Стримы на этом шаблоне.

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

Страница шаблона: вкладки повторяют секции конфига

Точка на вкладке означает несохранённые правки в этой секции. Сохранить и Отмена работают как на странице стрима: Сохранить активен только при несохранённых правках, Отмена откатывает к принятой базе.

Вкладка Стримы на этом шаблоне — список ссылающихся стримов; при длинном списке подписано, что показаны первые N. Смотрите её перед правкой: правка шаблона меняет поведение всех этих стримов сразу.

Шаблон со стороны стрима

Шаблон выбирается на вкладке основных настроек стрима полем Шаблон (значение Без шаблона снимает ссылку). В списке стримов есть колонка Шаблон.

Каждая секция на странице стрима находится в одном из четырёх состояний:

  • Своя — секция задана на стриме, шаблон её не задаёт.
  • Из шаблона {name} — своей секции нет, действует шаблонная. Показана только для чтения.
  • Перекрывает шаблон {name} — секции заданы и там и там; действует своя. Это состояние выделено отдельно намеренно: иначе осознанное отклонение от шаблона неотличимо от стрима, который про шаблон ничего не знает.
  • Пусто — секции нет ни у стрима, ни у шаблона.

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

  • Переопределить — копирует шаблонную секцию в стрим и делает её редактируемой. Секция становится перекрывающей.
  • Вернуть к шаблону — удаляет свою секцию стрима, и снова начинает действовать шаблонная.

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