Термины
Словарь понятий медиасервера: поток, фрагмент, сегмент, грант, билет, метка — каждое объяснено обычными словами и со ссылкой на подробности.
Словарь нужен, чтобы читать остальные разделы без запинок. Термины идут по алфавиту, каждый объяснён обычными словами, а ссылка ведёт на страницу, где он разобран целиком.
Если встретили в интерфейсе или в конфигурации незнакомое слово — ищите его здесь; в статьях термины используются ровно в этих значениях.
Архив (DVR)#
Непрерывная запись потока на диск, которую сервер ведёт сам, без участия зрителя. Пишутся те же готовые куски видео, что раздаются живым зрителям, — второго разбора потока не происходит. Смотреть архив можно теми же протоколами, что и эфир. Подробнее: Запись архива (DVR).
Билет сессии (ssid)#
Короткий пропуск, который сервер вписывает в плейлист после того, как один раз проверил токен зрителя. Дальше каждый сегмент проверяется по билету — это в разы дешевле, чем разбирать полноценный токен на каждый файл. Билет привязан к потоку, к браузеру и, по настройке, к адресу зрителя. Подробнее: Авторизация просмотра.
Видео по запросу (VoD)#
Раздача заранее подготовленных файлов из каталога: зритель сам выбирает, что смотреть, и перематывает как угодно. В отличие от архива, файлы в каталог кладёте вы, а не сервер. Подробнее: VoD — видео по запросу.
Вытеснение#
Удаление самых старых записей архива, когда исчерпан срок хранения, заданный объём или свободное место на диске. Самая свежая запись потока не удаляется никогда, поэтому поток не может остаться совсем без архива. Подробнее: Хранилища и S3.
Горячее применение#
Изменение конфигурации, которое вступает в силу по перезагрузке настроек
(systemctl reload hastreamer) — без остановки службы и без разрыва сессий зрителей. Так
применяются потоки, авторизация и параметры архива. Противоположный случай — «рестарт»: номера
портов, число рабочих ядер, TLS-слушатели.
Подробнее: Применение изменений.
Грант#
Разрешение внутри токена зрителя: что именно позволено (смотреть эфир, смотреть архив, публиковать), для какого потока или метки и по каким протоколам. Верная подпись сама по себе доступа не даёт — нужен подходящий грант. Подробнее: Поля токена.
Группа кадров (GOP)#
Отрезок видео от одного ключевого кадра до следующего. Кадры внутри группы описывают только изменения относительно её начала, поэтому воспроизведение может стартовать лишь с границы группы. Длина группы задаётся на камере и определяет, насколько мелко сервер может нарезать поток. Подробнее: Архитектура.
Задержка#
Время между тем, что происходит перед камерой, и картинкой у зрителя. Складывается из буфера камеры, накопления куска видео на сервере и буфера плеера. Сильнее всего на неё влияет выбранный протокол раздачи. Подробнее: Протоколы раздачи.
Защита от встраивания#
Запрет вставлять ваш поток в чужие страницы: сервер сверяет адрес сайта, с которого пришёл браузер, со списком разрешённых. Работает только для браузеров и авторизацию не заменяет — программа-клиент такую проверку обходит. Подробнее: Авторизация просмотра.
Источник#
Откуда сервер берёт видео для потока: камера по RTSP, чужой сервер по HLS или DASH, поток
MPEG-TS, локальный файл, публикация от кодировщика или встроенный синтетический генератор.
Задаётся строкой input внутри блока потока.
Подробнее: Приём видео: обзор.
Кластер#
Несколько серверов, которые обмениваются состоянием, знают о потоках друг друга и умеют переадресовать зрителя туда, где нужный поток принимается. Для одиночного сервера включать ничего не нужно. Подробнее: Архитектура.
Ключевой кадр#
Кадр, который декодируется сам по себе, без опоры на соседние. С него начинается воспроизведение, по нему режутся сегменты и с него подхватывается запись в архив. Чем реже ключевые кадры, тем больше задержка старта. Подробнее: Архитектура.
Кодек#
Способ сжатия видео или звука: H.264, H.265, AAC, Opus, G.711. Сервер кодек не меняет — что пришло от источника, то и раздаётся, поэтому набор кодеков выбирается на камере или кодировщике, а не в конфигурации сервера. Подробнее: Протоколы раздачи.
Лицензия#
Файл на сервере, который разрешает отдавать медиа и задаёт предел числа потоков. Без действующей лицензии панель и API работают, а любой медиазапрос получает отказ — это штатное поведение. Подробнее: Лицензирование.
Метка (label)#
Произвольное слово, приписанное потоку (labels office hall;). В гранте можно разрешить
доступ «ко всем потокам с такой меткой» — так права выдаются на тысячи потоков, не перечисляя их
по именам.
Подробнее: Метки потоков (labels).
Метрики#
Числовые показатели работы сервера для системы мониторинга: загрузка процессора в ядрах, память, число потоков и сессий, задержка приёма. Отдаются отдельным адресом и требуют учётных данных — без них ответом будет отказ. Подробнее: Мониторинг и метрики.
Плеер#
Готовый проигрыватель, который отдаёт сам сервер по адресу /<поток>/embed.html: переключение
протоколов, просмотр архива, режим без интерфейса для вставки в свою страницу. Ставить и собирать
ничего не требуется.
Подробнее: Встраиваемый плеер.
Плейлист#
Текстовый список сегментов с их длительностями, который плеер перечитывает по кругу, чтобы знать, что скачивать дальше. У живого потока плейлист постоянно обновляется, у архивной записи он закрыт и конечен. Подробнее: Протоколы раздачи.
Поток#
Именованная единица конфигурации: источник, необязательный архив и имя, по
которому поток запрашивают зрители. Имя потока — это путь в адресе: поток cam1 доступен как
/cam1/index.m3u8 и как rtsp://media.example.com:8554/cam1.
Подробнее: Архитектура.
Превью#
Один свежий кадр потока, отданный как маленький файл. Нужен там, где показывать живое видео дорого или бессмысленно: плитки в списках, карточки, письма. Подробнее: Встраиваемый плеер.
Привилегия#
Вид доступа, который несёт грант: живой просмотр, архив, скачивание файла из архива, превью. Права разделены намеренно — возможность смотреть архив не означает возможности выгружать из него файлы. Подробнее: Поля токена.
Принципал#
Учётная запись зрителя, описанная прямо в конфигурации сервера: пароль или постоянный токен плюс список разрешений. Подходит, когда пользователей единицы и отдельной службы авторизации заводить не хочется. Подробнее: Авторизация просмотра.
Протокол раздачи#
Способ доставки готового потока зрителю: HLS и LL-HLS, DASH, MSE-WS, HTTP-TS, RTSP, RTMP, WebRTC. Все они читают один и тот же буфер уже упакованного видео, поэтому включить ещё один протокол почти ничего не стоит. Подробнее: Протоколы раздачи.
Публикация#
Приём «наоборот»: не сервер забирает видео у камеры, а кодировщик или браузер присылает его сам.
Поток объявляется с источником publish:// и ждёт подключения по RTMP или WHIP.
Подробнее: Приём публикации: RTMP и WHIP.
Размещение потока#
Решение о том, на каком сервере кластера принимается конкретный поток, и запись об этом в конфигурации. На одиночном сервере вопрос не возникает: все потоки принимает он. Подробнее: Архитектура.
Режим по требованию#
Поток не подключается к источнику, пока его никто не смотрит, и отключается через заданное время после ухода последнего зрителя. Экономит трафик до камеры и ресурсы сервера ценой задержки на первое подключение. На потоках с записью не действует: архив должен быть непрерывным. Подробнее: Архитектура.
Резервный источник#
Второй и следующие input в блоке потока. При отказе основного сервер сразу переходит к
следующему в списке, а когда основной оживает — возвращается к нему.
Подробнее: Резервирование источников.
Ретрансляция#
Приём чужого потока и раздача его дальше своим зрителям, как правило в других протоколах: забрали с камеры по RTSP — отдали в браузер по HLS. Содержимое при этом не меняется. Подробнее: RTSP, HLS, DASH, MPEG-TS.
Сегмент#
Кусок потока длиной в несколько секунд, который плеер скачивает отдельным файлом; список сегментов и есть плейлист. Сегмент собирается из фрагментов и всегда начинается с ключевого кадра. Подробнее: Протоколы раздачи.
Сессия#
Один зритель одного потока: протокол, адрес, время подключения, объём отданных байт и качество приёма. Сессии видны в панели и через API, ненужную можно завершить принудительно. Подробнее: Веб-интерфейс.
Слушатель#
Порт, на котором сервер принимает подключения: http 8080;, rtsp 8554;, webrtc 40000;.
Смена порта — из тех изменений, что требуют перезапуска службы, а не горячей перезагрузки.
Подробнее: Порты и сеть.
Таймшифт#
Просмотр живого потока с отставанием: зритель отходит на нужное время назад и смотрит дальше непрерывно, постепенно догоняя эфир. Возможен только там, где ведётся архив. Подробнее: Просмотр и экспорт.
Токен просмотра#
Подписанная строка, которую ваша система выдаёт зрителю вместе со ссылкой. В ней записано, что и до какого момента разрешено смотреть; сервер проверяет подпись и содержимое, никуда не обращаясь. Не путайте с паролем администратора — он к видео отношения не имеет. Подробнее: Авторизация просмотра.
Трек#
Отдельная дорожка внутри потока: видео или звук. Дорожки упаковываются раздельно, поэтому поток без звуковой дорожки — обычная ситуация, а не поломка. Подробнее: Архитектура.
Упаковка#
Перекладывание уже сжатых кадров в другой контейнер: RTSP → HLS, RTMP → MSE-WS. Сами кадры не меняются, поэтому упаковка обходится дёшево и не портит качество. Не путайте с перекодированием — его в сервере нет. Подробнее: Архитектура.
Фрагмент#
Наименьший блок упакованного видео, которым сервер оперирует внутри: его кладут в кольцевой буфер, отдают всем протоколам сразу и пишут в архив. Из фрагментов складываются сегменты. Подробнее: Архитектура.
Хранилище#
Именованный каталог на диске (или учётная запись в объектном хранилище), куда пишется архив. У хранилища свои размер файла записи, порог вытеснения и признак исправности — по нему видно, что диск отвалился, а не что архив пуст. Подробнее: Хранилища и S3.
Экспорт клипа#
Скачивание куска архива обычным файлом MP4 за указанный интервал времени. Требует отдельного права и ограничен по объёму — длинные выгрузки собираются на стороне клиента. Подробнее: Просмотр и экспорт.