Protocolo Pro-MPEG / RTP+FEC (COP3 / SMPTE 2022-1/2)

Entrega de MPEG-TS sobre RTP com correção antecipada de erros (FEC, Forward Error Correction). O mesmo protocolo aparece na literatura e nos equipamentos sob diferentes nomes:

  • Pro-MPEG / Pro-MPEG COP3 — Code of Practice #3 do fórum Pro-MPEG, descrito no padrão IEEE (https://ieeexplore.ieee.org/document/6738329);

  • RTP + FEC — nome funcional (fluxo RTP mais canais FEC);

  • SMPTE 2022-1 — Column FEC (mesmo esquema, publicado como padrão SMPTE);

  • SMPTE 2022-2 — Row + Column FEC (matriz bidimensional, implementada em PSS).

Vantagem: baixa latência. Sua desvantagem é o alto tráfego adicional (overhead), e funciona mal com perdas de pacotes elevadas (acima de 0,2 %).

Este protocolo é baseado em RTP com a adição de dois canais para FEC (código de correção de erros). Os dois canais FEC usam as portas port+2 e port+4, o que deve ser levado em conta ao adicionar vários fluxos em um mesmo host ou grupo multicast.

No emissor, o fluxo de pacotes RTP é agrupado em uma matriz com Cols colunas e Rows linhas. Exemplo para cols=8 e rows=4 (padrão):

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

Os pacotes Rx e Cx formam os dados para FEC por linhas e colunas. Quanto menor o tamanho da matriz, melhor a capacidade de corrigir perdas, mas maior é o tráfego adicional. Neste exemplo, há 12 pacotes FEC para cada 32 pacotes RTP do fluxo.

Há criptografia de fluxos disponível (Crypto protection) com AES-128, mas não consta do padrão, portanto a compatibilidade com software ou hardware de terceiros não é garantida.

Existem extensões não padronizadas do protocolo:

Multiplexing — multiplexação de canais RTP por meio de uma única porta UDP. Pode simplificar a configuração da rede.