---
title: UDP, RTP, Pro-MPEG и TCP
url: https://doc2.pstreamer.tv/ru/manual/webui/io/network.html
lang: ru
product: Perfect Streamer
version: 2.0.1.264
---

# UDP, RTP, Pro-MPEG и TCP

Транспорты этой группы передают MPEG-TS в сеть без повторной передачи потерянных пакетов; Pro-MPEG добавляет к потоку упреждающую коррекцию, но обратного канала не использует. Область применения описана в [Другие входы и выходы](../../planning/index.md#planning-other-io) и [Pro-MPEG / RTP+FEC (SMPTE 2022-1/2)](../../planning/index.md#planning-prompeg), рекомендации по приёму multicast высокого битрейта — в [Рекомендации по работе с UDP-мультикастом](../../faq/index.md#faq-multicast-nic).

## UDP

Приём и передача MPEG-TS в датаграммах UDP — unicast или multicast, в том числе с указанием источника (SSM).

### Вход

| Поле | Назначение | Значения |
| --- | --- | --- |
| Address (multicast group) | Группа multicast, которую слушает вход. Пустое поле означает приём unicast: узел принимает всё, что приходит на указанный порт. Значение решает и способ занятия порта: на группе несколько потоков могут слушать один и тот же адрес и порт, при приёме unicast порт занимается монопольно. | адрес, по умолчанию пусто |
| Port | Порт приёма. Обязательное поле. | 1–65534, в форме создания 1234 |
| Bind interface | Интерфейс, на котором вход слушает порт и вступает в группу multicast. Выбирается из списка интерфейсов узла — каждый предлагается и по имени, и по адресу; «Любой (по умолчанию)» оставляет выбор системе. Если названного интерфейса на узле нет, вход не отказывает, а переходит в состояние ожидания администратора и подхватывает интерфейс, когда тот появится. | по умолчанию любой |
| SSM source address | Адрес источника для приёма multicast с указанием источника (SSM): группа принимается только от этого отправителя, и второй отправитель на той же группе поток не испортит. Для приёма unicast поле не действует. | адрес IPv4, по умолчанию пусто |
| Socket buffer (bytes) | Запрашиваемый размер приёмного буфера сокета — средство против потерь на всплесках битрейта. Ноль означает системное значение по умолчанию, о чём сказано и под самим полем. Заданный размер — запрос, а не итог: у работающего входа под полем выводится выданный ядром объём, а если запрос не уместился в системный потолок, рядом появляется предупреждение. Значение считывается один раз, при открытии окна потока, и после сохранения исчезает до следующего открытия ([Рекомендации по настройке сети для мультикаста](../../faq/index.md#faq-multicast-sysctl)). | по умолчанию 0 |
| Multicast rejoin (s) | Период повторного вступления в группу multicast. Нужен там, где коммутатор или маршрутизатор со временем забывает подписку и трафик прекращается без всякой ошибки. Ноль отключает повтор; при приёме unicast поле не действует. Значения больше 4294 секунд задавать не следует: отсчёт времени переполняется и повтор начинает выполняться непрерывно. | по умолчанию 0 |

### Выход

| Поле | Назначение | Значения |
| --- | --- | --- |
| Address (destination) | Адрес получателя: группа multicast, адрес unicast или имя узла, которое будет разрешено через DNS. Обязательное поле. | адрес или имя хоста |
| Port | Порт получателя. Обязательное поле. | 1–65534, в форме создания 1234 |
| Multicast egress interface | Интерфейс, через который узел отправляет датаграммы multicast; выбирается из того же списка, что и «Bind interface» у входа. На узле с несколькими сетями его стоит задать явно — иначе интерфейс выбирает система по таблице маршрутизации; сохранить выход с пустым полем окно позволяет. При отправке unicast поле не действует: интерфейс для неё всегда выбирает таблица маршрутизации. | по умолчанию выбирает система |
| IP multicast TTL | Сколько маршрутизаторов вправе передать датаграмму дальше. Значение по умолчанию рассчитано на локальную сеть; для передачи через маршрутизаторы его увеличивают, для запрета выхода за пределы сегмента ставят единицу. При отправке unicast поле не действует. | 1–255, по умолчанию 4 |
| Packets per datagram | Сколько TS-пакетов узел укладывает в одну датаграмму. Семь пакетов — это 1316 байт, столько помещается в кадр Ethernet без фрагментации; меньшее значение немного снижает задержку ценой заметно больших накладных расходов. Изменение переоткрывает выход — в раздаче будет короткий перерыв. | 1–7, по умолчанию 7 |

## RTP

Тот же UDP, но с заголовком RTP: у пакетов появляются порядковый номер и метка времени, поэтому приёмник замечает потери и перестановки.

### Вход

Поля UDP-входа целиком, и дополнительно:

| Поле | Назначение | Значения |
| --- | --- | --- |
| RTP reorder | Восстанавливать порядок пакетов по номерам RTP. Включают, когда пакеты приходят переставленными — например, при балансировке трафика по нескольким путям. При выключенной настройке узел вообще не смотрит на номера: пакеты уходят дальше в том порядке, в каком пришли. | по умолчанию выключено |

Глубина очереди восстановления не настраивается: узел выбирает её сам по битрейту потока.

### Выход

Поля UDP-выхода без изменений и дополнений: заголовок RTP узел формирует сам.

## Pro-MPEG

RTP с упреждающей коррекцией ошибок по SMPTE 2022-1/2: к потоку добавляются FEC-пакеты, по которым приёмник восстанавливает потери без обратного канала. По умолчанию FEC занимает два дополнительных порта — `port+2` и `port+4`, это учитывают при планировании ([Pro-MPEG / RTP+FEC (SMPTE 2022-1/2)](../../planning/index.md#planning-prompeg)).

### Вход

Поля UDP-входа целиком, и дополнительно:

| Поле | Назначение | Значения |
| --- | --- | --- |
| ProMPEG multiplexing | Нестандартное расширение: основной поток и оба потока FEC передаются одним портом, дополнительные порты не занимаются. Настройка должна совпадать с передающей стороной, и обе стороны должны быть узлами Perfect Streamer. | по умолчанию выключено |
| ProMPEG header XOR | Обфускация заголовка FEC-пакетов: заголовок складывается по модулю два с этим числом. Нестандартное расширение — значение должно совпадать на обеих сторонах, а для совместимости со сторонним оборудованием оставляется нулевым. | 0–255, по умолчанию 0 |
| Passphrase | Парольная фраза шифрования — нестандартное расширение ([Шифрование потоков](../../planning/index.md#planning-encryption)). Пустое поле означает приём без шифрования. Несовпадение с передающей стороной не распознаётся как ошибка шифрования: поток просто перестаёт разбираться как MPEG-TS, и в сообщении об ошибке узел напоминает, задана парольная фраза на этой стороне или нет. | 10–64 байта либо пусто |

Отдельной настройки восстановления порядка у входа Pro-MPEG нет: сборка потока по номерам RTP выполняется всегда — без неё не работала бы коррекция ошибок.

### Выход

Поля UDP-выхода целиком, и дополнительно:

| Поле | Назначение | Значения |
| --- | --- | --- |
| ProMPEG columns | Ширина матрицы FEC в пакетах. Она задаёт и цену защиты по строкам — один пакет коррекции на столько переданных, — и длину подряд идущей потери, которую ещё удаётся восстановить. | 4–64, по умолчанию 8 |
| ProMPEG rows | Высота матрицы FEC: один пакет коррекции по столбцу на столько же переданных. Произведение «столбцы × строки» — это размер блока, а с ним растёт и задержка восстановления на приёме. | 4–64, по умолчанию 4 |
| ProMPEG multiplexing | Передача основного потока и обоих потоков FEC одним портом. Значение должно совпадать с приёмной стороной. | по умолчанию выключено |
| ProMPEG header XOR | Обфускация заголовка FEC-пакетов; значение должно совпадать с приёмной стороной. Для совместимости со сторонним оборудованием оставляется нулевым. | 0–255, по умолчанию 0 |
| Passphrase | Парольная фраза шифрования; на обеих сторонах она должна совпадать. Шифруется содержимое пакетов, а коррекция считается уже по зашифрованным данным. | 10–64 байта либо пусто |

Узел принимает и такую матрицу, которую стандарт не требует поддерживать: SMPTE 2022-1 ограничивает её произведением не больше 100 при 1–20 столбцах и 4–20 строках, а поля допускают до 64 в каждом. За пределами стандарта совместимость со сторонним приёмником не гарантируется.

## TCP

Приём MPEG-TS по обычному TCP-соединению — там, где UDP заблокирован. Узел всегда подключается сам, поэтому режима ожидания подключений у этого типа нет. Выхода этого типа тоже нет: раздачу по TCP выполняет потоковый HTTP-сервер ([Потоковый HTTP-сервер](../administration.md#webui-http-server)).

### Вход

| Поле | Назначение | Значения |
| --- | --- | --- |
| Host | Узел-источник, к которому выполняется подключение: имя или адрес. Окно не считает это поле обязательным, но без него вход работать не будет — пустое значение выяснится только при запуске. | по умолчанию пусто |
| Port | Порт на узле-источнике. Обязательное поле. | 1–65534 |
| Client timeout (s) | Предельное время на установление соединения и на уже начатое чтение. Молчание установленного соединения этой настройкой не ограничивается: остановившийся источник обнаруживает общий таймаут потока на вкладке «Поток» ([Настроить поток](../streams.md#webui-stream-editor)), после чего поток переходит на резервный вход. | от 1, по умолчанию 10 |

При потере синхронизации по границе TS-пакета вход не переподключается сразу, а пробует восстановить выравнивание на ходу; переподключение происходит, только когда подряд не удаётся выровняться восемь раз. В интерфейсе счётчик таких восстановлений не показывается.
