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.