Access-Control-Allow-Origin

Error HLS CORS: Por qué fallan las transmisiones M3U8 en el navegador

Un error HLS CORS ocurre cuando un navegador no puede recuperar el manifiesto M3U8, la clave de cifrado o los segmentos multimedia de otro origen. Es posible que la transmisión aún se reproduzca en VLC porque CORS es una regla del navegador, no una regla de medios. Para probar la transmisión en línea, utilice un origen habilitado para CORS o enrute las solicitudes de HLS a través de un proxy.

Última actualización: June 20, 2026

La reproducción, el historial, los favoritos, los subtítulos y la conversión del navegador permanecen en este dispositivo. Las solicitudes HLS pasan por el proxy solo cuando activa el proxy CORS.

Proxy inteligente CORS

Utilice el proxy Cloudflare Worker para manifiestos, claves y segmentos cuando la reproducción directa del navegador esté bloqueada.

Vista previa del vídeo

Informe de estado del enlace

Analice variantes, tasa de bits, duración del segmento, cifrado y estado en vivo/VOD, luego muestree segmentos de medios en busca de enlaces inactivos. Las comprobaciones de segmentos están limitadas por el navegador CORS, así que habilite el proxy para obtener el resultado más preciso.

Cómo reconocer el fallo CORS

ControlarSíntomaSignificado
Manifiesto bloqueadoLa solicitud .m3u8 falla antes de que comience la reproducción.El origen necesita Access-Control-Allow-Origin o el jugador necesita un proxy.
Llave bloqueadaEl manifiesto se carga, pero falla la reproducción cifrada.La clave AES-128 URL también debe permitir CORS o ruta a través del mismo proxy.
Segmentos bloqueadosLa reproducción comienza, luego se almacena en buffer o se detiene.Cada solicitud de segmento .ts o .m4s necesita la misma ruta CORS.
VLC funciona, el navegador fallaLa reproducción de escritorio funciona pero la reproducción web no.Esto generalmente confirma un problema del navegador CORS, no una transmisión interrumpida.
La verificación previa fallaLos encabezados personalizados desencadenan una solicitud de OPCIONES que el origen rechaza.Evite encabezados innecesarios o configure el proxy/origen para manejar OPCIONES.

Cómo corregir o probar un error HLS CORS

  1. 1

    Compruebe si se carga el manifiesto

    Abra el M3U8 URL o péguelo en el reproductor. Si la solicitud de manifiesto está bloqueada por CORS, la reproducción ni siquiera puede comenzar.

  2. 2

    Comparar con VLC

    Si VLC puede reproducir el mismo URL pero el navegador no, es probable que se pueda acceder a la transmisión y la falla sea el control de acceso del navegador.

  3. 3

    Habilite el proxy inteligente CORS

    Active el proxy para que los manifiestos, las claves de cifrado y los segmentos multimedia viajen a través de una respuesta que el navegador pueda leer.

  4. 4

    Ejecute el informe de salud

    Utilice el validador a través del proxy para comprobar si los segmentos están realmente activos en lugar de simplemente bloqueados por CORS.

  5. 5

    Agregue Referer solo cuando sea necesario

    Si el origen utiliza protección de enlace directo, configure la página original URL como Referer. No agregue encabezados personalizados a menos que el origen los requiera.

Por qué HLS necesita CORS en más de un URL

Un reproductor HLS no recupera un solo archivo. Obtiene un manifiesto maestro, una o más listas de reproducción multimedia, claves de cifrado para transmisiones AES-128 y muchos segmentos URL. Un solo encabezado CORS faltante en cualquiera de esos recursos puede interrumpir la reproducción, por lo que probar solo la primera respuesta .m3u8 no es suficiente.

¿Qué debería hacer Access-Control-Allow-Origin?

Para transmisiones públicas, el origen puede enviar Access-Control-Allow-Origin para el sitio que aloja al reproductor o usar un comodín cuando no se trata de credenciales. Para transmisiones privadas, mantenga el origen bloqueado y utilice un punto final proxy controlado para realizar pruebas. Evite mezclar URL directos y proxy en la misma sesión de HLS.

Por qué un proxy es útil para depurar

Un proxy permite que el navegador solicite activos HLS de su propio origen permitido, mientras que el proxy recupera los URL reales del manifiesto, la clave y el segmento. Eso hace posible saber si una transmisión está interrumpida o simplemente bloqueada por la política del navegador. También le brinda un lugar para agregar Referer o User-Agent cuando el origen los requiera.

Preguntas frecuentes

¿Qué causa un error HLS CORS?

Se produce un error HLS CORS cuando el navegador no puede leer el manifiesto M3U8, la clave de cifrado o los segmentos multimedia porque el origen no permitió el acceso entre orígenes. VLC aún puede reproducir la transmisión porque los navegadores aplican CORS.

¿Por qué mi transmisión M3U8 se reproduce en VLC pero no en Chrome?

VLC no está restringido por las comprobaciones del navegador CORS. Si VLC funciona y Chrome falla, generalmente se puede acceder a la transmisión, pero el navegador no puede leer una o más solicitudes de HLS sin los encabezados de CORS o un proxy.

¿Puede un proxy CORS arreglar la reproducción de M3U8?

Sí, para probar y depurar. El proxy debe enrutar el manifiesto, las listas de reproducción multimedia, las claves y los segmentos para que cada solicitud HLS provenga de un origen que el navegador pueda leer.

¿Los segmentos HLS necesitan encabezados CORS?

Sí. El navegador debe poder leer el manifiesto, las listas de reproducción secundarias, las claves y cada segmento multimedia. Una transmisión puede fallar incluso si el archivo .m3u8 de nivel superior tiene encabezados CORS correctos.

¿Es esto lo mismo que la protección de hotlinks?

No. CORS es una regla de acceso al navegador. La protección de Hotlink es una regla de origen que puede requerir un Referer o User-Agent específico. Algunas transmisiones tienen ambos problemas, por lo que es posible que necesites un proxy más un Referer coincidente.