How does live stream encoding work? | Video encoding

La codificación de la retransmisión en directo divide un vídeo en directo en fragmentos más pequeños, los comprime y distribuye los datos de vídeo mediante una CDN. Las actualizaciones a este proceso están haciendo que el streaming en directo sea cada vez más rápido.

Objetivos de aprendizaje

Después de leer este artículo podrás:

  • Entender por qué se codifican los archivos de vídeo
  • Más información acerca de cómo funciona la codificación de la retransmisión en directo
  • Más información acerca de cómo el proceso de codificación de retransmisión en directo puede reducir la latencia

Copiar enlace del artículo

¿Qué es el streaming en directo?

El streaming es un método de entrega de datos a través de Internet sin que los usuarios finales tengan que descargar completamente los datos. El streaming en directo es un tipo de streaming en el que la retransmisión se envía a través de Internet en tiempo real, sin tener que grabarse y almacenarse en primer lugar.

El streaming de videojuegos, las retransmisiones en redes sociales como Periscope y Facebook Live, y las transmisiones deportivas profesionales a través de Internet son ejemplos de streaming en directo. Aunque tanto audio como vídeo se pueden retransmitir en directo, este artículo se centrará en el streaming de vídeos en directo.

¿Qué es la codificación de vídeo?

La codificación de vídeo es el proceso de comprimir datos de vídeo para que se puedan enviar de forma eficiente a otra ubicación. El dispositivo en el lado receptor de una retransmisión, por ejemplo, una tablet en la que un usuario esté viendo su programa de televisión favorito, decodifica los datos codificados. La codificación de vídeo sigue estándares conocidos públicamente para que una gran cantidad de dispositivos pueda interpretar la retransmisión codificada.

La codificación de vídeo es necesaria por dos motivos principales:

  1. Los archivos de vídeo sin comprimir tardan demasiado en enviarse por Internet como para que el streaming tenga sentido.
  2. El vídeo tiene que estar en un formato que pueda interpretar cualquier dispositivo de usuario (teléfonos inteligentes, ordenadores portátiles, PC, etc.).

En una retransmisión de vídeo en directo, un dispositivo coge entradas audiovisuales, las codifica y las envía al público, todo a la vez. La parte de codificación de este proceso es fundamental para permitir que una variedad de dispositivos de usuario reciban y reproduzcan el vídeo.

¿Cómo funciona la codificación de la retransmisión en directo?

Una retransmisión en directo desde una fuente que captura video, por ejemplo, una cámara web, se envía a un servidor, en el que un protocolo de streaming como HLS o MPEG-DASH dividirá la transmisión de vídeo en segmentos más pequeños, cada uno de ellos con unos pocos segundos de duración.

The video content is then encoded using an encoding standard. The encoding standard in wide use today is called H.264, but standards like H.265, VP9, and AV1 are also in use. This encoding process compresses the video by removing redundant visual information. For example, in a stream of someone talking against the background of a blue sky, the blue sky does not need to be rendered again for every second of video, since it does not change a lot. Therefore, the blue sky can be stripped out from most frames of the video.

Los datos de vídeo segmentados y comprimidos se distribuyen usando de una red de entrega de contenido (CDN). Sin una CDN, muy pocos espectadores podrán cargar el streaming en directo; el motivo se explica en la sección final de este artículo.

La mayoría de dispositivos móviles tienen un codificador incorporado, lo que facilita a los usuarios normales la retransmisión en directo en plataformas de redes sociales y a través de aplicaciones de mensajería. Las marcas y empresas que quieren una retransmisión de mayor calidad utilizan su propio software de codificación, hardware o ambos.

¿Cómo hacen las nuevas tecnologías que el streaming en directo sea más rápido?

Con muchos streamings en directo, los espectadores todavía experimentan de 20 a 30 segundos de latencia; en otras palabras, el contenido que ven está 20 a 30 segundos por detrás del tiempo real. Esto se debe a que cada segmento de vídeo debe cargarse en su totalidad antes de que pueda reproducirse, y cada segmento de vídeo necesita varios segundos para cargarse.

Este retraso se puede solucionar con un proceso llamado codificación fragmentada. Este proceso funciona mediante "fragmentación", es decir, dividir los segmentos de vídeo en partes todavía más pequeñas. Después, esas piezas más pequeñas se codifican, y los dispositivos que reciben la transmisión pueden reproducir estos fragmentos más pequeños antes de que se cargue todo el segmento.

¿Cómo están mejorando las CDN para acelerar el streaming en directo?

Las CDN son fundamentales para el streaming en directo porque hacen posible la distribución de streaming a usuarios en ubicaciones muy diferentes. Además, las CDN cuentan con mucho más ancho de banda para la distribución de streaming que un único servidor de origen. Sin una CDN, el streaming en directo puede tener problemas de ancho de banda fácilmente.

Sin embargo, la mayoría de las CDN todavía tienen que cargar un segmento completo de vídeo antes de poder servir el segmento a varios usuarios a la vez. Esto vuelve a introducir el problema de latencia que se supone que resuelve la codificación fragmentada.

To speed up live streaming, Cloudflare offers a feature called concurrent streaming acceleration. The Cloudflare CDN can deliver a segment of video to multiple end users at once while it is still loading, eliminating the wait time while the entire segment loads. The Cloudflare global network spans 200 cities in more than 100 countries, enabling users around the world to tune into a high-quality, real-time live stream.