---
title: Потоки
url: https://doc2.pstreamer.tv/ru/manual/webui/streams.html
lang: ru
product: Perfect Streamer
version: 2.0.2.362
---

# Потоки

![Экран «Потоки»: список потоков с раскрытой строкой.](../../_images/webui_streams_list.png)

Экран **Потоки** — центральное рабочее место узла: единый список настроенных потоков с их состоянием, активным входом, битрейтом, «Аптайм» и счётчиком ошибок непрерывности «CC». Активный вход обозначен номером и плашкой транспорта — `#2` и, скажем, `udp`; номер — это место входа в списке резервирования, тот же, что у входа в раскрытой строке, в редакторе потока и в тексте оповещения ([Резервирование источников](../streamer/spts.md#streamer-spts-reservation)). Каждая строка раскрывается по клику и показывает входы и выходы потока с их состоянием, приоритетом резервирования, заметками и активными оповещениями; отдельный вход или выход отсюда можно приостановить и возобновить, а кнопка «Показать в библиотеке» рядом с адресом открывает список остальных точек домена на этом адресе (Библиотека — этот поток). Причина отказа входа или выхода показывается в раскрытой строке по-разному: пока точка отказывает сейчас — красной строкой; когда она остановлена — приглушённой и с возрастом, «Последний сбой 3h 04m назад: …»; а у приостановленной точки строки нет вовсе, и она возвращается только с возобновлением. Заработавший вход причину не сохраняет — узел стирает её вместе со временем, и строка исчезает. Приглушённая строка не означает неисправности: это история, и на исправном потоке с резервом она под остановленным резервным входом — норма. Возраст — это разница между часами браузера и отметкой времени, поставленной узлом, поэтому его смещает расхождение часов на любой из двух сторон. Понятие потока и модель передачи описаны в [Модель передачи: Stream, Sender, Receiver, Peer](../planning/index.md#planning-model); обработка SPTS — в [SPTS-потоки](../streamer/spts.md#streamer-spts), мультиплекс MPTS — в [MPTS-потоки](../streamer/mpts.md#streamer-mpts).

Список сгруппирован по типам: одиночные потоки (SPTS) идут общим списком, ниже — группы «MPTS-потоки» и «Адаптивные потоки» (ABR-наборы). Над списком расположены средства навигации и управления:

****Поиск и фильтры****
  Поле «Найти поток…» ищет по номеру потока, имени, заметке и адресу входа/выхода и подсвечивает найденную строку, не сокращая список; под каждым результатом подписано, какое поле совпало, а рядом с именем стоит номер — `#85` у потока и `ABR #3` у адаптивного набора, потому что нумеруются они независимо друг от друга. По тексту поиск начинается с трёх знаков, по номеру — с первого; пока набрано меньше трёх знаков, ищется только номер, о чём и говорит подсказка «Введите не менее 3 символов или ID потока». Номер ищется по началу: `150` найдёт поток 1500 и не найдёт 4150, а форма `#150` равносильна `150`. Первым идёт точно набранный номер, за ним совпадения по тексту и лишь затем номера, для которых набранное — только начало. Фильтр «Теги» ограничивает список по меткам потоков, переключатель «SPTS / MPTS / Адаптивный» показывает или скрывает группы типов, а сегмент «Все / Активные» скрывает приостановленные потоки. Переход на экран по ссылке, называющей конкретный поток, — с обзора узла, из графа, из библиотеки, с экрана транскодеров или с соседнего узла — сбрасывает все три фильтра разом и раскрывает строку этого потока, прокручивая к ней список: иначе оставшийся от прежней задачи фильтр мог бы её скрыть. Так же считается и возврат браузером на такой адрес или открытие его по закладке — кроме перехода с транскодеров: тот раскрывает строку и сразу убирает себя из адреса, поэтому в закладку он не попадает, а возврат браузером ведёт обратно на экран транскодеров. Переключение сегмента в «Все» видно на экране, и прежнее значение легко вернуть — но вернуть его надо самому: сегмент запоминается браузером, и после перехода он останется в «Все» и на следующем открытии экрана. Открытие из самого списка фильтры не трогает: строка, по которой щёлкнули, и так на виду.
****Действия над выбранным потоком****
  Заголовок содержит действия, применяемые к раскрытому (выбранному) потоку или ABR-набору: «Статистика потока» (Статистика потока), «Открыть в конвейере» ([Конвейер](monitor.md#webui-pipeline)), «Настроить поток» (Настроить поток) и «Удалить поток». Кнопка «+ Новый поток» открывает окно создания. Администратору доступно перетаскивание строк для изменения их порядка — среди одиночных потоков и в группе «MPTS-потоки», каждая в своих пределах; ABR-наборы не переставляются. Фильтры перестановке не мешают: перенос считается по всему списку, поэтому скрытые фильтром потоки сохраняют своё взаимное положение. То же перемещение делается сочетаниями `Alt+↑` и `Alt+↓` ([Работа с клавиатуры](index.md#webui-keyboard)); на телефоне порядок только показывается.
****Выделение нескольких строк****
  В окне шириной от 1080 точек несколько строк выделяются мышью: ``Ctrl``+клик (на macOS — ``Cmd``+клик) добавляет строку в выделение или убирает её из него, а ``Shift``+клик берёт весь промежуток. Раскрытая строка считается текущей и в жесте участвует: после клика по одной строке и ``Ctrl``+клика по другой выделены обе. Обычный клик, пока что-то выделено, только снимает выделение и строку не раскрывает; то же делает ``Esc``. Выделение однородно — либо одиночные потоки, либо MPTS-потоки, либо ABR-наборы: на попытку смешать их в ответ приходит «В одном выделении — что-то одно: потоки, MPTS или ABR-наборы», а в узком окне жест отклоняется с пояснением «Для группового выделения нужно окно шире». Пока строки выделены, действия над одним потоком недоступны — они помечены «Действует на одну строку — кликните строку без Ctrl», — и перетаскивание строк приостановлено; доступной остаётся кнопка «Открыть в конвейере», открывающая групповой вид ([Конвейер](monitor.md#webui-pipeline)). Над списком появляется полоса со счётчиком выделенного, числом строк, скрытых фильтром, подсказкой по жестам и кнопкой «Снять выделение». Скрытая фильтром строка выделения не теряет; строка, исчезнувшая с узла, из выделения выбывает, и полоса сообщает, сколько строк выбыло. Больше двенадцати строк выделить можно, но групповой вид покажет первые двенадцать — полоса предупреждает об этом заранее.
****Состояние и оповещения****
  Цветовой индикатор состояния, плашки признаков потока (CBR/VBR, скремблирование, защита DRM, работа на резервном входе, только аудио или только видео, кодеки, TRACE) и отметка активных оповещений. Оповещения привязаны к потоку и его входам/выходам ([Оповещения (алертер)](../meshwork/alerts.md#meshwork-alerts)); отчёт TR 101 290 и раздел глубокого анализа открываются прямо из строки.

Отдельные окна экрана описаны ниже.

## Новый поток

![Окно «Новый поток».](../../_images/webui_stream_new.png)

Окно создания потока. Тип выбирается переключателем: одиночная программа (**SPTS**), мультиплекс (**MPTS**) или адаптивный набор (**Адаптивный**); для SPTS дополнительно задаётся «Тип контента». После создания SPTS- или MPTS-потока сразу открывается редактор (Настроить поток). Для адаптивного набора отдельный редактор не открывается — состав участников и их битрейты задаются прямо в этом окне, поскольку набор строится из уже настроенных OTT-потоков. Различия SPTS и MPTS описаны в [SPTS-потоки](../streamer/spts.md#streamer-spts) и [MPTS-потоки](../streamer/mpts.md#streamer-mpts), адаптивные наборы — в [Адаптивные наборы](../streamer/ott_dvr.md#streamer-ott-adaptive).

## Настроить поток

![Редактор потока, вкладка «Входы».](../../_images/webui_stream_editor_inputs.png)

![Редактор потока, вкладка «Выходы».](../../_images/webui_stream_editor_outputs.png)

![Редактор потока, вкладка «OTT».](../../_images/webui_stream_editor_ott.png)

Основной редактор потока. Настройки сгруппированы по вкладкам; для потоков MPTS вкладка «OTT» не показывается.

****Поток****
  Идентификация (имя, отображаемое имя, для SPTS — тип потока, заметка) и поведение потока: таймаут, интервал проверки, повторная проверка основного входа, генерация мозаики ([Мозаика](monitor.md#webui-mosaic)), извлечение EIT в базу данных EPG ([База данных EPG](../streamer/epg/xmltv.md#streamer-epg-database)) и признак скремблирования для SPTS. Для SPTS здесь же настраивается генерация EIT из выбранного источника EPG и его канала ([Генератор EIT](../streamer/epg/eit.md#streamer-epg-eit)).
****Входы****
  Список источников потока с их приоритетом и резервированием ([Резервирование источников и раздача](../planning/index.md#planning-reservation)). Строки пронумерованы по порядку — `#1` основной, остальные резервные в этом же порядке. Администратору порядок доступен для правки — здесь же или в раскрытой строке списка потоков: строку переносят за ручку, а с клавиатуры — установив на эту ручку фокус и нажав `Alt+↑` или `Alt+↓`. О том же говорит подсказка над списком; она появляется, когда входов больше одного и правка доступна. Добавленный вход всегда становится последним, то есть новый источник не подменяет собой основной. Добавление и изменение входа открывают редактор входа и выхода (Редактор входа и выхода); отдельный вход можно приостановить. Вход `muxer` предлагается только в пустом списке: у MPTS-потока его добавляют первым, и пока он стоит, кнопка «Добавить вход» выключена с пояснением «Вход muxer должен быть единственным входом потока.» — резервирования входов у мультиплексора нет. MPTS-поток, принимающий готовый мультиплекс по сети, этого ограничения не имеет: входы у него обычные и резервируются.
****Выходы****
  Раздача потока по протоколам передачи ([Peer-протоколы надёжной передачи](../planning/index.md#planning-peer-protocols)) и стандартным транспортам ([Другие входы и выходы](../planning/index.md#planning-other-io)). Каждый выход добавляется и правится через тот же редактор. Выход `ps1` у потока может быть только один — при добавлении следующего этого типа в списке уже нет; остальные типы повторяемы.
****MPEG-TS****
  Режим битрейта выходного транспортного потока ([Управление битрейтом](../streamer/spts.md#streamer-spts-bitrate)) и — для SPTS — «ID сети», фиксация интервала PAT/PMT, фильтрация служебных таблиц (CAT/ECM/EMM, EIT, NIT, SDT, субтитры, TDT, телетекст; [Фильтрация MPEG-TS](../streamer/spts.md#streamer-spts-filter)), перезапись SDT и номера программы ([Модификация потока](../streamer/spts.md#streamer-spts-modify)), а также автоматическая раскладка PID программы и базовый PID её окна ([Автоматическая раскладка PID](../streamer/spts.md#streamer-spts-autopid)).

  Сохранение любой настройки этой вкладки, кроме «Режим битрейта», «Битрейт заполнения» и «ID сети», закрывает и заново открывает входы потока, а у потока с OTT-раздачей ещё и пересобирает конвейер OTT — зрители переподключаются; об этом предупреждает надпись на самой вкладке.
****OTT****
  OTT-раздача потока, разложенная по планам доставки: имя потока в URL — общее и для прогрессивной раздачи, и для HLS/DASH; сервис HLS ([Режимы раздачи](../streamer/ott_dvr.md#streamer-ott-modes)), его трассировка и извлечение телетекстовых субтитров в WebVTT; чанки и низкая задержка ([Сегментер](../streamer/ott_dvr.md#streamer-ott-segmenter)); запись DVR в выбранное хранилище ([OTT и DVR](../streamer/ott_dvr.md#streamer-ott-dvr)); сервис HTTP со своей трассировкой; защита контента DRM — HLS AES-128 или CENC ([Защита контента (DRM)](../streamer/ott_dvr.md#streamer-ott-drm)). Субтитры и DVR настраиваются только в режимах OTT сервиса HLS. Только для SPTS.
****Анализ****
  Контроль качества транспортного потока: подробная трассировка, глубокий анализ элементарных потоков, монитор TR 101 290, анализ разрывов PCR/PTS и видеобуфера T-STD, компенсация дрейфа синхронизации ([Анализатор](../streamer/analyzer.md#streamer-analyzer)).
****Оповещения****
  Общий выключатель оповещений потока и задержка подъёма оповещений об ошибках его входов и выходов ([Оповещения (алертер)](../meshwork/alerts.md#meshwork-alerts)); пороги задаются на уровне узла ([Оповещатель](administration.md#webui-alerter)).

Сохранение изменений, затрагивающих записанный архив DVR, дополнительно защищено подтверждением (Подтвердите изменения DVR).

Если поток удалён с узла, пока открыт его редактор, наверху панели появляется сообщение «Этого потока больше нет на узле.», и сохранение становится недоступным — та же причина названа рядом с кнопкой. Поля остаются доступными для правки, но записывать их некуда: объекта на узле уже нет. Сообщение снимается само, если поток с тем же идентификатором создан заново; та же строка появляется над схемой обработки ([Конвейер](monitor.md#webui-pipeline)), если поток удалён при открытой схеме. Узел сообщает об этом с 2.0.2.302 — прежде у такого потока просто пустели все списки, что выглядело как поток без настроенных входов и выходов.

Отдельные окна редактора описаны ниже.

## Редактор входа и выхода

Окно добавления и изменения входа или выхода потока. Тип транспорта выбирается при создании и далее неизменен (для смены транспорта вход или выход пересоздают). Подписи полей самого транспорта интерфейс не переводит: это технические обозначения, и на любом языке они выводятся по-английски. Поля каждого транспорта — со значениями, диапазонами и различиями входа и выхода — перечислены в [Поля входов и выходов по транспортам](io/index.md#webui-io). Параметры разнесены по вкладкам:

****Свойства****
  Адрес, порт, привязка к сетевому интерфейсу и параметры соединения выбранного транспорта. Peer-протоколы и стандартные транспорты описаны в [Планирование и протоколы передачи данных](../planning/index.md#planning); шифрование — в [Шифрование потоков](../planning/index.md#planning-encryption). Для входов PS1 и SRT доступен автоматический вход по peer-авторизации Meshwork с возможностью переключиться на ручные логин и пароль. Адрес можно вставить из буфера обмена («Вставить URL») или выбрать источник из каталога домена («Выбрать из библиотеки…», Источники библиотеки). Для входа-транскодера здесь же задаются декодер и параметры кодирования, включая режим изменения размера кадра ([Транскодеры](../streamer/transcoder.md#streamer-transcoder)).
****MPEG-TS PID****
  Отбор и переназначение PID на входе или выходе: приём PID (белый список), отклонение PID (чёрный список), переназначение PID и языка аудиодорожек. Пока у потока включена автоматическая раскладка PID ([Автоматическая раскладка PID](../streamer/spts.md#streamer-spts-autopid)), группа переназначения PID скрыта на входах и не действует; списки приёма и отклонения работают по-прежнему. На muxer-выходе переназначение PID сохраняется — оно относится к мультиплексору ([Назначение PID](../streamer/mux.md#streamer-mux-pids)), но исходными PID в его парах становятся PID, назначенные автоматической раскладкой.

  Рядом с каждым номером показано, что это за PID: у SPTS — вид и кодек (`Video · H.264`), у мультиплекса перед этим ещё и программа, которой PID принадлежит (`01 ПЕРВЫЙ КАНАЛ · Teletext`). У MPTS-входа собственной декодированной программы нет — сервисы живут уровнем ниже, по одному на программу мультиплекса, и в подписи идут они все. В строке добавления есть список «Выбрать PID…» с теми PID, которые источник действительно несёт; он подставляет номер в поле, а ручной ввод остаётся — транспорт может нести PID, о котором ничего не декодировано. Если об источнике не известно ничего — ни свежих данных, ни сохранённых, — списка нет и остаётся только поле номера; чужие данные не подставляются, и остановленный вход не берёт состав программы у работающего соседа того же потока: источник у них может быть другой, с другим планом PID. В переназначении PID список обслуживает сторону «Из PID» — PID справа назначается, а не отыскивается; в переназначении языка он показывает только аудио-PID. У остановленного входа чёрный список идёт без подписей и без списка выбора: остановленный вход помнит состав программы уже после собственного фильтра, и роль, которая осталась в этом снимке за отклонённым PID, — след, а не факт.
****BISS****
  Ключи дескремблирования BISS для закодированного источника — один ключ для SPTS либо по ключу на программу (PNR) для MPTS ([Дескремблирование BISS](../streamer/mpts.md#streamer-mpts-biss)).
****CI/CAM****
  Передача входа отдельному модулю CI на дескремблирование (CI/CAM на входе потока).

### CI/CAM на входе потока

Вкладка «CI/CAM» редактора входа отдаёт транспорт входа целиком отдельному модулю CI: узел выкачивает поток в модуль и принимает обратно уже раскрытым. Список программ на вкладке говорит не о том, что уходит в модуль, а о том, что модулю поручено раскрыть, — в модуль идёт вход целиком. Так и написано в подсказке под формой.

Отдельный модуль — не то же, что модуль, вваренный в тюнер: вваренный настраивается на самом DVB-адаптере, своей программой адаптера ([Дескремблирование](../streamer/dvb.md#streamer-dvb-descrambling)), и на этой вкладке не предлагается вовсе. Как различить их в инвентаре оборудования, сказано в [Оборудование](administration.md#webui-hardware).

Вкладка есть только у входа и только на узле сборки 2.0.2.361 или новее; на узле старее её нет — не приглушённой, а нет совсем, без пояснения. Из транспортов её не получают transcoder и test-stream, к которым транспорт извне не приходит, а также RTMP и RTSP, не несущие MPEG-TS; у остальных она есть. Форма вкладки зависит не от транспорта, а от типа потока, которому вход принадлежит: у SPTS-потока это одно поле «Слот CI», у MPTS-потока — стопка карточек, в каждой пара «Программа (PNR)» и «Слот CI». Управления программами у SPTS нет вовсе — этого ключа у него не существует. На практике входы DVB и муксера встречаются только у мультиплекса, а HLS, демультиплексор, RTSP и RTMP — только у SPTS-потока, так что до формы с программами доходят только на MPTS.

Карточки добавляют кнопкой «Добавить программу» под списком и убирают крестиком «Удалить программу» в углу карточки; подтверждения не спрашивает ни то, ни другое. У пустого списка написано «Ни одна программа не передана модулю CI.».

**Слот CI.** В списке — «Выключено» и все отдельные модули, о которых сообщил узел; каждый подписан идентификатором слота, названием модуля и, если слот уже занят, пометкой, кто его держит. Занятый слот из списка не убирается: два входа могут брать один модуль по очереди, и пометка здесь предупреждение, а не запрет. Держатель — это собственный служебный префикс узла вида `[stream][input#1.udp][cam0]`; он выводится как есть, не переводится и именем потока не является. Если узел не сообщает об оборудовании CI ничего, список вырождается в обычное поле ввода, чтобы заданный где-то ещё идентификатор остался доступен для правки.

**Клок CI (Мбит/с).** Один числовой параметр, показанный флажком «Автоматически» и полем рядом. Флажок стоит по умолчанию; пока он стоит, поле заперто и показывает «Измеряется по входу». Автоматика измеряет битрейт входа и ведёт модуль примерно на треть выше него, причём следит за входом на ходу — просевшему по битрейту источнику новое значение не нужно. Клок задаёт темп в обе стороны: намного выше входа модуль возвращает в основном заполнитель и пакеты теряются, намного ниже — труба запирается.

Часть проверок запирает кнопку сохранения, часть только предупреждает:

| Условие | Что делает | Сообщение |
| --- | --- | --- |
| Идентификатор слота длиннее 16 символов | запирает | «Идентификатор слота CI — не более 16 символов.» |
| Названо больше четырёх **разных** слотов (повторы одного не считаются) | запирает | «Не более 4 разных слотов CI. Повторять один слот ради нескольких программ можно.» |
| Слотов больше одного, и списки разной длины | запирает | «Если слотов больше одного, укажите слот для каждой программы: списки сопоставляются по позиции.» — рядом кнопка «Починить пару» |
| Клок не целое число от 0 до 200 | запирает | «Узел принимает целое число от 0 до 200. Отказ не откатывается: всё, что узел прочитал до этого поля, останется применённым.» |
| Клок вне 20…120 Мбит/с | предупреждает | значение применяется как задано |
| Номер программы вне 0…65535 | ничего | только красная рамка |

Последняя строка — единственное место вкладки, где негодное значение до узла доходит: сообщения нет, сохранение не заперто, и запрос узел отклонит. Чем это грозит, сказано в [Как приходят ошибки](../extras/api.md#extras-api-results): отказ не откатывается, и поля, прочитанные до номера программы, останутся применёнными. Увидев отказ сохранения, форму открывают заново и смотрят, что в ней теперь.

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

Один слот, обслуживающий несколько программ, — законная и обычная схема; ограничение в четыре касается только **разных** слотов. Именно так выглядит всё, настроенное до 2.0.2.361.

Если сохранение заперто из-за вкладки CI/CAM, а оператор смотрит на другую вкладку, над формой появляется строка «Сначала нужно поправить то, что на вкладке CI/CAM.». Запирать сохранение здесь предпочтительнее отправки «на пробу» именно потому, что отклонённая запись не откатывается: связка, не прошедшая сквозную проверку, доехала бы до файла настроек целиком, и при следующем запуске загрузчик отключил бы на этом входе CI.

Работу модуля видно в статистике потока (Статистика потока), состояние слотов и их освобождение — на экране «Оборудование» ([Оборудование](administration.md#webui-hardware)).

### Источники библиотеки

Выбор входа из общего каталога ресурсов домена Meshwork: список уже отдаваемых на узлах домена потоков того же транспорта, из которого можно подключить источник, не вводя адрес вручную. Список фильтруется по узлу-источнику и тексту и разбит на страницы; источники того же домена в peer-протоколах отмечаются признаком «пир» ([Общий каталог ресурсов](../meshwork/map.md#meshwork-catalog)). Не путать с окном Библиотека — этот поток: здесь по каталогу выбирают источник, там смотрят, кто ещё работает с уже заданным адресом.

## Библиотека — этот поток

![Окно «Библиотека — этот поток»: источник и потребители одного адреса.](../../_images/webui_stream_library_feed.png)

*Окно «Библиотека — этот поток»: у входа потока показаны источник (`output`) и два других потребителя (`input`) того же адреса.*

Окно отвечает на вопрос «кто ещё работает с этим адресом». Его открывает кнопка «Показать в библиотеке» рядом с адресом входа или выхода: в раскрытой строке списка потоков, в списках входов и выходов редактора потока, на карточках входов и выходов конвейера ([Конвейер](monitor.md#webui-pipeline)) и в окне статистики — у активного входа и в разделе «Выходы». Подзаголовок окна — адрес той точки, от которой его вызвали.

Кнопка есть только у транспортов, попадающих в общий каталог домена: UDP, RTP, Pro-MPEG, RIST, PS1 и SRT ([Общий каталог ресурсов](../meshwork/map.md#meshwork-catalog)). У входа-транскодера, муксера, демуксера, файла и тестового генератора записей в каталоге нет, поэтому нет и кнопки — это не признак неисправности.

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

Столбец «Направление» показывает роль точки: `output` — она отдаёт этот поток (источник), `input` — принимает его (потребитель); источники перечислены первыми. Остальные столбцы те же, что в общем каталоге: «Протокол», «Узел», «Поток» и «Назначение» (адрес и порт). За адресом выводится пометка «проверено»: эту пару узел подтвердил доменной авторизацией, а не вывел из совпадения адресов — при работе через NAT адреса сторон и не совпадают. Пометку получает не больше одной строки на слушающий сокет: узел называет одного представителя из подтверждённых сессий, и он меняется по мере подключения и отключения клиентов. Отсутствие пометки поэтому не означает, что связь ненастоящая.

Клик по строке открывает админку её узла на статистике её потока. Строка своего узла открывается на месте, строка соседа — по настройке «Открывать узлы в» общей панели ([Общая панель](index.md#webui-chrome)); Ctrl или ⌘ принудительно открывает новую вкладку. Строка узла, недоступного или неизвестного сети, действия не имеет и несёт подсказку «Узел недоступен».

Совпадение считается по протоколу и полному адресу — группе и порту, а для UDP, RTP, Pro-MPEG и RIST ещё и по VLAN и источнику SSM. Поэтому точка на той же группе, но в другом VLAN или с другим SSM-источником, в список не попадёт, как и точка другого транспорта на том же адресе. Для PS1 и SRT совпадения адресов не требуется вовсе: вызывающая сторона называет партнёра по имени хоста, и это имя сопоставляется с составом домена — поэтому у найденной строки адрес может выглядеть совершенно иначе. Тем же способом находится и подтверждённая пара, по именам узла и потока, которые называет слушающая сторона.

Два сообщения об отсутствии соседей означают разное:

| Сообщение | Что означает |
| --- | --- |
| «На этом адресе больше нет зарегистрированных точек.» | Точка объявлена в каталоге, соседей у неё нет. |
| «Эта точка не объявлена в библиотеке (объявляются только работающие сетевые входы и выходы).» | Записи о самой точке в каталоге нет: поток не работает, вход или выход приостановлен, только что запущен либо исключён из публикации полем Peer private ([Общий каталог ресурсов](../meshwork/map.md#meshwork-catalog)). Соседей в этом случае не «нет», они неизвестны. |

Тот же каталог целиком показывает экран [Библиотека](meshwork.md#webui-fleet-library).

## Программы

Редактор программ мультиплекса (MPTS), открываемый из окна настройки входа-муксера: состав программ выходного потока, их порядок в PSI и назначение PID. Программу добавляют из числа настроенных SPTS-потоков либо удаляют; порядок меняется перетаскиванием, а на узком экране — сочетаниями `Alt+↑` и `Alt+↓` ([Работа с клавиатуры](index.md#webui-keyboard)); отдельную программу можно приостановить. Когда автоматическое назначение PID выключено, для каждой программы правятся PMT PID и PID элементарных потоков; когда состав программы-участника прочитать не удалось, редактор PID показывает ошибку запроса, а не «Нет media info — источник не декодируется.» — молчащий источник и неудавшийся запрос требуют разного. Сборка мультиплекса описана в [Мультиплексор](../streamer/mux.md#streamer-mux), распределение программ и PID — в [Параметры программ](../streamer/mux.md#streamer-mux-programs) и [Назначение PID](../streamer/mux.md#streamer-mux-pids), транзит и анализ MPTS-потоков — в [MPTS-потоки](../streamer/mpts.md#streamer-mpts).

## Подтвердите изменения DVR

![Окно «Подтвердите изменения DVR».](../../_images/webui_stream_dvr_confirm.png)

Предупреждение перед сохранением изменений потока, которые затрагивают уже записанный архив DVR: отключение записи, переключение на другое хранилище, сокращение срока хранения или защищённого минимума, а также смена ключа DRM у потока с записью (ранее записанные зашифрованные сегменты при этом становятся недоступны). Окно перечисляет, что именно будет затронуто, и требует подтверждения; безопасные изменения (первое подключение хранилища, увеличение срока хранения) сохраняются без запроса. Запись и хранение архива описаны в [OTT и DVR](../streamer/ott_dvr.md#streamer-ott-dvr) и [DVR: архив потока](../streamer/ott_dvr.md#streamer-dvr).

## Статистика потока

![Окно статистики потока.](../../_images/webui_stream_stats.png)

![Отчёт анализа TR 101 290.](../../_images/webui_stream_tr290.png)

Подробная статистика потока в отдельном окне, обновляемая в реальном времени. Открытое по ссылке с другого экрана, окно заодно показывает этот поток в списке за собой (Потоки); так же ведёт себя переход по ссылке, которая открывает не статистику, а редактор потока. Состав разделов:

****Сводка состояния****
  Текущее состояние и сообщение потока, плашки признаков, активный вход и число выходов, режим битрейта, формат и кодеки картинки, ссылки OTT-доставки и живой снимок кадра ([Мозаика](monitor.md#webui-mosaic)). Здесь же — значок вердикта TR 101 290, открывающий полный отчёт, и кнопка «Показать в библиотеке» у активного входа (Библиотека — этот поток).

  Если активный вход потока — вход-транскодер, его значение становится ссылкой: переход открывает экран «Транскодеры» ([Транскодеры](monitor.md#webui-transcoders)) с раскрытой строкой того экземпляра, который этот вход кормит; фильтр активных экземпляров при этом снимается, поэтому остановленный экземпляр тоже виден — именно за ним по такой ссылке обычно и идут. Рядом появляется плашка «Источник декодера» с именем потока, который этот экземпляр декодирует; по ней открывается список потоков с раскрытой строкой того потока (Потоки). Если узел не сообщает имени источника, на плашке стоит его номер, а если источника нет вовсе — плашки нет. Обе ссылки доступны в любой роли: они только показывают, ничего не меняя.
****Мультиплекс / KPI****
  Для SPTS — ключевые счётчики (входной битрейт, ошибки CC за окно и всего, скремблированные пакеты); для MPTS — таблица мультиплекса с суммарными скоростями и состоянием программ ([Анализ по программам](../streamer/mpts.md#streamer-mpts-analysis)).

  У программы, раскрытой модулем CI, в раскрытой детализации появляется строка «CI» с номером слота и вердиктом модуля (CI/CAM на входе потока). Это строка детализации, а не столбец таблицы: столбцы прежние. На живом мультиплексе такую строку обычно несёт одна программа из десятка, и столбец пустовал бы у всех остальных.
****Графики****
  Временные ряды: битрейт, непрерывность и скремблирование, джиттер PCR, потеря пакетов. Окно выбирают пресетами «15м», «1ч», «6ч» и «24ч»; кнопки со стрелками `‹` и `›` (подсказки «Окно ранее» и «Окно позже») листают его назад и вперёд, значок «Live» отмечает окно, упирающееся в текущий момент, а над графиками подписаны его границы. Шаг выборки задаёт пресет, но подробнее собственного шага узел данных не отдаёт: на узле с крупным шагом самое короткое окно «15м» строится по меньшему числу точек и получается грубее. Остальных пресетов это не касается.
****Проверка MPEG-TS****
  Экспресс-проверка структуры (TS, PAT, PMT, PCR, аудио/видео и их ES), общий вердикт TR 101 290 и признаки сигнализации программы ([Проверка валидности](../streamer/analyzer.md#streamer-analyzer-checker)).
****Диагностика входа****
  Раскрывающиеся блоки: «Информация о медиа», «Входное соединение», дешифрование BISS, генерация EIT, «Анализатор» (метрики PCR и синхронизации, а под ними таблица PID активного входа со столбцами «PID», «Тип», «Битрейт» и «Пакеты/с»), заполнение и «Глубокий анализ» — структура GOP, буфер T-STD, паспорт видеокодека, разрывы PTS/DTS, SCTE-35 ([Постоянные измерения](../streamer/analyzer.md#streamer-analyzer-metrics), [Углублённые анализы](../streamer/analyzer.md#streamer-analyzer-deep)). Состав раздела зависит от входа: у входов UDP, RTP и Pro-MPEG в блоке «Входное соединение» появляется строка «Буфер сокета (выдано)» — полезный объём приёмного буфера, который достался сокету на самом деле ([Рекомендации по настройке сети для мультикаста](../faq/index.md#faq-multicast-sysctl)); у входа-муксера раздела нет вовсе — сокета у него нет, а программы показывает таблица мультиплекса; при сетевом приёме готового MPTS остаётся «Входное соединение» с показателями своего транспорта, а «Информация о медиа», «Анализатор» и «Глубокий анализ» скрыты — измерений по одной программе у такого входа нет. Дешифрование BISS показывается только у SPTS: у MPTS счётчики BISS ведутся по программам ([Дескремблирование BISS](../streamer/mpts.md#streamer-mpts-biss)). Блоки генерации EIT и заполнения появляются сами, когда поток генерирует EIT или добавляет NULL-пакеты.
****CI/CAM****
  Работа модулей CI, которым отданы входы этого потока (CI/CAM на входе потока). Раздел свёрнут по умолчанию, в его заголовке — общее число ступеней, и появляется он только тогда, когда хоть один вход потока называет слот CI.

  Раздел показывает **все** входы потока, а не только активный. Слот вполне может держать резервный вход — ради такого случая и существует освобождение слота на экране «Оборудование» ([Оборудование](administration.md#webui-hardware)). Блоки неактивного входа подписаны «На входе» с типом и номером этого входа.

  На каждую ступень каскада — свой блок; когда модуль у входа не один, блоки озаглавлены «Ступень 1», «Ступень 2» и так далее. Вид блока зависит от того, взят ли слот. У взятого — «Состояние», «Модуль», «Клок» (действующий сейчас; пока узел его не сообщает, написано «автоматически»), «Задержка», при сквозном пропуске «Проходит без изменений», затем счётчики, «Вердикт» и «Ошибка» с «Сообщением модуля». У невзятого — измерение ещё идёт или слот взять не удалось — только «Состояние» и строка «Слот ещё не взят, поэтому счётчиков нет.»: узел по такому слоту почти ничего не отдаёт, и стена нулей вводила бы в заблуждение. Ноль, который всё же выведен, поэтому значит «слот взят, но ничего не происходило».

  Счётчики разделены на две группы намеренно, потому что сброс накопительной статистики очищает только первую: «Линия задержки» (вставлено, раскрыто, потеряно, дубли, несовпадений, таймауты, не принято) сбрасывается, «Труба» (отдано, возвращено, ошибки групп, устаревшие, заполнитель, затор записи, таймаут чтения, сбросы) — нет; её счётчики начинаются заново при новом взятии слота.

  Читать их стоит с двумя оговорками. Вердикт `unknown` (как и `reserved`) отказом не является: многие модули на такой запрос не отвечают вовсе, продолжая прекрасно раскрывать, — судят по росту счётчика раскрытых пакетов. А растущие потери и ошибки групп обычно означают слишком высокий клок CI; потерянный пакет уходит дальше ровно таким, каким пришёл, то есть скремблированным.

  Значения, пришедшие от узла, выводятся как есть и не переводятся: идентификатор слота вида `0:1`, состояние (`empty`, `module-present`, `initializing`, `ready`, `error`, `unavailable`, `measuring`), имя приложения модуля, вердикт, текст ошибки и сообщение модуля.
****Выходы****
  Телеметрия каждого не приостановленного выхода: состояние, назначение, битрейт, счётчики отправленного трафика и показатели, специфичные для транспорта (PRO-MPEG FEC, PS1, RIST, SRT, RTMP); приостановленные выходы в этот список не попадают. У выходов в транспортах общего каталога домена есть кнопка «Показать в библиотеке» (Библиотека — этот поток). Причина отказа выхода показывается здесь так же, как в раскрытой строке списка: красной строкой, пока выход отказывает сейчас, и приглушённой «Последний сбой N назад: …», когда он остановлен. Без возраста, просто «Последний сбой: …», строка выводится на узлах прежних сборок — тех, что не сообщают времени ошибки.
****OTT / DVR****
  Шаблоны URL доставки, метрики кольца чанков и архива DVR, графики покрытия архива и реплик субтитров ([OTT и DVR](../streamer/ott_dvr.md#streamer-ott-dvr), [Воспроизведение архива (VOD)](../streamer/ott_dvr.md#streamer-dvr-vod)).
****Профайлер и Журнал потока****
  Загрузка потоков обработки (доля ядра) и структурированный журнал событий потока.

Отчёт TR 101 290 открывается и как отдельное окно; анализатор в целом описан в [Анализатор](../streamer/analyzer.md#streamer-analyzer), монитор TR 101 290 — в [Монитор TR 101 290](../streamer/analyzer.md#streamer-analyzer-tr101290). Администратору доступны сброс накопительной статистики и стирание архива DVR.

## Адаптивный набор

Окно настройки адаптивного набора (ABR): имя набора и имя в URL, состав потоков-участников и их битрейты («0» — авто). Участниками могут быть только SPTS-потоки с включённой OTT-раздачей; их добавляют и удаляют прямо в окне, битрейт задаётся для каждого варианта. Набор публикуется одним мастер-плейлистом, по которому клиент выбирает качество. Адаптивная раздача описана в [Адаптивные наборы](../streamer/ott_dvr.md#streamer-ott-adaptive), запись DVR для OTT — в [OTT и DVR](../streamer/ott_dvr.md#streamer-ott-dvr).
