Выходной MPEG-TS¶
Приёмник на другом конце — не плеер: он ищет сервис по номеру программы, дорожки по PID и подпись сервиса в SDT. Пока эти таблицы не те, что он ждёт, сигнал для него не существует, каким бы правильным ни было видео внутри.
Все выходы MPEG-TS одного стрима — отдача по HTTP, SRT, направления по UDP, SRT и RIST — формирует один мультиплексор. Секция Выходной MPEG-TS на вкладке Исходящий поток задаёт его служебные таблицы; такая же секция у отдельного направления переопределяет их только для него.
Таблицы стрима¶
Секция подписана прямо в панели: «действует на все MPEG-TS выдачи стрима, пока пуш или SRT play не переопределит». Пустые поля показывают умолчания подсказками.
| Поле | Что задаёт | Умолчание |
|---|---|---|
| Номер программы (PNR) | запись в PAT, program_number в PMT и service_id в SDT |
1 |
| PID таблицы PMT | PID таблицы PMT | авто |
| PID треков | явные PID дорожек: строка «Трек» + «PID» на каждую | авто |
| Имя сервиса (SDT) | имя сервиса в SDT | имя стрима |
| Имя провайдера (SDT) | имя провайдера в SDT | пусто |
| Transport stream ID | transport_stream_id в PAT и заголовке SDT |
1 |
| Original network ID | original_network_id в заголовке SDT |
1 |
Правила проверяются при сохранении, а не в эфире:
- PID — из диапазона 32–8190: ниже зарезервировано за служебными таблицами, выше — за null-пакетами;
- повторы PID внутри секции запрещены, включая совпадение PID дорожки с PID таблицы PMT;
- номер программы не бывает нулём — нулевой номер в PAT зарезервирован за NIT;
- имена сервиса и провайдера вместе ограничены так, чтобы SDT помещалась в один TS-пакет.
PID для дорожки, которой сейчас нет, задать можно: он сработает, когда дорожка появится. Если явный PID конфликтует с автоматически назначенным PID другой дорожки, побеждает явный, а вытесненная дорожка детерминированно переезжает на свободный PID — с предупреждением в логе.

SDT¶
Вместе с PAT и PMT в выходной поток входит таблица SDT (PID 0x11): один сервис с типом digital television, service_id равен номеру программы, имена сервиса и провайдера — из той же секции.
Строки кодируются по DVB: латиница уходит как есть, остальное — как UTF-8 с объявлением кодировки, поэтому кириллические имена корректно читаются приёмниками.
При изменении настроек версии затронутых таблиц PAT/PMT/SDT увеличиваются, и приёмники штатно подхватывают новые. Правка применяется на лету: направления доставки и подключённые клиенты не переподключаются.
Свои таблицы у направления¶
У отдельного направления есть секция Переопределение выходного MPEG-TS с теми же полями — это ответ на типовую задачу головной станции, когда один и тот же сигнал сдаётся разным приёмникам под разными номерами. Она доступна:
- пушу по UDP, RTP, SRT или RIST — у RTMP транспортного потока нет, поэтому там секции не будет;
- раздаче по SRT с выделенного порта стрима.
Пустые поля наследуются от секции стрима — унаследованные значения видны плейсхолдерами. Заданное у направления перекрывает стримовое. Исключение — PID треков: это одно поле, непустая карта направления замещает стримовую целиком, подорожечного слияния нет.
Отдача MPEG-TS по HTTP и общий SRT-листенер сервера переопределения не имеют: они всегда отдают общий выход стрима.

Почему это дёшево¶
Второй мультиплексор для направления с собственными таблицами не запускается. Направление получает копию общего выхода, в которой переписаны только служебные таблицы и PID пакетов: раскладка пакетов по времени, PCR и счётчики непрерывности общего мультиплекса сохраняются.
Отсюда два практических следствия:
- CBR-свойства выхода действуют и для переопределённых направлений — переписывание таблиц не ломает постоянство битрейта;
- направления с одинаковыми эффективными настройками делят один побайтово идентичный поток: сто одинаковых направлений стоят как одно.
Версия таблиц переписанного выхода ведётся по его собственной истории изменений, а не копируется из общего выхода.
Что дальше¶
- Доставка в сеть — куда уходит этот поток.
- CBR для DVB — требования модулятора к скорости и PCR.
- TR 101 290 — как проверить, что таблицы и непрерывность в порядке.