---
title: Протокол Pro-MPEG / RTP+FEC (COP3 / SMPTE 2022-1/2)
url: https://doc.pstreamer.tv/ru/manual/prompeg.html
lang: ru
product: Perfect Streamer
version: 1.13.3.445
---

# Протокол Pro-MPEG / RTP+FEC (COP3 / SMPTE 2022-1/2)

Это доставка MPEG-TS поверх RTP с упреждающей коррекцией ошибок (FEC, Forward Error Correction). Один и тот же протокол встречается в литературе и оборудовании под разными именами:

- **Pro-MPEG / Pro-MPEG COP3** — Code of Practice #3 форума Pro-MPEG, описан в стандарте IEEE ([https://ieeexplore.ieee.org/document/6738329](https://ieeexplore.ieee.org/document/6738329));
- **RTP + FEC** — функциональное название (RTP-поток плюс FEC-каналы);
- **SMPTE 2022-1** — Column FEC (та же схема, опубликованная как стандарт SMPTE);
- **SMPTE 2022-2** — Row + Column FEC (двумерная матрица, реализована в PSS).

Достоинство — низкая задержка. Недостаток — высокий дополнительный трафик (overhead), и он плохо работает при больших потерях пакетов (более 0,2 %).

Этот протокол основан на RTP с добавлением двух каналов для FEC (кода коррекции ошибок). Два канала FEC используют порты `port+2` и `port+4`, что надо учитывать при добавлении нескольких потоков на один хост или мультикаст-группу.

На отправителе поток RTP-пакетов группируется в матрицу с **Cols** колонок и **Rows** строк. Пример для cols=8 и rows=4 (по умолчанию):

| RTP01 | RTP02 | RTP03 | RTP04 | RTP05 | RTP06 | RTP07 | RTP08 | R1 |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| RTP11 | RTP12 | RTP13 | RTP14 | RTP15 | RTP16 | RTP17 | RTP18 | R2 |
| RTP21 | RTP22 | RTP23 | RTP24 | RTP25 | RTP26 | RTP27 | RTP28 | R3 |
| RTP31 | RTP32 | RTP33 | RTP34 | RTP35 | RTP36 | RTP37 | RTP38 | R4 |
| C1 | C2 | C3 | C4 | C5 | C6 | C7 | C8 |  |

Пакеты Rx и Cx формируют данные для FEC по строкам и колонкам. Чем меньше размер матрицы, тем лучше способность исправлять потери, но больше дополнительный трафик. В данном примере на 32 RTP-пакета потока приходится 12 FEC-пакетов.

Доступно шифрование потоков (Crypto protection), используется AES-128, но это не включено в стандарт, поэтому не гарантируется совместимость со сторонним ПО или оборудованием.

Имеются нестандартные расширения протокола:

**Multiplexing** — мультиплексирование RTP-каналов через один UDP-порт. Может упростить настройку сети.
