¿Qué es la transmisión de vídeo en directo en HTTP? | Transmisión HLS

El streaming en directo HTTP (HLS) es un protocolo de retransmisión de vídeo muy utilizado que se puede ejecutar en casi cualquier servidor y es compatible con la mayoría de dispositivos. El HLS permite que los dispositivos del cliente se adapten sin problemas a las condiciones cambiantes de la red mediante el aumento o la disminución de la calidad de la retransmisión.

Objetivos de aprendizaje

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

  • Definir el streaming en directo HTTP (HLS)
  • Más información sobre cómo funciona HLS
  • Explorar los beneficios del streaming de tasa de bits adaptable

Contenido relacionado


¿Quieres saber más?

Suscríbase a theNET, el resumen mensual de Cloudflare sobre las ideas más populares de Internet.

Revisa la política de privacidad de Cloudflare para saber más sobre cómo Cloudflare gestiona tus datos personales.

Copiar enlace del artículo

¿Qué es el streaming en directo HTTP (HLS)?

El streaming en directo HTTP (HLS) es uno de los protocolos de streaming de vídeo más ampliamente utilizados. Aunque se conoce como streaming "en directo" HTTP, se usa tanto para streaming a la carta como para streaming en directo. HLS convierte los archivos de vídeo en archivos HTTP descargables más pequeños y los entrega mediante el protocolo HTTP. Los dispositivos cliente cargan estos archivos HTTP y luego los reproducen como vídeo.

Una ventaja de HLS es que todos los dispositivos conectados a Internet son compatibles con HTTP, lo que facilita su implementación frente a los protocolos de transmisión de vídeo que requieren el uso de servidores especializados. Otra ventaja es que una transmisión HLS puede aumentar o disminuir la calidad del vídeo en función de las condiciones de la red sin interrumpir la reproducción. Por ello, la calidad del vídeo puede mejorar o empeorar durante la transmisión del vídeo mientras el usuario lo está viendo. Esta función se conoce como "entrega de vídeo con velocidad de bits adaptable" o "transmisión de velocidad de bits adaptable" y, sin ella, las condiciones de red lentas pueden impedir que un vídeo se reproduzca por completo.

HLS fue desarrollado por Apple para sus propios productos, pero ahora se utiliza en una amplia gama de dispositivos.

¿Qué es el streaming?

El streaming es una forma de ofrecer medios visuales y de audio a los usuarios a través de Internet. Funciona mediante el envío continuo del archivo multimedia al dispositivo de un usuario, pero no todo a la vez sino poco a poco. El archivo multimedia original se almacena en remoto o, en el caso del streaming en directo, se crea en tiempo real con una cámara o un micrófono en remoto. De este modo, se puede reproducir el vídeo o el audio sin que sea necesario que el dispositivo del usuario se descargue primero el archivo completo.

¿Qué es HTTP?

HTTP es un protocolo de capa de aplicación para transferir información entre los dispositivos conectados a una red. Todos los sitios web y aplicaciones accesibles para los usuarios normales se ejecutan en HTTP. La transferencia de datos a través de HTTP se basa habitualmente en solicitudes y respuestas. Casi todos los mensajes HTTP son una solicitud o una respuesta a una solicitud.

Con el streaming a través de HTTP, no se puede aplicar el patrón estándar de solicitud-respuesta. La conexión entre el cliente y el servidor permanece abierta mientras dure la retransmisión, y el servidor va enviando los datos de vídeo al cliente para que el cliente no tenga que solicitar cada segmento de datos de vídeo.

¿Cómo funciona HLS?

Servidor: una retransmisión HLS se origina en el servidor donde se almacenan los archivos multimedia (en streaming a la carta) o donde se crea la retransmisión (streaming en directo). Como HLS se basa en HTTP, cualquier servidor web ordinario puede originar la retransmisión.

En el servidor tienen lugar dos procesos principales:

  1. Codificación: los datos de vídeo se reformatean para que los pueda reconocer e interpretar cualquier dispositivo. HLS debe usar la codificación H.264 o H.265.
  2. Segmentación: el vídeo se divide en segmentos de unos segundos de duración. La duración de los segmentos puede variar, aunque la duración por defecto es de 6 segundos (hasta 2016 era de 10 segundos).
    • Además de dividir el vídeo en segmentos, HLS crea un archivo de índice de los segmentos de vídeo para registrar el orden al que pertenecen.
    • HLS creará también varios conjuntos duplicados de segmentos con diferentes niveles de calidad: 480p, 720p, 1080p, etc.

Distribución: los segmentos de vídeo codificados se envían a los dispositivos cliente a través de Internet cuando los dispositivos cliente solicitan la retransmisión. Habitualmente, una red de entrega de contenido (CDN) ayudará a distribuir la retransmisión por diferentes áreas geográficas. Además, una CDN almacenará en caché la retransmisión para que se pueda servir a los clientes de forma más rápida.

Dispositivo cliente: el dispositivo cliente es el dispositivo que recibe la retransmisión y reproduce el vídeo, por ejemplo, un teléfono inteligente o un portátil del usuario. El dispositivo cliente usa el archivo de índice como referencia para ensamblar el vídeo en el orden correcto, y cambia de una imagen de mayor calidad a una de menor calidad (y viceversa) según sea necesario.

¿Qué es el streaming de tasa de bits adaptable en HLS?

Una de las ventajas que tiene HLS con respecto a otros protocolos de streaming es el streaming de tasa de bits adaptable. Esto hace referencia a la capacidad de ajustar la calidad del vídeo en medio de una retransmisión según vayan cambiando las condiciones de la red. Esto permite que los vídeos se sigan reproduciendo incluso si empeoran las condiciones de la red; por otra parte, también maximiza la calidad de video para que esta sea tan alta como permita la red.

Si se ralentiza la red, lo detecta el reproductor de vídeo del usuario, y el streaming de tasa de bits adaptable reduce la calidad de la retransmisión para que el vídeo se siga reproduciendo. Si se dispone de más ancho de banda de red, el streaming de tasa de bits adaptable mejora la calidad de la retransmisión.

La transmisión de velocidad de bits adaptable es posible porque HLS crea varias transmisiones segmentadas duplicadas a diferentes niveles de calidad durante el proceso de segmentación. El reproductor de vídeo del usuario puede cambiar de una de esas transmisiones a otra durante la reproducción de vídeo.

¿HLS utiliza TCP o UDP como su protocolo de transporte?

TCP y UDP son protocolos de transporte, esto es, son responsables de entregar contenido a través de Internet. TCP suele entregar datos de una manera más fiable que UDP, pero este último es mucho más rápido, aunque puedan perderse algunos datos en el camino.

Como UDP es más rápido, algunos protocolos de transmisión utilizan UDP en lugar de TCP. Sin embargo, HLS utiliza TCP. Esto se debe a varias razones:

  1. HLS pasa por HTTP, y el protocolo HTTP está diseñado para usarse con TCP (con algunas excepciones).
  2. El Internet moderno es más fiable y eficiente de lo que era cuando se desarrolló el streaming por primera vez. Hoy en día, en muchas partes del mundo, la conectividad del usuario ha mejorado notablemente, en especial para las conexiones móviles. Como resultado, los usuarios cuentan con suficiente ancho de banda para poder aceptar la entrega de cada fotograma de vídeo.
  3. El streaming de tasa de bits adaptable ayuda a compensar la entrega de datos potencialmente más lenta de TCP.
  4. El streaming HLS no tiene que ser "en tiempo real", como es el caso de las conexiones por videoconferencia. Unos segundos adicionales de lag no afectan a la experiencia del usuario de la misma manera que lo haría la falta de unos fotogramas de vídeo.

¿Qué otros protocolos se utilizan habitualmente para streaming?

Hay varios protocolos similares a HLS, como MPEG-DASH y HDS, que también se ejecutan a través de HTTP y ofrecen transmisión con tasa de bits adaptable. Adobe Flash, que se ejecuta en el protocolo RTMP o HDS, solía ser la tecnología principal utilizada para la transmisión de vídeo. Sin embargo, muchos navegadores ya no son compatibles con Flash. RTMP todavía está en uso, aunque su soporte es menor.

¿Es compatible Cloudflare con el streaming en directo HTTP?

Cloudflare es compatible con HLS tanto para el streaming a la carta como en directo. Cloudflare Stream integra almacenamiento de vídeo, codificación y un reproductor personalizable con la red rápida, segura y fiable de Cloudflare, que abarca 330 ciudades en más de 120 países. Esto permite que los usuarios de todo el mundo reciban retransmisiones HLS rápidas y de alta calidad. Más información acerca de Cloudflare Stream