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

Entrega de MPEG-TS sobre RTP con corrección anticipada de errores (FEC, Forward Error Correction). El mismo protocolo aparece en la literatura y los equipos bajo diferentes nombres:

  • Pro-MPEG / Pro-MPEG COP3 — Code of Practice #3 del foro Pro-MPEG, descrito en el estándar IEEE (https://ieeexplore.ieee.org/document/6738329);

  • RTP + FEC — nombre funcional (flujo RTP más canales FEC);

  • SMPTE 2022-1 — Column FEC (mismo esquema, publicado como estándar SMPTE);

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

Ventaja: baja latencia. Su desventaja es el alto tráfico adicional (overhead), y funciona mal con pérdidas de paquetes elevadas (más del 0,2 %).

Este protocolo se basa en RTP con la adición de dos canales para FEC (código de corrección de errores). Los dos canales FEC usan los puertos port+2 y port+4, lo cual debe tenerse en cuenta al añadir varios flujos en un mismo host o grupo multicast.

En el emisor, el flujo de paquetes RTP se agrupa en una matriz de Cols columnas y Rows filas. Ejemplo para cols=8 y rows=4 (por defecto):

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

Los paquetes Rx y Cx forman los datos FEC por filas y columnas. Cuanto menor sea la matriz, mejor la capacidad de corregir pérdidas, pero mayor el tráfico adicional. En este ejemplo hay 12 paquetes FEC por cada 32 paquetes RTP del flujo.

Está disponible el cifrado de flujos (Crypto protection) con AES-128, pero no está incluido en el estándar, por lo que no se garantiza la compatibilidad con software o hardware de terceros.

Existen extensiones no estándar del protocolo:

Multiplexing — multiplexación de canales RTP a través de un único puerto UDP. Puede simplificar la configuración de red.