¿Qué es la transmisión en vivo HTTP? | Transmisión HLS

La transmisión en vivo HTTP (HLS) es un protocolo de transmisión de video ampliamente utilizado que se puede ejecutar en casi cualquier servidor y es compatible con la mayoría de los dispositivos. HLS permite que los dispositivos del cliente se adapten sin problemas a las condiciones cambiantes de la red al aumentar o disminuir la calidad de la transmisión.

Metas de aprendizaje

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

  • Definir la transmisión en vivo HTTP (HLS)
  • Obtener información sobre cómo funciona HLS
  • Explorar los beneficios de la transmisión de velocidad de bits adaptativa

Contenido relacionado


¿Quieres saber más?

Suscríbete 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 el enlace del artículo

¿Qué es la transmisión en vivo HTTP (HLS)?

La transmisión en vivo HTTP (HLS) es uno de los protocolos de transmisión de video más utilizados. Aunque se llama transmisión HTTP "en vivo", se usa tanto para transmisión a pedido como para transmisión en vivo. HLS desglosa los archivos de video en archivos HTTP descargables más pequeños y los entrega con el protocolo HTTP. Los dispositivos del cliente cargan estos archivos HTTP y luego los reproducen como video.

Una ventaja de HLS es que todos los dispositivos conectados a Internet son compatibles con HTTP, lo que hace que su implementación sea más fácil comparada con los protocolos de transmisión que requieren el uso de servidores especializados. Otra ventaja es que una transmisión HLS puede aumentar o disminuir la calidad del video según las condiciones de la red, sin interrumpir la reproducción. Esta es la razón por la cual la calidad del video puede mejorar o empeorar en medio de un video mientras un usuario lo ve. Esta característica se conoce como "entrega de video de velocidad de bits adaptativa" o "transmisión de velocidad de bits adaptativa" y sin esta las condiciones de red lentas pueden detener por completo la reproducción de un video.

HLS fue desarrollado por Apple para usar en productos Apple, pero ahora se usa en una amplia gama de dispositivos.

¿Qué es la transmisión?

La transmisión es una forma de entregar medios audiovisuales a los usuarios a través de Internet. Funciona al enviar continuamente el archivo multimedia al dispositivo de un usuario, poco a poco en lugar de todo a la vez. El archivo multimedia original se almacena remotamente o, en el caso de la transmisión en vivo, se crea en tiempo real con una cámara o micrófono remotos. De esta manera, el video o el audio se puede reproducir sin necesidad de que el dispositivo del usuario descargue primero el archivo completo.

¿Qué es HTTP?

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

Con la transmisión a través de HTTP, no se aplica el patrón estándar de solicitud respuesta. La conexión entre el cliente y el servidor permanece abierta mientras dura la transmisión, y el servidor envía los datos de video al cliente para que el cliente no tenga que solicitar cada segmento de datos de video.

¿Cómo funciona HLS?

Servidor: una transmisión HLS se origina en un servidor en el que (en la transmisión a pedido) se almacena el archivo multimedia o en el que (en la transmisión en vivo) se crea la transmisión. Debido a que HLS se basa en HTTP, cualquier servidor web común puede originar la transmisión.

Dos procesos principales tienen lugar en el servidor:

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

Distribución: los segmentos de video codificados se envían a los dispositivos del cliente a través de Internet cuando los dispositivos del cliente solicitan la transmisión. Por lo general, una red de distribución de contenido (CDN) ayudará a distribuir la transmisión a áreas geográficamente diversas. Una CDN también almacenará en caché la transmisión para hacerla llegar a los clientes aún más rápido.

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

¿Qué es la transmisión de velocidad de bits adaptativa en HLS?

Una de las ventajas que tiene HLS sobre otros protocolos de transmisión es la transmisión de velocidad de bits adaptativa. Esto se refiere a la capacidad de ajustar la calidad del video en medio de una transmisión conforme cambian las condiciones de la red. Esta capacidad permite que los videos se sigan reproduciendo, incluso si las condiciones de la red empeoran. A su vez, también maximiza la calidad de video para que sea lo más alta que soporte la red.

Si la red se ralentiza, el reproductor de video del usuario lo detecta y la transmisión de velocidad de bits adaptativa reduce la calidad de la transmisión para que el video no deje de reproducirse. Si existe más ancho de banda de red disponible, la transmisión de velocidad de bits adaptativa mejora la calidad de la transmisión.

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

¿HLS utiliza TCP o UDP como protocolo de transporte?

TCP y UDP son protocolos de transporte, lo que significa que son responsables de entregar contenido a través de Internet. TCP suele entregar datos de manera más confiable que UDP, pero este último es mucho más rápido, aunque algunos datos se pueden perder en el camino.

Debido a que UDP es más rápido, muchos protocolos de transmisión usan UDP en lugar de TCP. HLS, sin embargo, usa TCP. Esto se debe a varias razones:

  1. HLS está sobre HTTP y el protocolo HTTP está diseñado para usarse con TCP (con algunas excepciones).
  2. El Internet moderno es más confiable y más eficiente de lo que era cuando se desarrolló por primera vez la transmisión. En muchas partes del mundo actual, la conectividad del usuario ha mejorado enormemente, en especial, para las conexiones móviles. Como resultado, los usuarios cuentan con suficiente ancho de banda para soportar la entrega de cada fotograma de video.
  3. La transmisión de velocidad de bits adaptativa ayuda a compensar la entrega de datos potencialmente más lenta de TCP.
  4. La transmisión HLS no necesita ser "en vivo" como es el caso de las conexiones de videoconferencia. Unos segundos adicionales de retraso no afectan la experiencia del usuario como lo haría perder fotogramas de video.

¿Qué otros protocolos se usan comúnmente para la transmisión?

Existen varios protocolos similares a HLS, como MPEG-DASH y HDS, que también se ejecutan a través de HTTP y ofrecen transmisión de velocidad de bits adaptativa. Adobe Flash, que se ejecuta en el protocolo RTMP o HDS, solía ser la tecnología principal utilizada para la transmisión de video; sin embargo, muchos navegadores ya no admiten Flash. RTMP aún está en uso, aunque su soporte está disminuyendo.

¿Cloudflare admite la transmisión en vivo HTTP?

Cloudflare admite HLS tanto para transmisión a pedido como para transmisión en vivo. Cloudflare Stream integra almacenamiento de video, codificación y un reproductor personalizable con la red rápida, segura y confiable de Cloudflare, que abarca 330 ciudades en más de 120 países. Esto permite a los usuarios de todo el mundo recibir transmisiones HLS rápidas y de alta calidad. Obtén más información sobre Cloudflare Stream.