Мультиплексор, демультиплексор и транскодер

Эти типы не выходят в сеть: они связывают потоки одного узла между собой. Мультиплексор собирает из SPTS-потоков мультиплекс, демультиплексор выделяет из мультиплекса одну программу, транскодер соединяет поток-источник с потоком-результатом. Сюда же отнесён генератор тестового потока — он тоже работает без внешнего источника.

Мультиплексор (muxer)

Тип работает с двух сторон: вход muxer у MPTS-потока задаёт сам мультиплекс, а выход muxer у SPTS-потока подключает эту программу к мультиплексу (Мультиплексор). Вход muxer может быть у MPTS-потока только один, и других входов у такого потока нет.

Вход: параметры мультиплекса

Поле

Назначение

Значения

Automatic PID mapping

Включено — каждая программа получает собственное окно PID, назначенное узлом. Выключено — программы сохраняют исходные PID, и менять их можно только переназначением на выходе программы (Назначение PID). Выключение нужно там, где приёмники не перечитывают PMT и должны пережить перевод на новый узел без перенастройки.

по умолчанию включено

Transport stream id

transport_stream_id в таблицах PAT, SDT и NIT. Вместе с «Network id» образует пару, по которой приёмник узнаёт мультиплекс; смена пары для приёмника равносильна появлению нового транспорта (Параметры мультиплекса).

0–65535, по умолчанию 1

Network id

network_id в NIT и original_network_id в SDT.

0–65535, по умолчанию 1

Network name

Название сети в NIT — то, что приёмник показывает при поиске каналов. Значение переводится в кодировку DVB, поэтому кириллица отображается верно. Пустое поле — дескриптор не передаётся.

по умолчанию пусто

Country code (ISO 3166 alpha-3)

Трёхбуквенный код страны. Он попадает в дескриптор местного времени и, что важнее, определяет, какой признак ставится перед номерами каналов в NIT: строгие приёмники учитывают номер канала только при подходящем признаке.

три буквы кода ISO 3166-1 alpha-3, по умолчанию пусто

Output bitrate (kbps)

Скорость выходного мультиплекса. Значение больше нуля включает выравнивание битрейта: поток идёт ровно с этой скоростью, недостаток дополняется NULL-пакетами, метки PCR пересчитываются. Если программы в сумме превышают заданную скорость, лишние пакеты отбрасываются — за суммарным битрейтом следят по таблице мультиплекса (Анализ по программам). Ноль — устаревший режим без выравнивания.

по умолчанию 20000

SDT provider name

Название поставщика услуг в SDT. Значение общее для всего мультиплекса — своего названия у отдельной программы нет.

до 251 байта, по умолчанию пусто

Из этого же окна открывается редактор состава мультиплекса — кнопка «Редактировать программы…» (Программы). Он получает то значение автоматической раскладки PID, которое сейчас стоит в окне, даже если оно ещё не сохранено.

Выход: подключение программы к мультиплексу

Поле

Назначение

Значения

Target MPTS stream

Мультиплекс, в который подаётся этот поток. Выбирается из списка MPTS-потоков узла. Обязательное поле; когда MPTS-потоков нет, список пуст и окно сообщает «Нет целевых потоков MPTS — сначала создайте поток MPTS.»

список MPTS-потоков узла

SDT service name (empty = stream name)

Название услуги в SDT мультиплекса — то, что приёмник показывает как имя канала. Вопреки подписи, пустое поле не подставляет имя потока: программа получает название вида Channel<номер>, где номер — её место в мультиплексе по возрастанию PNR. Добавление программы с меньшим PNR сдвигает эти названия у остальных, поэтому имя канала задают явно.

до 251 байта, по умолчанию пусто

PNR (0 = stream id)

Номер программы (service_id) в мультиплексе. Ноль означает «взять идентификатор потока». Два выхода с одинаковым номером в один мультиплекс не подключаются.

0–65535, по умолчанию 0

Logical channel number (0 = PNR)

Логический номер канала в NIT — позиция канала в списке приёмника. Ноль означает «взять номер программы». Пока выход или его поток приостановлены, канал помечается скрытым и из списка приёмника пропадает.

0–999, по умолчанию 0

Service type (0 = auto, ETSI)

Тип услуги в SDT и NIT. Ноль — определять автоматически по составу программы; иное значение задаёт тип по ETSI EN 300 468 вручную.

0–255, по умолчанию 0

PMT PID (0 = source)

PID таблицы PMT этой программы в мультиплексе. Ноль — назначить по общему правилу (автоматическое окно программы либо, при выключенной автоматической раскладке, исходный PID). Значения 1–31 зарезервированы и отклоняются.

0 или 32–8190, по умолчанию 0

На вкладке «MPEG-TS PID» этого выхода задаётся переназначение PID программы внутри мультиплекса (Назначение PID); списки приёма и отклонения PID у выхода не настраиваются — они есть только у входов. Порядок программ в таблицах мультиплекса задаётся не здесь, а перетаскиванием строк в окне «Программы».

Демультиплексор (demuxer)

Вход SPTS-потока, выделяющий одну программу из мультиплекса или с DVB-адаптера (Демультиплексор).

Вход

Поле

Назначение

Значения

Source kind

Откуда берётся мультиплекс: MPTS-поток этого узла или DVB-адаптер (DVB-приёмник). Выбор определяет содержимое следующего поля.

SPTS stream (по умолчанию), DVB adapter

Source id

Сам источник — выбирается из списка настроенных MPTS-потоков или адаптеров узла. Обязательное поле; при отсутствии источников выбранного вида список пуст.

список источников узла

PNR

Номер программы. Для источника вида SPTS stream, если он работает и уже проанализирован, номер выбирается из списка обнаруженных услуг с их названиями; для DVB-адаптера список не предлагается — номер всегда вводится вручную. Для внутренних мультиплексов T2-MI вводится составной номер (Декапсуляция T2-MI).

номер программы источника

Транскодер (transcoder)

Транскодер тоже работает с двух сторон: выход transcoder у потока-источника — это декодер, вход transcoder у потока-результата — кодер, подключённый к этому декодеру. Схема подключения и возможности бэкендов описаны в Транскодеры.

Выход: декодер

Поле

Назначение

Значения

Transcoder backend

Способ обработки: без перекодирования видео, программно на процессоре или аппаратно на GPU (Бэкенды и кодеки). Выбранный бэкенд должен быть установлен на узле, иначе выход не сохранится — включая сквозной режим, который выполняется программным транскодером (Транскодеры).

Video pass-through, Software (CPU) (по умолчанию), NVidia (GPU), Intel VPL (GPU)

GPU device selector

Устройство на узле с несколькими картами. Список заполняется устройствами выбранного бэкенда; у программного и сквозного режима устройств нет, и список выключен. Для бэкенда NVIDIA пустое значение означает первое устройство, для Intel VPL устройство нужно выбрать явно — иначе выход не сохранится.

список устройств узла

Watchdog timeout (s)

Через сколько секунд молчания процесс транскодера считается зависшим и перезапускается.

от 1; по умолчанию 10, форма создания подставляет 5

Fix PAR (N/D), Fix framerate (N/D)

Соотношение сторон пикселя и частота кадров дробью — подсказки для источника, который не сообщает их или сообщает неверно (Настройки декодера).

дробь вида 16/9, 25/1; по умолчанию пусто

Convert to BT.709

Приведение цветового пространства SD к BT.709.

по умолчанию выключено

Вход: кодер

Поле

Назначение

Значения

Decoder

Декодер, к которому подключается кодер: выбирается из списка выходов-транскодеров узла с именами их потоков — приостановленные тоже в списке. Обязательное поле; подключиться к декодеру того же потока нельзя. Пока на узле нет ни одного выхода-транскодера, список пуст.

список декодеров узла

Encoder

Кодек выходного видео. Список ограничен возможностями бэкенда выбранного декодера: MPEG-2 — программный и Intel, HEVC — NVIDIA и Intel, H.264 — везде.

MPEG-2, H.264 (по умолчанию), HEVC

Video profile (H.264)

Профиль H.264. Для других кодеков поле выключено.

Main, High (по умолчанию)

Video bitrate (kbps)

Битрейт видео; кодирование всегда CBR. Он же задаёт порядок вариантов, когда к одному декодеру подключено несколько кодеров.

от 100, по умолчанию 5000

Speed preset

Соотношение скорости и качества кодирования: меньше — качественнее и дороже по нагрузке.

1–7, по умолчанию 4

Resize, Width, Height

Размер картинки. Это один связанный элемент: выбирается либо готовый режим (уменьшение в 2 или 4 раза, приведение к SD, масштабирование SD в HD), либо режим задания ширины или высоты — тогда становится доступным соответствующее поле, а вторая сторона пересчитывается по пропорциям источника (Настройки кодера). Произвольная пара «ширина × высота» не задаётся.

None (по умолчанию), /2, /4, SD, SD PAL, SD NTSC, SD->HD

Deinterlace

Преобразование чересстрочного видео в прогрессивное.

по умолчанию включено

GOP interval

Расстояние между ключевыми кадрами в кадрах.

от 1, по умолчанию 25

B-frames

Число B-кадров между опорными. Default оставляет выбор кодеру, Off отключает их вовсе (наименьшая задержка, худшее сжатие).

Default (по умолчанию), Off, 1–8

Lookahead

На сколько кадров вперёд заглядывает управление битрейтом. Больше — лучше распределение битов, но выше задержка и расход памяти.

от 0, по умолчанию 0

MPEG audio rule, AAC audio rule, AC-3 audio rule

Что делать со звуковой дорожкой каждого исходного кодека: оставить как есть, перекодировать в названный кодек или убрать (Skip). Значения по умолчанию оставляют дорожку без изменений (Обработка звука).

MPEG, AAC, AC-3, Skip — набор зависит от исходного кодека

Audio bitrate (kbps)

Битрейт перекодируемых звуковых дорожек. К дорожкам, проходящим без изменений, не относится.

от 1, по умолчанию 128

5.1 downmix volume

Громкость понижающего микширования 5.1 в стерео. Простое суммирование каналов звучит тише оригинала, поэтому значение по умолчанию больше единицы.

от 0, по умолчанию 1.6

Encoder PMT PID

PID таблицы PMT потока, который формирует кодер. Ноль — как во входном потоке.

0 или 32–8190, по умолчанию 0

Encoder options (k=v:k=v)

Дополнительные параметры программного кодера. Поле доступно только при программном бэкенде.

по умолчанию пусто

PAT/PMT interval (90kHz)

Период повторения таблиц PAT и PMT в тактах 90 кГц: 9000 — 100 мс.

от 1, по умолчанию 9000

Framerate resample

Прореживание частоты кадров вдвое или вчетверо — для нижних вариантов адаптивного набора.

None (по умолчанию), /2, /4

Когда декодер работает в режиме «Video pass-through», настройки кодирования из окна исчезают: остаются выбор декодера, поле «PAT/PMT interval (90kHz)» и общие поля входа. Видео при этом не перекодируется, и это поле в сквозном режиме тоже не применяется. А вот правила обработки звука продолжают действовать в том виде, в каком были сохранены, — их просто негде посмотреть, пока декодер сквозной; битрейт звука и громкость понижающего микширования в сквозном режиме не передаются, и звук перекодируется с настройками по умолчанию.

Тестовый генератор (test-stream)

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

Вход

Поле

Назначение

Значения

Video encoder

Кодек генерируемого видео.

MPEG-2, H.264 (по умолчанию), HEVC

Video bitrate (kbps)

Битрейт генерируемого видео — основной рычаг нагрузки на процессор и канал.

от 100, по умолчанию 3000

Width, Height

Размер картинки в пикселях.

от 64, по умолчанию 1920 и 1080

Width PAR, Height PAR

Соотношение сторон пикселя, объявляемое в потоке.

от 1, по умолчанию 1

Frame rate

Частота кадров.

от 1, по умолчанию 25

GOP interval

Расстояние между ключевыми кадрами в кадрах.

от 1, по умолчанию 25

Video pattern

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

26 вариантов, по умолчанию SMPTE 100% color bars

Audio encoder

Кодек генерируемого звука.

MPEG-1 Layer 2 (по умолчанию), AAC

Audio waveform

Вид звукового сигнала: тон, шум, тишина, периодические щелчки. Щелчки стоят по умолчанию — на них сразу слышен пропуск звука.

13 вариантов, по умолчанию Periodic Ticks

Audio frequency (Hz)

Частота тона. К шумовым сигналам и тишине не относится.

от 1, по умолчанию 440

Audio volume

Громкость сигнала в долях от полной шкалы.

0–1, по умолчанию 0.8

Enable overlay

Наложение текста и часов поверх картинки.

по умолчанию включено

Overlay text

Надпись поверх картинки — например, название канала, чтобы отличать несколько тестовых потоков на видеостене.

по умолчанию пусто

Time format (strftime)

Формат накладываемых часов в обозначениях strftime: по ним измеряют сквозную задержку прямо с экрана.

по умолчанию пусто

Total bitrate (kbps)

Общий битрейт транспортного потока с дополнением NULL-пакетами. Ноль — без дополнения.

от 0, по умолчанию 0

PNR, PMT PID, Video PID, Audio PID

Номер программы и идентификаторы таблицы PMT и элементарных потоков — чтобы вписать тестовый поток в план PID сети. Три PID должны различаться между собой.

PNR 1–65535 (по умолчанию 1); PID 32–8190 (по умолчанию 32, 33 и 34)