CBR для DVB¶
Модулятору нужна не средняя скорость, а равномерность на уровне TS-пакетов: полоса выделена, и поток обязан занимать её ровно, без провалов и всплесков. То же требование у профессиональных приёмников и у сетей, где транспорт считают по полосе, а не по среднему за минуту.
CBR в Mcaster — свойство выходного мультиплексора, а не отдельная кнопка «включить CBR».
Что делает мультиплексор¶
- Целевая скорость выводится из битрейта дорожек — с запасом около 5% на рост и бюджетом на служебные таблицы.
- Разреженные места заполняются null-пакетами (PID 0x1FFF): полоса занята ровно, даже когда кадры пришли рвано.
- PCR расставляется от дрейф-свободных часов, поэтому расхождение PCR и DTS не накапливается даже на многочасовом вещании.
- Учитывается модель буфера декодера (HRD) — переполнения и опустошения отслеживаются, а не выясняются на приёмнике.
Ровность считается по внутренним часам потока (27 МГц), а не по настенному времени: раскладка не зависит от того, как рвано приходят кадры от источника.
Чем платится равномерность¶
Три требования к мультиплексу — раскладывать пакеты ровно, никогда не залипать и ничего не терять — попарно совместимы, а втроём невыполнимы. Равномерность это утверждение о будущем, а данные — факт о прошлом: чтобы разложить ровно, расписание обязано знать темп заранее, а темп измеряется только по уже пришедшему.
Практически это значит:
- PID, которому нечего отдать, уступает свой слот, а не останавливает мультиплекс. Объявленная в PMT, но молчащая аудиодорожка не должна вешать видео — и не вешает.
- Отставший PID догоняет внутри окна, вместо того чтобы быть выброшенным. Классический вещательный мукс в этом месте теряет данные; здесь выбран другой размен.
- Темп измеряется по упакованному PES, а не выводится из объявленной полосы умножением на коэффициент.
Что из этого следует для оператора: выходной битрейт стоит задавать честно, с запасом под пики, а не «в притык». Заниженная полоса — это не «чуть хуже качество», а систематическое отставание PID.
Задайте выходные дорожки¶
Откройте стрим, вкладка Транскодер. Начать можно с пресета — например Стандартная лестница 1080/720/360 + AAC — и дальше править ступени.
У ступени в блоке Видео (лестница):
- Битрейт (kbps) — целевая скорость дорожки. Сумма дорожек плюс служебные таблицы и есть полоса, которую займёт транспортный поток.
- Длина GOP и Структура GOP — для вещания GOP обычно ровно секунда: точка входа для приёмника и для склейки. Кнопка Унифицировать GOP выравнивает его по всем ступеням.
- Кодек — при значении Как есть ступень не перекодируется. Если источник уже пришёл в нужном виде, мультиплексору не нужен транскодер, чтобы уложить его ровно.
- Высота, Rate control и Пресет кодера — остальные свойства ступени.
В блоке Кодирование выбирается, чем считать: CPU или NVIDIA GPU (с выбором карты либо автоматически — наименее загруженная).
Warning
Passthrough-ступень рядом с кодируемыми деградирует лестницу: её GOP и ключевые кадры не выровнены с остальными ступенями. Панель помечает такую ступень отдельно.
Деинтерлейс¶
Чересстрочный вход — SD MPEG-2, эфирный 1080i — после кодирования в прогрессивный виден как гребёнка. Деинтерлейс живёт в блоке Декодер, потому что это свойство входа, а не ступени: декод один, и разобранная картинка уходит во все выходные дорожки.
| Режим | Что делает |
|---|---|
| Автоматически (только чересстрочные кадры) | умолчание: фильтр применяется к кадрам, помеченным декодером как чересстрочные; прогрессивный вход проходит насквозь без затрат |
| Принудительно (все кадры) | для источников, которые врут о чересстрочности |
| Выключен | фильтр не строится, кадры идут в кодер как есть |
Частота кадров при деинтерлейсе не меняется: один прогрессивный кадр на входной.
Проверка¶
Что смотреть на выходе:
- скорость на приёмнике — она не должна плавать; провал означает, что мультиплексу нечего было отдать;
- джиттер PCR и счётчики непрерывности — см. TR 101 290; ровность потока без корректного PCR модулятору не поможет;
- служебные таблицы — приёмник должен видеть сервис под ожидаемым номером, см. Выходной MPEG-TS.
Переопределение таблиц у отдельного направления не ломает CBR: направление получает копию общего выхода с переписанными PID и таблицами, а раскладка пакетов и PCR остаются от общего мультиплекса.
Что дальше¶
- Выходной MPEG-TS — PNR, PID и SDT.
- Доставка в сеть — как этот поток уходит на модулятор.
- TR 101 290 — чем доказывается, что выход годен.