Триггеры

По логике оповещения триггеры разделены на два типа: анонсирующие состояния и анонсирующие события.

Состояния (state) — оповещения такого типа передают начало и конец события. Состояние передается в поле Status, которое может иметь значение active|cleared. Сообщения отправляются дважды, при появлении события и при его окончании. Например, при регистрации события BadSource (No signal), когда пропадают данные на входе анализатора, отправляется оповещение, в котором поле Status = active. Когда появляются валидные данные (ошибка снята), отправляется второе сообщение, в котором поле Status = cleared, и дополнительно фиксируется время окончания события.
События (event) — оповещения такого типа приходят единожды. В основном такие оповещения связаны с фактом изменения состояния. Например, при каком-либо изменении в PSI таблице отправляется оповещение Изменение информации о программе. Для некоторых событий (ошибки Continuity Counter и Разрыв меток PTS/DTS) оповещение отправляется при достижении установленного количества зарегистрированных ошибок.

В таблице ниже перечислены все доступные триггеры и их краткое описание. Подробное описание параметров и событий можно найти в разделе Регистрируемые параметры. Узнать подробнее о порогах и настройках можно в разделе Пороги.

Название

Ключевое имя

Тип

Описание

Изменение поля ToS/DSCP

TosDscp

Событие

Срабатывает при изменении значения поля ToS/DSCP в IP заголовке.

Изменение TTL потока

Ttl

Событие

Срабатывает при изменении значения поля Time to live (TTL) в IP-заголовке.

Ошибка maxIAT

IatError

Состояние

Срабатывает, когда значение maxIAT превышает порог ошибки. Maximum Inter-packet Arrival Time (maxIAT) – максимальное время между приходящими пакетами, является суммой среднего времени между пакетами и джиттером.
Необходимо задать соответствующий порог в разделе Пороговые значения.

Предупреждение maxIAT

IatWarning

Состояние

Срабатывает, когда значение maxIAT превышает порог предупреждения. Maximum Inter-packet Arrival Time (maxIAT) – максимальное время между приходящими пакетами, является суммой среднего времени между пакетами и джиттером.
Необходимо задать соответствующий порог в разделе Пороговые значения.

Ошибка MLR

MlrError

Состояние

Срабатывает, когда значение MLR превышает порог ошибки. Media Loss Rate (MLR) - количество потерянных транспортных пакетов за секунду.
Необходимо задать соответствующий порог в разделе Пороговые значения.

Предупреждение MLR

MlrWarning

Состояние

Срабатывает, когда значение MLR превышает порог предупреждения. Media Loss Rate (MLR) - количество потерянных транспортных пакетов за секунду.
Необходимо задать соответствующий порог в разделе Пороговые значения.

Входящий битрейт выше порога

MaxBitrate

Состояние

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

Входящий битрейт ниже порога

MinBitrate

Состояние

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

Ошибка источника (нет сигнала)

BadSource

Состояние

Срабатывает, когда зонд не может получить данные для анализа.

Несколько источников вещания

BadBroadcast

Состояние

Срабатывает, когда присутствует несколько источников мультикаста в одной группе.

Задача не имеет подзадач

NoChildren

Состояние

В зависимости от протокола срабатывает, когда:
HLS и DASH
Задача анализа сервиса имеет только Манифест-задачу и не содержит ни одной подзадачи. Это возможно, когда в манифесте (плейлисте) не удалось найти ни одной ссылки на медиапредставление или на вариант потока (HLSv3). При этом сам манифест (плейлист) доступен и имеет корректный формат.
SRT
Задача анализа SRT потока имеет только Мастер-задачу и не содержит ни одной подзадачи. Это возможно, когда задача активна и запущена в режиме Listener. Задача пока не принимает ни одного SRT потока и находится в режиме ожидания подключений.

Потеря синхронизации

TR_101_290_TSSyncLoss

Состояние

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

Ошибка синхробайта

TR_101_290_SyncByteError

Событие

Срабатывает при отсутствии синхробайта 0x47 в следующем пакете (после 188 или 204 байт).

Ошибка PAT

TR_101_290_PatError

Состояние

Срабатывает при следующих условиях:
  • PID 0x0000 не появляется каждые 0,5с (настраиваемая величина);

  • PID 0x0000 не содержит секцию с table_id 0x00 (т.н. PAT таблица);

  • поле Scrambling_control_field не равно 00 для PID 0x0000.

Изменить соответствующий порог можно в разделе Пороговые значения.

СС ошибки

TR_101_290_ContinutyCount

Состояние

Срабатывает при следующих условиях:
  • неправильный порядок следования пакетов;

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

  • потеря пакетов.

Чтобы включить обнаружение данной ошибки, активируйте настройку «Проверять на соответствие TR 101 290 p1» в разделе Пороговые значения.

Ошибка PMT

TR_101_290_PmtError

Состояние

Срабатывает при следующих условиях:
  • секция с table_id 0x02 (т.н. PMT таблица) не появляется каждые 0,5с (настраиваемая величина) на PID, назначенном для этой цели в таблице PAT;

  • поле Scrambling_control_field не равно 00 для всех PID, содержащих секции с table_id 0x02 (т.н. PMT таблицы).

Изменить соответствующий порог или отключить его обнаружение можно в разделе Пороговые значения.

Ошибка PID

TR_101_290_PidError

Состояние

Срабатывает, когда данные для заявленных PID не появляются в течение установленного времени (по умолчанию 5с). Означает частичную потерю сервиса или ошибки в PAT/PMT.
Изменить соответствующий порог, исключить указанные медиатипы или полностью отключить обнаружение порога можно в разделе Пороговые значения.

Ошибка Аудио/Видео PID

TR_101_290_PidError_VA

Состояние

Срабатывает, когда данные для заявленных аудио и видео PID не появляются в течение установленного времени (по умолчанию 5с). Означает частичную потерю сервиса или ошибки в PAT/PMT.
Изменить соответствующий порог, исключить указанные медиатипы или полностью отключить обнаружение порога можно в разделе Пороговые значения.

Ошибка транспортного потока

TR_101_290_TsError

Состояние

Срабатывает, когда в заголовке транспортного потока Transport_error_indicator равен «1».

Ошибка CRC

TR_101_290_CrcError

Состояние

Срабатывает, когда обнаруживается CRC ошибка в таблице: CAT, PAT, PMT, NIT, EIT, BAT, SDT или TOT.

Ошибка повторения PCR

TR_101_290_PcrRepetitionError

Состояние

Срабатывает, когда временной интервал между пакетами с PCR метками превышает выбранный пользователем интервал.
Выбрать интервал можно в разделе Пороговые значения.

Разрыв меток PCR

TR_101_290_PcrDiscontinuityError

Состояние

Срабатывает, когда разница между двумя последовательными PCR метками выходит за пределы 0…100 мс и в поле адаптации не выставлен флаг discontinuity_indicator.

Ошибка точности PCR

TR_101_290_PcrAccuracyError

Состояние

Срабатывает, когда точность PСR метки выходит за пределы ±500 нс.

Ошибка повторения PTS

TR_101_290_PtsError

Состояние

Срабатывает, когда временной интервал между пакетами с PTS метками превышает выбранный пользователем интервал.
Задать интервал можно в разделе Пороговые значения.

Ошибка CAT

TR_101_290_CatError

Состояние

Срабатывает при следующих условиях:
  • в PID 0x0001 присутствует секция с table_id, отличным от 0x01 (т.е. не CAT таблица);

  • в потоке присутствуют пакеты с transport_scrambling_control не равным 00, при этом секция с table_id 0x01 (т.е. CAT таблица) отсутствует. При детектировании ошибки принимается, что последняя полученная CAT действительна в течение 500 мс.

Ошибка NIT

TR_101_290_NitError

Состояние

Срабатывает при следующих условиях:
  • В PID 0x0010 присутствует секция с table_id, отличным от 0x40 или 0x41 или 0x72 (т.е. не NIT или ST таблица);

  • В PID 0x0010 более 10 c не появляется секция с table_id 0x40 (NIT_actual);

  • В PID 0x0010 любые две секции с table_id=0x40 (NIT_actual) появляются чаще, чем 25 мс;

  • В PID 0x0010 интервал между секциями с одинаковыми section_number и table_id = 0x41 (NIT_other) превышает 10 с.

При необходимости выберите вашу Систему доставки в разделе Пороговые значения.

Ошибка повторения SI

TR_101_290_SIError

Состояние

Срабатывает при следующих условиях:
  • Секции, имеющие одинаковый PID, table_id и table_id_extension, передаются чаще чем заданный интервал (по умолчанию 25 мс, см. ETSI TR 101 211 раздел 4.4);

  • Время передачи всех секций таблицы больше заданного интервала (значение по умолчанию зависит от системы доставки, см. ETSI TR 101 211 раздел 4.4).

При необходимости выберите вашу Систему доставки в разделе Пороговые значения.

Появление необъявленного PID

TR_101_290_UnrefPidError

Состояние

Срабатывает, когда появляется PID не объявленный в PMT или CAT таблицах в течение 0,5 с. За исключением: таблиц PMT; PID с номерами в диапазоне 0x00-0x1F; PID, заданных пользователем как private data stream.

Ошибка SDT

TR_101_290_SdtError

Состояние

Срабатывает при следующих условиях:
  • В PID 0x0011 присутствует секция с table_id, отличным от 0x42, 0x46, 0x4A или 0x72;

  • В PID 0x0011 более 2 c не появляется секция с table_id 0x42 (SDT_actual);

  • В PID 0x0011 любые две секции с table_id=0x42 (SDT_actual) появляются чаще, чем 25 мс;

  • В PID 0x0011 интервал между секциями с одинаковыми section_number и table_id = 0x46 (SDT_other) превышает 10 с.

При необходимости выберите вашу Систему доставки в разделе Пороговые значения.

Ошибка EIT

TR_101_290_EitError

Состояние

Срабатывает при следующих условиях:
  • В PID 0x0012 более 2 c не появляется секция „0“ с table_id 0x4E (EIT-P, actual TS);

  • В PID 0x0012 более 2 c не появляется секция „1“ с table_id 0x4E (EIT-F, actual TS);

  • В PID 0x0012 присутствуют секции с table_id, отличным от диапазона 0x4E - 0x6F или 0x72;

  • В PID 0x0012 любые две секции с table_id=0x4E (EIT-P/F, actual TS) появляются чаще, чем 25 мс;

  • В PID 0x0012 интервал между секциями „0“ с table_id = 0x4F (EIT-P, other TS) превышает 10 с;

  • В PID 0x0012 интервал между секциями „1“ с table_id = 0x4F (EIT-F, other TS) превышает 10 с;

  • При наличии секции „0“ в таблицах EIT P/F секция „1“ также должна присутствовать (и наоборот).

При необходимости выберите вашу Систему доставки в разделе Пороговые значения.

Ошибка RST

TR_101_290_RstError

Состояние

Срабатывает при следующих условиях:
  • В PID 0x0013 присутствует секция с table_id, отличным от 0x71 или 0x72;

  • В PID 0x0013 любые две секции с table_id = 0x71 (RST) появляются чаще, чем 25 мс.

При необходимости выберите вашу Систему доставки в разделе Пороговые значения.

Ошибка TDT

TR_101_290_TdtError

Состояние

Срабатывает при следующих условиях:
  • В PID 0x0014 более 30 c не появляются секции с table_id = 0x70 (TDT);

  • В PID 0x0014 присутствуют секции с table_id, отличным от 0x70, 0x72 (ST) или 0x73 (TOT);

  • В PID 0x0014 любые две секции с table_id = 0x70 (TDT) появляются чаще, чем 25 мс.

При необходимости выберите вашу Систему доставки в разделе Пороговые значения.

Ошибка буфера

TR_101_290_BufferError

Состояние

Срабатывает при следующих условиях:
  • Переполнение транспортного буфера (TBn);

  • Переполнение транспортного буфера для системной информации (Tbsys);

  • Переполнение входного PSI буфера (Bsys).

Ошибка опустошения буфера

TR_101_290_BufferEmptyError

Состояние

Срабатывает при следующих условиях:
  • Транспортный буфер (TBn) должен опустошаться по крайней мере один раз в секунду;

  • Транспортный буфер для системной информации (TBsys) должен опустошаться по крайней мере один раз в секунду;

Отсутствие PCR

PcrError

Состояние

Срабатывает, когда в течение 1 минуты не удалось обнаружить PCR в потоке. Анализатор использует PCR для расчета битрейта элементарных потоков и, если метки не обнаружены, переходит на использование системного времени. Состояние снимается, как только в потоке появляется PCR. Только для UDP (RTP).

Разрыв меток синхронизации

ClockContinuity

Состояние

Срабатывает при обнаружении неравномерности меток синхронизации (для MPEG-TS это PTS/DTS метки), когда абсолютная разница значений времен меток превышает установленное пороговое значение. Отслеживается наличие резких скачков и обратного прироста времени (обычно связано с потерями пакетов и/или в результате склейки потока).
Изменить соответствующий порог или отключить его обнаружение можно в разделе Пороговые значения.

Изменение информации о программе

ProgramSpecificInformation

Событие

Срабатывает при изменении информации о программе, описанной в таблицах PAT, PMT и SDT.

Изменение признака шифрования

Detect_crypt

Состояние

Срабатывает при изменениях шифрования. Во внимание принимается изменение признака шифрования любого элементарного потока, входящего в сервис.
Например, зашифрованный сервис стал открытым, или открытый сервис стал зашифрованным.

Изменение описания видеопотока

VI_changed

Событие

Срабатывает при изменении заголовка видеопотока (формат, профиль, разрешение, соотношение сторон, частота кадров и пр.).

Некорректный элементарный видеопоток

Invalid_ES

Состояние

Срабатывает, когда видеозаголовки (SPS, PPS) не появляются в течение 20 секунд, что не позволяет начать декодирование потока. Параметр применяется только для элементарных видеопотоков. Возможно поток зашифрован.

Замирание картинки

VideoFreeze

Состояние

Срабатывает, когда регистрируется замирание картинки в течение заданного периода времени.
Необходимо включить опцию Фиксация замирания картинки в форме добавления задачи и настроить чувствительность и интервал фиксации в разделе Пороговые значения.

Ошибка декодирования видео

VideoDecodabilityError

Состояние

Срабатывает, когда количество корректно декодированных кадров ниже установленного порога.
Необходимо включить опцию Анализ возможности декодирования видео в форме добавления задачи и настроить порог Возможность декодирования видео в разделе Пороговые значения.

Изменение описания аудиопотока

AudioInformation_changed

Событие

Срабатывает при изменении заголовка аудиопотока (формат, число каналов, частота дискретизации и пр.).

Отсутствие звукового сопровождения

AudioTrackMissing

Состояние

Срабатывает при отсутствии звукового сопровождения в программе (отсутствуют аудио PID). Анализ производится для каждой программы, входящей в поток.
Включение опций анализа звука (Анализ громкости и возможности декодирования) в форме добавления задачи не требуется.

Ошибка декодирования аудио

AudioDecodabilityError

Состояние

Срабатывает, когда битрейт декодированного потока ниже установленного порога (порог задается в процентном отношении от заявленного битрейта).
Необходимо включить опцию Анализ возможности декодирования аудио в форме добавления задачи и настроить порог Возможность декодирования аудио в разделе Пороговые значения.

Тишина в звуковом сопровождении

AudioSilence

Состояние

Срабатывает при обнаружении тишины в звуковом сопровождении. Звуковая дорожка присутствует, но ее Кратковременная громкость (Short-Term Loudness) ниже установленного порога.
Необходимо включить опцию Анализ громкости аудио в форме добавления задачи и настроить порог Тишина в звуковом сопровождении в разделе Пороговые значения.

Переключение варианта потока

HlsBandwidthSwitched

Событие

Срабатывает, когда алгоритм анализа переключается на вариант потока с другим битрейтом (анализ сервиса с поддержкой адаптивного битрейта). Применяется только для задачи в режиме “Плеер”.

Изменение количества вариантов потока

HlsNumberOfProfilesChanged

Событие

HLS
Срабатывает, когда изменяется количество вариантов потока, заявленных в Мастер-плейлисте. Необходимо задействовать опцию «Обновлять MasterPlaylist».
DASH
Срабатывает, когда изменяется количество представлений медиаданных, заявленных в манифесте в пределах анализируемого периода. При переходе к следующему периоду производится сравнение количества представлений между периодами.

Недостаточное количество вариантов потока

HlsMinimumProfiles

Состояние

HLS
Срабатывает, когда количество вариантов потока, заявленных в Мастер-плейлисте, становится меньше установленного порога.
DASH
Срабатывает, когда количество видеопредставлений, заявленных в манифесте в пределах анализируемого периода, становится меньше установленного порога.
Необходимо настроить порог Минимальное кол-во вариантов потока в разделе Пороговые значения.

Расхождение последовательности вариантов потока

HlsSequenceDivergence

Событие

Срабатывает при возникновении расхождения значений поля #EXT-X-MEDIA-SEQUENCE в Медиа-плейлистах. Сравнение осуществляется между всеми заявленными вариантами потока.
Только для HLS.

Мало сегментов в плейлисте

HlsFewSegments

Состояние

Срабатывает, когда количество сегментов, заявленных в плейлисте, меньше заданного порога. Для DASH: проверка производится только для MPD-плейлистов, в которых список сегментов определен в элементе SegmentList.
Необходимо настроить порог Минимальное кол-во сегментов в разделе Пороговые значения.

Изменение описания варианта потока

HlsProfileStreamTypeChanged

Событие

HLS
Срабатывает, когда изменяется описание варианта потока в Мастер-плейлисте (строка после тега EXT-X-STREAM-INF).
DASH
Срабатывает, когда изменяется описание представления медиаданных (строка с атрибутами элемента Representation), заявленного в манифесте в пределах анализируемого периода. При переходе к следующему периоду производится поиск идентичных представлений и сравнение описаний между периодами.

Одинаковый битрейт вариантов потока

HlsDuplicateBandwidth

Событие

Срабатывает, когда в Мастер-плейлисте или манифесте в разных вариантах потока для одинакового кодека заявлены одинаковые значения Bandwidth.
Параметр Bandwidth это верхняя граница общего битрейта сегментов, измеряется в бит/с. Включает любые накладные расходы контейнера.

Битрейт варианта потока не задан

OttBandwidthMissed

Состояние

Срабатывает, когда в Мастер-плейлисте или манифесте в описании варианта потока отсутствует поле Bandwidth.
Если анализ производится в режиме Плеера, то переключение на варианты потока без поля Bandwidth выполняться не будет. Если битрейт не заявлен ни для одного из вариантов, то зонд будет анализировать произвольный поток без переключения на другие варианты.
Кроме этого, для таких вариантов потока не будут выполняться следующие проверки:
  • Одинаковый битрейт вариантов потока;

  • Фактический битрейт;

  • Некорректный размер сегмента;

  • Некорректная длительность сегмента.

Некорректное разрешение варианта потока

HlsInvalidResolution

Событие

Срабатывает, когда:
  • Заявленная высота или ширина видеоразрешения находится вне диапазона 16..65536;

  • В манифесте DASH указан только один из атрибутов разрешения: @width или @height.

Низкая скорость скачивания

HlsDownloadBitrateWarn

Состояние

Срабатывает, когда регистрируется низкая скорость скачивания сегмента (время загрузки превышает порог предупреждения). Условия срабатывания триггера: время загрузки / длительность сегмента >= порог предупреждения (%).
Необходимо задать порог предупреждения (Низкая скорость скачивания) в разделе Пороговые значения.

Недопустимо низкая скорость скачивания

HlsDownloadBitrateErr

Состояние

Срабатывает, когда регистрируется недопустимо низкая скорость скачивания сегмента (время загрузки превышает порог ошибки (по умолчанию длительность сегмента)). Условия срабатывания триггера: время загрузки / длительность сегмента >= порог ошибки (%).
Необходимо задать порог ошибки (Недопустимо низкая скорость скачивания) в разделе Пороговые значения.

Фактический битрейт

HlsActualBitrate

Состояние

Срабатывает, когда средний битрейт скачанного сегмента больше или меньше заданных порогов.
Необходимо настроить пороги (%) относительно битрейта варианта потока (поле Bandwidth в Мастер-плейлисте) в разделе Пороговые значения.

Некорректный размер сегмента

HlsBadSegmentSize

Событие

Срабатывает, когда:
  • Размер скачанного сегмента (content-length) равен нулю;

  • Средний битрейт сегмента превышает максимальный битрейт (поле Bandwidth в Мастер-плейлисте) в 10 раз. При этом, если размер сегмента более 15 Мбайт, скачивание данного сегмента прерывается. Средний битрейт сегмента вычисляется путем деления размера файла (content-length) на заявленную длительность сегмента.

Потеря сегментов

HlsSequenceNumberDiscontinuity

Событие

Срабатывает, когда в процессе анализа определяется пропуск одного или нескольких Медиа-плейлистов (нарушение последовательности #EXT-X-MEDIA-SEQUENCE) с потерей сегментов. Только для HLS.
Данная ошибка может возникнуть по следующим причинам:
  • Недопустимо низкая скорость скачивания сегмента приводит к пропуску скачивания последующих плейлистов;

  • Плейлисты недоступны для скачивания (дополнительно срабатывает триггер Ошибка загрузки плейлиста);

  • Проблемы формирования контента на головной станции: нарушение нумерации плейлистов, перезапуски или паузы в работе транскодеров/сериализаторов.

Если пропуск плейлистов не вызывает потерю сегментов, триггер не срабатывает.

Неизменяющийся плейлист

HlsStaticManifest

Состояние

Срабатывает, когда зонд скачивает один и тот же плейлист в течение установленного количества попыток. Если зонд определит статический плейлист, содержимое которого не менялось в течение двух скачиваний, то интервал между скачиваниями будет сокращен до половины длительности сегмента или значения тега TARGETDURATION (выбирается наименьшее значение). Зарегистрированная ошибка и сокращенный интервал скачивания Медиа-плейлиста будут сохраняться до тех пор, пока не будет скачан обновленный плейлист. Для DASH: проверка производится только для MPD-плейлистов, в которых список сегментов определен в элементе SegmentList или SegmentTimeline.
Необходимо задать Кол-во попыток обновления плейлиста в разделе Пороговые значения.

Ошибка плейлиста

HlsManifestError

Событие

В зависимости от типа OTT срабатывает, когда:
HLS
  • Не удалось распознать URI Медиа-плейлиста в Мастер-плейлисте;

  • Не удалось распознать URI сегментов в Медиа-плейлисте, или ссылка на сегмент заканчивается на .m3u8 (т.е. является ссылкой на плейлист);

  • Отсутствует символ переноса “\n” в конце плейлистов;

  • Альтернатива не имеет связи ни с одним вариантом потока;

  • Не удалось распознать содержимое тега #EXT-X-KEY.

DASH

  • Манифест не соответствует DASH XML Schema.

Неизвестный плейлист

HlsUnknownManifest

Состояние

Срабатывает, когда плейлист пустой или его содержимое не соответствует стандарту.

Ошибка размера плейлиста

HlsManifestSize

Состояние

Срабатывает, когда размер любого плейлиста превышает пороговое значение.
Необходимо задать Размер плейлиста в разделе Пороговые значения.

Ошибка загрузки плейлиста

HlsFailedDownloadPlaylist

Состояние

Срабатывает, когда невозможно скачать плейлист. Причина возникновения ошибки сохраняется в Журнале алармов: код HTTP-ошибки или детальное описание curl-ошибки.
Тайм-аут загрузки плейлиста составляет 15 секунд.

Ошибка скачивания ключа

HlsFailedDownloadKey

Событие

Срабатывает, когда невозможно скачать ключ для дешифрования. Причина возникновения ошибки сохраняется в Журнале алармов: код HTTP-ошибки или детальное описание curl-ошибки.
Тайм-аут загрузки ключа составляет 15 секунд.

Ошибка скачивания сегмента данных

HlsFailedDownloadChunk

Событие

Срабатывает, когда невозможно скачать сегмент данных. Причина возникновения ошибки сохраняется в Журнале алармов: код HTTP-ошибки или детальное описание curl-ошибки.
Тайм-аут загрузки сегмента равен двойной заявленной длительности, но не менее 5 секунд.

Сегмент начинается не с IDR кадра

HlsStartWithIDR

Состояние

Срабатывает, когда сегмент начинается не с IDR кадра. Проверка невозможна для шифрованных сегментов (ключи для дешифрования недоступны). Включение каких-либо опций анализа видео в форме добавления задачи не требуется.

Видео с чересстрочной разверткой

Ott_InterlacedVideo

Состояние

Срабатывает, когда видеопоток в сегменте имеет чересстрочную развертку (Interlaced video). Проверка невозможна для шифрованных сегментов (ключи для дешифрования недоступны). Включение каких-либо опций анализа видео в форме добавления задачи не требуется.

Переполнение OTT буфера

HlsSkipSegment

Событие

Срабатывает, когда в результате недостаточной производительности системы происходит переполнение OTT буфера скачанными сегментами, которые зонд не успевает проанализировать. Принимается решение о пропуске анализа нескольких сегментов, чтобы избежать переполнения памяти.

Некорректная длительность сегмента

HlsBadSegmentDuration

Событие

Срабатывает, когда обнаружен сегмент в котором заявленная длительность в 10 раз выше или ниже оценочной длительности. Оценочная длительность вычисляется путем деления размера файла, полученного в заголовке ответа HTTP-сервера, на заявленный битрейт варианта потока (SegmentSize/DeclaredBitrate).

Сегмент с нулевой длительностью

HlsSegmentZeroDuration

Событие

Срабатывает, когда обнаружен сегмент с нулевой заявленной длительностью И размером файла сегмента менее 564 байт (три транспортных пакета). Если длительность не заявлена, то проверка на размер файла будет производиться для каждого сегмента. Однако если размер скачанного сегмента (content-length) равен нулю, то вне зависимости от его длительности срабатывает триггер Некорректный размер сегмента.

Дублирование URI

OttDuplicateRenditionUri

Событие

Срабатывает, когда в Мастер-плейлисте или манифесте для нескольких альтернатив медиаданных или вариантов потока задан одинаковый URI.
Только для HLS.

Событие в Медиа-плейлисте

HlsMediaPlaylistEvent

Событие

Срабатывает, когда:
  • Изменился URL Медиа-плейлиста (HLS);

  • Изменился тип плейлиста VOD/Event/Live.

Длительность сегмента превышает TARGETDURATION

OttTargetDurationMismatch

Состояние

Срабатывает, когда длительность сегмента превышает целевую длительность EXT-X-TARGETDURATION, заявленную в Медиа-плейлисте. Только для HLS.

Вставка рекламного блока SCTE-35

AdInsert

Состояние

Срабатывает, когда зонд определяет начало вставки рекламного блока (по информации из полученных меток SCTE-35). Состояние снимается, когда зонд определяет завершение рекламного блока.

Вставка превышает заданную длительность

AdInsertDurationExceed

Состояние

Срабатывает, когда длительность рекламного блока превышает установленный период. Период отсчитывается с момента определения зондом начала рекламного блока.

Ошибка распознания меток SCTE-35

SCTE35ParseError

Событие

Срабатывает, когда регистрируется ошибка распознания меток вставки рекламы. В сообщении возвращаются подробности ошибки.

Вставка рекламного блока SCTE-35 отсутствует

AdInsert_missing

Состояние

Срабатывает, когда зонд в течение установленного времени не обнаруживает начало вставки рекламного блока в программу (по информации из полученных меток SCTE-35). Состояние снимается, когда зонд определяет начало рекламного блока. Триггер реализован на основе события Вставка рекламного блока SCTE-35.

Метки SCTE-35 не найдены в плейлисте

SCTE35Ott_missing

Состояние

Срабатывает, когда зонд не находит каких либо меток вставки в плейлисте в течение установленного времени. Триггер реализован на основе события Метка SCTE-35 из OTT-плейлиста. Для субтитров можно отключить определение меток в настройках порогов.

Переполнение видеобуфера

Video_buffer_overflow

Событие

Срабатывает, когда в результате недостаточной производительности системы происходит переполнение буфера видеоданных, которые зонд не успевает проанализировать. Принимается решение о пропуске анализа (сброса) блока данных перед процессом декодирования. Поскольку данные сбрасываются после прохождения анализа на целостность сигнала (TR 101 290) и вычисления битрейта, данная ошибка не влияет на результаты вычисления целостности потока. Это утверждение также применимо для OTT: данные сбрасываются перед декодированием, не влияя на вычисление скорости загрузки сегментов и обнаружение OTT ошибок.
Ошибка переполнения видеобуфера может возникнуть, если в задаче включены видео QoE опции (задействован видеодекодер).

Обнаружен сбой задачи

Resumption

Событие

Срабатывает, когда дочерний процесс, анализирующий поток, был перезапущен родительским процессом, поскольку не отвечал в течение 10 сек. Главный процесс следит за работоспособностью всех задач анализатора (дочерних процессов) и в случае критической ошибки производит перезапуск с восстановлением состояния.

Предупреждение утилизации RAM

RAM_warning

Состояние

Предупреждение о превышении порога использования RAM.

Нехватка RAM

RAM_error

Состояние

Ошибка, недостаточно памяти.

Предупреждение использования CPU

CPU_warning

Состояние

Предупреждение о превышении порога использования CPU.

Чрезмерное использование CPU

CPU_error

Состояние

Ошибка, превышение порога использования CPU.

Потеря связи сервера с зондом

Stalled

Состояние

Срабатывает, когда сервер не получает данные от зонда в течение 60 секунд. Считается, что соединение с зондом потеряно.

Потеря связи зонда с сервером

ServerConnectionLost

Состояние

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

Ошибка загрузки библиотеки Pcap

Pcap_loading_error

Состояние

Для корректного вычисления Ethernet параметров необходимы следующие условия:
Windows: На компьютере, где запускается зонд, должна быть установлена библиотека захвата пакетов Npcap (https://nmap.org/npcap/). При установке библиотеки необходимо выбрать опции WinPcap API-compatible Mode и Support Loopback Traffic.
Linux: Зонд должен быть запущен с правами суперпользователя (sudo ./streamMonitor).

Ошибка доступа к каталогу с записями

Record_access_error

Состояние

Срабатывает, когда зонд не может получить доступ к папке „./record“ или к ее подпапкам и файлам. Обычно ошибка возникает, когда зонд сначала был запущен от суперпользователя, а затем от имени пользователя с обычными правами. Для устранения ошибки остановите зонд и скорректируйте права владельца/доступа для папки „./record“ и ее содержимого.