Limitaciones de las fuentes HLS para las redes de radiodifusión

Un problema común al retransmitir flujos HLS a redes de difusión, como satélite, cable, terrestre o multidifusión UDP, es la aparición de diversos artefactos como pixelación, desviaciones de sonido y chasquidos. Curiosamente, estos flujos funcionan bien cuando se reproducen en un PC. A menudo, los ingenieros echan la culpa al fabricante de la cabecera; sin embargo, para entender realmente la raíz del problema, es esencial examinar las características de la codificación de vídeo.

Codificación de vídeo

La codificación de vídeo es el proceso de comprimir datos de vídeo para almacenarlos y transmitirlos con eficacia. Los flujos de vídeo se dividen en fotogramas:

  • Fotograma clave (fotograma I): contiene toda la imagen.
  • Fotogramas posteriores (fotogramas P y B): sólo cambia en relación con el fotograma anterior.

Velocidad de transmisión

La entrega de cada fotograma dentro de un plazo específico es crucial para garantizar una reproducción fluida y una sincronización adecuada del audio y el vídeo en las redes de difusión. Para lograrlo, los flujos de vídeo deben codificarse con una tasa de bits media más alta para mantener una tasa de bits predecible y uniforme. Equilibrar el tamaño del GOP y la calidad de la codificación es esencial para mantener una tasa de bits uniforme y lograr una calidad visual óptima en los flujos de vídeo destinados a la radiodifusión.

Stream codificado para radiodifusión

A diferencia de las redes de difusión, HLS (HTTP Live Streaming) gestiona mejor las tasas de bits variables, ya que los datos se transmiten en segmentos que contienen varios segundos de vídeo (normalmente 3 segundos o más). Como resultado, HLS puede manejar tamaños GOP más grandes, logrando una mejor calidad de vídeo con una tasa de bits media más baja.

Secuencia codificada para HLS

El gráfico ilustra que el flujo codificado para HLS tiene un bitrate medio bajo, de sólo 2 Mbps, pero también tiene picos que alcanzan los 6 Mbps.

La flexibilidad de HLS no se traslada bien a las redes de radiodifusión, que requieren un ancho de banda constante y predecible para una transmisión y reproducción estables. Por eso, cuando se trabaja con flujos HLS y sistemas de radiodifusión, es esencial tener en cuenta las diferencias en los requisitos de bitrate y ajustar los parámetros de codificación en consecuencia para garantizar una transmisión y reproducción estables.

Picos de bitrate y difusión UDP

Los picos de bitrate también pueden plantear problemas para la difusión UDP. La mayoría de los dispositivos de consumo, como los descodificadores (STB) y los televisores, tienen búferes de red limitados para recibir paquetes UDP. Cuando llegan muchos paquetes en poco tiempo debido a los picos de bitrate, el búfer de red del dispositivo puede verse desbordado, con la consiguiente pérdida de paquetes.

Solución

Para flujos con una desviación moderada de la tasa de bits, puedes activar la función CBR (tasa de bits constante) en los ajustes de salida de Astra. Esta función ayuda a distribuir grandes fotogramas clave a lo largo del tiempo y añade paquetes TS vacíos para mantener una tasa de bits constante.

Sin embargo, en el caso de algunos flujos, puede ser necesaria la transcodificación para adaptarlos a la radiodifusión. Considere los siguientes ajustes para garantizar una mejor compatibilidad con las redes de radiodifusión:

  • Reducir el tamaño del GOP: Opta por un tamaño de GOP más pequeño (en torno a 30 fotogramas) para lograr una mejor calidad en las escenas de movimiento y minimizar la diferencia entre las tasas de bits media y máxima.
  • Reducir la calidad de imagen: Aunque esto puede resultar en una ligera disminución de la calidad de vídeo en general, ayuda a reducir la tasa de bits y mantener una experiencia de streaming más consistente
  • Habilitar el entrelazado de vídeo: El vídeo entrelazado puede proporcionar escenas de movimiento más suaves y una mejor calidad de imagen general en comparación con el vídeo progresivo, especialmente en un contexto de radiodifusión.