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.
Después de leer este artículo podrás:
Contenido relacionado
¿Qué es MPEG-DASH?
Codificación de la retransmisión en directo
¿Qué es el streaming en directo?
¿Qué es el streaming?
Formatos de compresión de vídeo
Suscríbase a theNET, el resumen mensual de Cloudflare sobre las ideas más populares de Internet.
Copiar enlace del artículo
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.
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.
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.
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:
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.
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.
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:
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.
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