How does live stream encoding work? | Video encoding

La codificación de la transmisión en vivo divide un video en vivo en fragmentos más pequeños, los comprime y distribuye los datos de video a través de un CDN. Las actualizaciones de este proceso están haciendo que la transmisión en vivo sea más rápida.

Metas de aprendizaje

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

  • Comprender por qué los archivos de video están codificados
  • Aprender cómo funciona la codificación de la transmisión en vivo
  • Aprender cómo las mejoras en el proceso de codificación de la transmisión en vivo pueden reducir la latencia

Copiar el enlace del artículo

¿Qué es la transmisión en vivo?

La transmisión es un método para entregar datos a través de Internet sin que los usuarios finales descarguen completamente los datos. La transmisión en vivo es un tipo de transmisión en la que la transmisión se envía a través de Internet en tiempo real, sin que sea grabada y almacenada antes.

La transmisión de videojuegos, las transmisiones en redes sociales, como Periscope y Facebook Live, y las transmisiones de deportes profesionales a través de Internet son ejemplos de transmisión en vivo. Aunque tanto el audio como el video pueden transmitirse en vivo, este artículo se centrará en la transmisión de video en vivo.

¿Qué es la codificación de video?

La codificación de video es el proceso de comprimir datos de video para que puedan enviarse a otra ubicación de manera eficiente. El dispositivo en el extremo receptor de una transmisión, por ejemplo, una tableta en la que un usuario está viendo su programa de televisión favorito, decodifica los datos codificados. La codificación de video sigue estándares conocidos públicamente para que una variedad de dispositivos puedan interpretar la transmisión codificada.

La codificación de video es necesaria por dos razones principales:

  1. Los archivos de video sin comprimir tardan demasiado al enviarse por Internet para que la transmisión sea práctica.
  2. El video debe estar en un formato que cualquier dispositivo de usuario (teléfonos inteligentes, computadoras portátiles, PC, etc.) pueda interpretar.

En una transmisión de video en vivo, un dispositivo toma entradas audiovisuales, las codifica y se las envía al público, todo al mismo tiempo. La parte de la codificación de este proceso es esencial para permitir que una variedad de dispositivos de usuario reciban y reproduzcan el video.

¿Cómo funciona la codificación de la transmisión en vivo?

Una transmisión en vivo desde una fuente que captura video, por ejemplo, una cámara web, se envía a un servidor, en el que un protocolo de transmisión, como HLS o MPEG-DASH dividirá la transmisión de video en segmentos más pequeños, cada uno de 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 video segmentados y comprimidos se distribuyen luego mediante una red de entrega de contenido (CDN). Sin una CDN, muy pocos espectadores podrán cargar la transmisión en vivo. La sección final de este artículo explica por qué.

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

¿De qué manera las nuevas tecnologías hacen que la transmisión en vivo sea más rápida?

Con muchas transmisiones en vivo, los espectadores aún experimentan 20 a 30 segundos de latencia, en otras palabras, el contenido que ven está 20 a 30 segundos atrasado con respecto al tiempo real. Esto se debe en parte a que cada segmento de video debe cargarse completamente antes de que pueda reproducirse, y cada segmento de video puede tardar varios segundos en cargarse.

Una solución a este retraso es un proceso llamado codificación fragmentada. Este proceso funciona mediante la "fragmentación", es decir, divide los segmentos de video en partes aún más pequeñas. Luego, 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 la transmisión en vivo?

Las CDN son esenciales para la transmisión en vivo, porque permiten distribuir la transmisión a los usuarios en ubicaciones muy diferentes. Además, las CDN tienen mucho más ancho de banda para distribuir la transmisión que un solo servidor de origen. Sin una CDN, la transmisión en vivo puede encontrarse fácilmente con problemas de ancho de banda.

Sin embargo, la mayoría de las CDN todavía tienen que cargar un segmento completo de video antes de poder entregar el segmento a múltiples usuarios a la vez. Esto vuelve a introducir el problema de la 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.