---
title: Мультиплексор, демультиплексор и транскодер
url: https://doc2.pstreamer.tv/ru/manual/webui/io/internal.html
lang: ru
product: Perfect Streamer
version: 2.0.1.264
---

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

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

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

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

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

| Поле | Назначение | Значения |
| --- | --- | --- |
| Automatic PID mapping | Включено — каждая программа получает собственное окно PID, назначенное узлом. Выключено — программы сохраняют исходные PID, и менять их можно только переназначением на выходе программы ([Назначение PID](../../streamer/mux.md#streamer-mux-pids)). Выключение нужно там, где приёмники не перечитывают PMT и должны пережить перевод на новый узел без перенастройки. | по умолчанию включено |
| Transport stream id | `transport_stream_id` в таблицах PAT, SDT и NIT. Вместе с «Network id» образует пару, по которой приёмник узнаёт мультиплекс; смена пары для приёмника равносильна появлению нового транспорта ([Параметры мультиплекса](../../streamer/mux.md#streamer-mux-identity)). | 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 пересчитываются. Если программы в сумме превышают заданную скорость, лишние пакеты отбрасываются — за суммарным битрейтом следят по таблице мультиплекса ([Анализ по программам](../../streamer/mpts.md#streamer-mpts-analysis)). Ноль — устаревший режим без выравнивания. | по умолчанию 20000 |
| SDT provider name | Название поставщика услуг в SDT. Значение общее для всего мультиплекса — своего названия у отдельной программы нет. | до 251 байта, по умолчанию пусто |

Из этого же окна открывается редактор состава мультиплекса — кнопка «Редактировать программы…» ([Программы](../streams.md#webui-stream-programs)). Он получает то значение автоматической раскладки 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](../../streamer/mux.md#streamer-mux-pids)); списки приёма и отклонения PID у выхода не настраиваются — они есть только у входов. Порядок программ в таблицах мультиплекса задаётся не здесь, а перетаскиванием строк в окне «Программы».

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

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

### Вход

| Поле | Назначение | Значения |
| --- | --- | --- |
| Source kind | Откуда берётся мультиплекс: MPTS-поток этого узла или DVB-адаптер ([DVB-приёмник](../../streamer/dvb.md#streamer-dvb)). Выбор определяет содержимое следующего поля. | SPTS stream (по умолчанию), DVB adapter |
| Source id | Сам источник — выбирается из списка настроенных MPTS-потоков или адаптеров узла. Обязательное поле; при отсутствии источников выбранного вида список пуст. | список источников узла |
| PNR | Номер программы. Для источника вида SPTS stream, если он работает и уже проанализирован, номер выбирается из списка обнаруженных услуг с их названиями; для DVB-адаптера список не предлагается — номер всегда вводится вручную. Для внутренних мультиплексов T2-MI вводится составной номер ([Декапсуляция T2-MI](../../streamer/dvb.md#streamer-dvb-t2mi)). | номер программы источника |

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

Транскодер тоже работает с двух сторон: выход `transcoder` у потока-источника — это декодер, вход `transcoder` у потока-результата — кодер, подключённый к этому декодеру. Схема подключения и возможности бэкендов описаны в [Транскодеры](../../streamer/transcoder.md#streamer-transcoder).

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

| Поле | Назначение | Значения |
| --- | --- | --- |
| Transcoder backend | Способ обработки: без перекодирования видео, программно на процессоре или аппаратно на GPU ([Бэкенды и кодеки](../../streamer/transcoder.md#streamer-transcoder-backends)). Выбранный бэкенд должен быть установлен на узле, иначе выход не сохранится — включая сквозной режим, который выполняется программным транскодером ([Транскодеры](../../install/transcoder.md#install-transcoder)). | 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) | Соотношение сторон пикселя и частота кадров дробью — подсказки для источника, который не сообщает их или сообщает неверно ([Настройки декодера](../../streamer/transcoder.md#streamer-transcoder-decoder)). | дробь вида `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), либо режим задания ширины или высоты — тогда становится доступным соответствующее поле, а вторая сторона пересчитывается по пропорциям источника ([Настройки кодера](../../streamer/transcoder.md#streamer-transcoder-encoder)). Произвольная пара «ширина × высота» не задаётся. | 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). Значения по умолчанию оставляют дорожку без изменений ([Обработка звука](../../streamer/transcoder.md#streamer-transcoder-audio)). | 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-потока, формирующий испытательную таблицу и звуковой сигнал без внешнего источника ([Тестовые потоки](../../streamer/test_stream.md#streamer-test-stream)). Требует установленного пакета программного транскодирования.

### Вход

| Поле | Назначение | Значения |
| --- | --- | --- |
| 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) |
