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.