Счётчики транспорта (TR 101 290)¶
ETSI TR 101 290 — отраслевой список проверок транспортного потока: что должно быть верно, чтобы поток считался годным, и в каком порядке эти нарушения важны. Mcaster ведёт такие счётчики по каждому PID и на входе, и по разобранному потоку, поэтому вопрос «сигнал деградировал или нет» перестаёт быть вопросом мнения.
Это отличается от ошибок входа: там причина, по которой источник умер или испортился, здесь — измерение самого транспорта.
Что считается по каждому PID¶
| Счётчик | Что означает | Что делать |
|---|---|---|
errors_ts_cc |
нарушение continuity counter — пропала или повторилась порция транспорта | главный индикатор потерь; ищите потерю в сети или на источнике |
errors_ts_tei |
выставлен флаг transport error indicator: ошибку пометил предыдущий узел | беда пришла до нас — смотрите вверх по цепочке |
errors_ts_scrambled |
пакеты остались скремблированными | не сняли шифрование: CAM, ключи, конфигурация дескремблера |
errors_ts_psi_checksum |
не сошлась контрольная сумма служебной таблицы | таблица пришла битой; при устойчивом росте приёмники теряют сервис |
errors_ts_pmt, errors_ts_pat |
проблемы с таблицами программ | сервис не собирается; в стволе может не быть объявленной программы |
errors_pid_lost |
PID пропал из потока | дорожка исчезла — на выходе это тишина или чёрный экран |
broken_pes_count |
битые PES-пакеты | повреждённая полезная нагрузка |
empty_packets |
пустые пакеты PID | обычно норма, но в паре с провалом битрейта — признак голодания |
Ошибки уровня всего потока — errors_ts_pat (нет или битая PAT) и errors_ts_service_lost (объявленный сервис исчез) — считаются отдельно от PID: они означают, что развалился не поток данных, а его описание.
PCR: точность и джиттер¶
PCR — часы приёмника. Если они дрожат, декодер не удерживает буфер, и картинка сыплется даже при целом потоке.
Джиттер считается по вёдрам, границей служит PCR_AC = ±500 нс из стандарта:
- точно ноль и до 500 нс — в пределах допуска;
- от 500 нс до 500 мкс — нарушение точности;
- больше 500 мкс — грубое нарушение;
pcr_resync— пришлось перепривязать часы: разрыв шкалы, а не дрожание.
Общего суммирующего поля намеренно нет: «средний джиттер» скрывает именно то, ради чего меряют. Смотреть надо на распределение — растущая доля вёдер fail при неизменном битрейте означает, что источник или транспорт перестал держать темп.
Буфер декодера (HRD)¶
hrd_buffer_min, hrd_buffer_max и hrd_buffer_underrun описывают модель буфера гипотетического декодера: доходит ли поток до приёмника так, чтобы буфер не опустел и не переполнился.
Это ответ на вопрос, который нельзя получить просмотром на компьютере: переживёт ли поток аппаратный декодер. Программный плеер простит то, что приставка или модулятор не простят.
Таймлайн: скачки и немонотонность¶
Отдельная группа счётчиков про время: dts_goes_backwards, dts_jump_forward, too_large_dts_jump, time_corrections, corrected_backward_pts.
Для головной станции это ранний сигнал о плохом источнике: поток, у которого шкала прыгает, доедет до приёмника, но склейка, запись и мультиплексирование будут страдать постоянно.
Как этим пользоваться¶
- Алерт на
rate(errors_ts_cc) > 0по каждому PID ловит деградацию транспорта раньше, чем её увидит зритель. - Скремблированные пакеты — бинарный признак: их либо ноль, либо конфигурация не та.
- Джиттер PCR и HRD — критерий приёмки выхода перед сдачей на модулятор.
- Счётчик CC на входе умеет управлять эфиром: порог
cc_errors_limitпереводит источник в деградировавший, и станция уходит на резерв — см. Резервирование входов.
Глубина по каждому PID открывается лицензионной опцией «расширенные счётчики»; агрегат ошибок доступен всегда. Куда счётчики уезжают и чем их смотреть — на странице Мониторинг.
Границы¶
Mcaster измеряет то, что видно из разбора транспорта. Проверки, требующие радиочастотной части — уровень сигнала, MER, BER до и после коррекции, — относятся к приёмной аппаратуре, а не к станции, и здесь не считаются.