Анализатор

Встроенный анализатор непрерывно проверяет и измеряет активный вход каждого потока. Результаты используются в нескольких подсистемах узла: вердикт валидности управляет переключением входов (Резервирование источников), метрики и графики выводятся в окне статистики потока (Статистика потока), сводные плашки — в списке потоков, по нарушениям поднимаются оповещения (Оповещения (алертер)). Данными декодера анализатора пользуются мозаика, импорт EPG и декодер субтитров (Конвейер обработки).

Базовые проверки и измерения включены всегда. Углублённые анализы включаются отдельными настройками на вкладке «Анализ» редактора потока. Каждая из этих настроек добавляет нагрузку на CPU, поэтому их включают по необходимости. Накопительные счётчики очищаются кнопкой «Сбросить статистику» в окне статистики.

Проверка валидности

Входной поток проверяется по этапам: захват синхронизации TS, приём таблиц PAT и PMT, наличие меток PCR, разбор звуковых и видеодорожек вплоть до декодирования ключевого кадра. Результат отображается в окне статистики, в секции «Проверка MPEG-TS», отдельными признаками TS, PAT, PMT, PCR, Audio, Audio ES, Video, Video ES. Проверка повторяется с интервалом проверки потока; вход признаётся аварийным, если поток не прошёл проверку или данные не поступают дольше таймаута потока. Тогда поток переключается на резервный вход (Резервирование источников).

Скремблированный транспорт считается валидным (SPTS-потоки): транспортный и PSI-уровни продолжают проверяться, а после появления открытых данных полный анализ возобновляется автоматически.

Постоянные измерения

Без дополнительных настроек анализатор измеряет:

  • Битрейт — скорость входного потока (у SPTS — по меткам PCR, у MPTS — по реальному времени) и выходная скорость после синхронизатора; график «Битрейт» в окне статистики.

  • Битрейт по PID — текущая скорость и число пакетов в секунду по каждому PID активного входа; таблица в блоке «Анализатор» окна статистики. Тип PID берётся из разбора таблиц потока (PAT, PMT, video, aac и подобные); PID NULL-пакетов (8191) обозначен NULL, а поток, тип которого определить не удалось, — прочерком. Измерение только для SPTS: у MPTS-потока таблицы нет ни при каком источнике мультиплекса, а состав и скорости программ показывает таблица мультиплекса (Анализ по программам).

  • Непрерывность и транспорт — ошибки непрерывности CC (окно и накопительно), ошибки транспорта (TEI), счётчики скремблированных пакетов; график «Непрерывность и скремблирование».

  • Интервал PCR — средний и максимальный интервал между метками PCR. При включённом мониторе TR 101 290 действует строгий предел 40 мс, без него — предел ISO/IEC 13818-1 в 100 мс.

  • Джиттер PCR — отставание планировщика выдачи от темпа PCR; график «Джиттер PCR». Это внутренняя метрика выдачи стримера, а не показатель входного потока: то, что внешние анализаторы и TR 101 290 называют PCR jitter или PCR accuracy, здесь соответствует метрике «Точность PCR» (ниже).

  • Дрейф PCR — систематический уход тактовой частоты источника относительно реального времени, в ppm. В отличие от джиттера, дрейф характеризует стабильность кварца энкодера и накапливается минутами; достоверный вердикт формируется на окне от 300 секунд. Допуск ISO/IEC 13818-1 — ±30 ppm; устойчивое превышение подсвечивается в окне статистики («Дрейф PCR»), отдельно от вердикта TR 101 290, потому что дрейф кварца — проблема энкодера на стороне источника, а не транспортной целостности.

  • Точность PCR — погрешность вставки меток PCR относительно фактического момента передачи; допуск TR 101 290 — ±500 нс. Метрика осмысленна только для потоков с постоянным битрейтом (см. детектор режима ниже).

Детектор режима мультиплекса. Анализатор автоматически классифицирует источник как CBR или VBR по регулярности PCR относительно позиции пакетов; вердикт фиксируется с гистерезисом, чтобы исключить частые переключения. Уверенный вердикт показывается плашкой CBR или VBR в списке потоков; пока данных недостаточно, плашки нет. VBR не дефект, а нормальный режим: проверки, осмысленные только для CBR (точность PCR, видеобуфер T-STD), в нём автоматически не оцениваются.

Углублённые анализы

Три независимых анализа включаются на вкладке «Анализ» редактора потока (все выключены по умолчанию):

«Глубокий анализ»

Переводит анализатор в непрерывный режим разбора потока (заметная нагрузка на CPU) и добавляет:

  • интервалы таблиц PAT и PMT (рекомендация — не более 500 мс);

  • интервалы ключевых кадров (GOP) и IDR-кадров. Для проигрывателей со случайным подключением рекомендуется GOP не более 1 секунды. Если интервал IDR примерно совпадает с интервалом ключевых кадров, поток имеет closed-GOP (каждый GOP открывается полной точкой входа); если метрика IDR отсутствует, поток имеет open-GOP;

  • интервал от PAT до ключевого кадра — от него зависит скорость старта воспроизведения при случайном подключении;

  • паспорт видеокодека (тип потока, профиль и уровень, разрешение, развёртка, параметры VBV) и параметры звуковых дорожек;

  • данные готовности к вставке рекламы: структура GOP, метки случайного доступа (RAI), события SCTE-35 и точки склейки. Порог предварительного уведомления о точке склейки задаёт дополнительная настройка «Уведомлять о точке склейки за (кадры)»;

  • контроль присутствия таблиц SI (SDT, EIT, NIT, TDT) и ошибки структуры элементарных потоков.

«Анализировать разрыв PCR/PTS»

Разброс между PCR и метками PTS/DTS по каждому элементарному потоку. Слишком большой разброс вызывает проблемы у проигрывателей с малым буфером синхронизации. Дополнительно измеряется интервал повторения видеометок PTS (показатель 2.5 отчёта TR 101 290, предел 700 мс).

«Анализировать видеобуфер T-STD»

Модель эталонного буфера декодера T-STD (ISO/IEC 13818-1): проверка, что видеобуфер не переполняется и не опустошается. Поддерживаются MPEG-2, H.264/AVC и HEVC; скорость слива адаптируется к фактическому битрейту видео. Оценивается только на потоках с постоянным битрейтом.

Результаты выводятся в окне статистики в секциях «Глубокий анализ» и «Анализатор». Настройки «Трассировка» и «Трассировка MPEG-TS» включают подробное журналирование проверки потока. Эти настройки нужны только для диагностики; не оставляйте их включёнными постоянно.

Монитор TR 101 290

Настройка «Монитор TR 101 290» (вкладка «Анализ») включает непрерывный контроль соответствия потока стандарту ETSI TR 101 290. Монитор лёгкий (тяжёлый разбор элементарных потоков он не включает) и работает независимо от углублённых анализов.

Монитор выносит по потоку единый вердикт: «Норма», «Проблема» или «Проверка…» на время накопления данных. Вердикт показывается цветной плашкой TR-290 в списке потоков и в окне статистики; нажатие открывает отчёт «TR 101 290» — таблицу показателей, сгруппированных по приоритетам стандарта (приоритет 1 необходим для декодирования, приоритет 2 рекомендуется для мониторинга, приоритет 3 зависит от применения), с измеренными значениями и пределами.

Особенности оценки:

  • Нарушение попадает в вердикт, только когда оно устойчиво (наблюдается не менее 30 из последних 60 секунд), поэтому короткие всплески индикатор не зажигают. Отдельно отслеживается приёмочный уровень: нарушение, непрерывно длящееся 300 секунд, служит критерием для технической приёмки канала.

  • Часть показателей требует дополнительных анализов. Строки, зависящие от настроек «Анализировать разрыв PCR/PTS» и «Анализировать видеобуфер T-STD», при выключенной настройке помечаются в отчёте как отключённые и на вердикт не влияют. Численные интервалы PAT/PMT и контроль присутствия таблиц SI измеряются только при включённой настройке «Глубокий анализ»; без неё соответствующие строки остаются без измеренных значений.

  • Точность PCR и видеобуфер T-STD оцениваются только после того, как детектор режима подтвердил постоянный битрейт источника, и продолжают оцениваться до сброса статистики или изменения настроек выравнивания битрейта, даже если вердикт детектора позже изменится. На потоках, ни разу не подтверждённых как CBR, эти строки не оцениваются.

  • При активном выравнивании битрейта монитор измеряет именно выдаваемый, выровненный поток (Управление битрейтом).

  • Для MPTS-потока выносится один вердикт на весь мультиплекс (Анализ по программам).

По устойчивым нарушениям также поднимаются оповещения с кодами анализатора; полный список приведён в Каталог кодов алертов. Счётчики монитора и накопленную статистику сбрасывает кнопка «Сбросить статистику».

Помощник для рекламаций

Пока у SPTS-потока есть активное нарушение TR 101 290 или дрейф PCR, веб-интерфейс предлагает готовый запрос для ИИ-чата. По этому запросу ИИ-чат составляет формальное письмо-рекламацию поставщику потока на английском языке. Узел ничего не отправляет: письмо поставщику оператор отправляет сам.

Где появляется. Значок «Письмо ИИ» с конвертом выводится в строке потока на экране «Потоки» и в сводке окна статистики потока, следом за значком TR 101 290 (Потоки). Значок есть, только пока выполнены все условия:

  • поток SPTS, и его активный вход работает;

  • у активного входа есть устойчивое нарушение: интервал, точность или разрыв PCR, интервалы PAT, PMT и PTS, ошибки CRC таблиц PSI, транспортные ошибки, интервалы таблиц SDT, EIT, TDT и NIT (только тех, что есть в потоке), дрейф PCR. Одни ошибки CC письма не дают, хотя вердикт TR 101 290 от них становится плохим;

  • нарушения TR 101 290 учитываются только при включённом мониторе TR 101 290 (Монитор TR 101 290), дрейф PCR — всегда;

  • учётная запись с ролью Admin (Доступ и роли). Ролям Restricted admin и Viewer значок не показывается, а узел отказывает им и в запросе.

В демоверсии помощника нет.

Как получить письмо.

  1. Нажмите значок «Письмо ИИ». Откроется окно «Письмо-рекламация (ИИ)» с именем потока в заголовке; в поле «Запрос для ИИ-чата» — текст, подготовленный узлом.

  2. Нажмите «Копировать текст»: в буфер обмена попадёт весь запрос.

  3. Вставьте запрос в любой ИИ-чат. Он составит письмо по измеренным нарушениям.

  4. Допишите в письмо обозначение потока и отправьте его поставщику.

Что попадает в запрос. Для каждого нарушения — пункт стандарта, измеренное значение, порог и влияние на декодер получателя; кроме того, окно наблюдения и режим мультиплекса (CBR, VBR или не определён). Об источнике в запрос попадает только адрес активного входа, очищенный узлом:

  • без логина и пароля в адресе;

  • без параметров запроса, похожих на пароль, ключ, токен или подпись;

  • без имени потока RTMP.

У источника, который не приходит по сети (файл, другой поток узла, транскодер, DVB), вместо адреса стоит <not available>. Имя потока, его идентификатор и примечание в запрос не попадают.

Если нарушение уже прошло. Когда нарушение исчезает между нажатием значка и ответом узла (или статистику только что сбросили), окно остаётся открытым и показывает этот ответ как есть, а кнопка «Копировать текст» недоступна. Ответы узла:

  • no active violation: nothing to send — активного нарушения нет;

  • AI complaint prompt is available only for SPTS streams — поток не SPTS;

  • no active input — у потока нет работающего активного входа;

  • AI complaint prompt requires the Admin role — у учётной записи не роль Admin.

Тот же запрос можно получить через HTTP API узла (Управление через HTTP API); ответ — обычный текст, отказ — описание ошибки в JSON:

GET /data/stream/<id>/ai-complaint-prompt