Reproductor M3U8
Pega un enlace HLS (.m3u8) y pulsa Reproducir transmisión. El reproductor muestra cada nivel de calidad con su resolución, bitrate y códecs, te dice si la transmisión es en directo o bajo demanda y explica con palabras sencillas por qué una transmisión no carga.
Última actualización:
Consejo: elige el archivo .m3u8 junto con sus archivos de segmentos .ts o .m4s para reproducir sin conexión una carpeta HLS descargada. No se sube nada.
Info de la transmisión
Registro de eventos
Cómo usar Reproductor M3U8
- Pega la dirección .m3u8 en el cuadro URL de la transmisión o pulsa una de las transmisiones de prueba.
- Pulsa Reproducir transmisión. Se lee la lista de reproducción y empieza el vídeo; el panel Info de la transmisión muestra cada nivel de calidad.
- Elige una calidad en el menú para fijar una resolución, o déjalo en Automático para adaptarse a tu conexión.
- Observa las estadísticas en vivo bajo el reproductor para comprobar el búfer, el bitrate y los fotogramas perdidos.
- Si falla, lee el cuadro de explicación: te dice si la causa es CORS, un enlace caducado, una dirección incorrecta o un códec no compatible.
- ¿Tienes un archivo de lista de reproducción? Abre la pestaña Pegar o abrir lista para comprobar su contenido, o selecciónalo junto con sus archivos de segmentos para reproducirlo sin conexión.
Cómo funciona el streaming HLS
HTTP Live Streaming divide un vídeo en archivos cortos, normalmente de 2 a 10 segundos, y los describe en listas de reproducción M3U8 de texto plano. Una lista maestra apunta a varias versiones del mismo vídeo con distintas resoluciones y bitrates. El reproductor mide la velocidad a la que se descargan los segmentos y sube o baja entre versiones, lo que se llama streaming con bitrate adaptativo. Como todo son archivos HTTP normales, HLS funciona con cualquier servidor web o CDN.
Una lista maestra mínima tiene este aspecto:
#EXTM3U #EXT-X-STREAM-INF:BANDWIDTH=3000000,RESOLUTION=1280x720,CODECS="avc1.64001f,mp4a.40.2" 720p/index.m3u8 #EXT-X-STREAM-INF:BANDWIDTH=800000,RESOLUTION=640x360,CODECS="avc1.42c01e,mp4a.40.2" 360p/index.m3u8
Etiquetas M3U8 habituales
| Etiqueta | Dónde | Significado |
|---|---|---|
#EXTM3U | Primera línea | Marca el archivo como lista de reproducción M3U extendida. Obligatoria. |
#EXT-X-STREAM-INF | Maestra | Un nivel de calidad: BANDWIDTH (bits por segundo máximos), AVERAGE-BANDWIDTH, RESOLUTION, CODECS, FRAME-RATE. La línea siguiente es la URL de su lista. |
#EXT-X-MEDIA | Maestra | Pistas de audio alternativas, subtítulos o subtítulos ocultos, con NAME y LANGUAGE. |
#EXT-X-TARGETDURATION | Multimedia | La duración del segmento más largo, en segundos enteros. Los reproductores en directo actualizan la lista aproximadamente con esta frecuencia. |
#EXTINF | Multimedia | Duración del segmento de la línea siguiente, en segundos. |
#EXT-X-MEDIA-SEQUENCE | Multimedia | Número del primer segmento. Sigue aumentando en una transmisión en directo a medida que se descartan los segmentos antiguos. |
#EXT-X-ENDLIST | Multimedia | No se añadirán más segmentos: la transmisión es VOD o un evento terminado. |
#EXT-X-PLAYLIST-TYPE | Multimedia | VOD (nunca cambia) o EVENT (en directo, solo se añaden segmentos). |
#EXT-X-KEY | Multimedia | Cifrado: METHOD=AES-128 o SAMPLE-AES más la URI de la clave. |
#EXT-X-MAP | Multimedia | Segmento de inicialización, usado por transmisiones MP4 fragmentadas (CMAF). |
#EXT-X-PART | Multimedia | Segmento parcial para HLS de baja latencia (Low-Latency HLS). |
Escalera de bitrates típica
Los servicios de streaming eligen sus propias escaleras, pero estos valores para H.264 a 30 fps son un punto de partida habitual. Más fotogramas por segundo y un contenido más detallado necesitan más; HEVC y AV1 necesitan aproximadamente entre un 30 y un 50 por ciento menos para una calidad similar.
| Versión | Resolución | Bitrate de vídeo | Datos por hora |
|---|---|---|---|
| 240p | 426 × 240 | 0.4 Mbps | unos 0.18 GB |
| 360p | 640 × 360 | 0.8 Mbps | unos 0.36 GB |
| 480p | 854 × 480 | 1.4 Mbps | unos 0.63 GB |
| 720p | 1280 × 720 | 3 Mbps | unos 1.35 GB |
| 1080p | 1920 × 1080 | 5 a 6 Mbps | unos 2.3 a 2.7 GB |
| 4K | 3840 × 2160 | 15 a 20 Mbps | unos 6.8 a 9 GB |
Datos por hora = bitrate en Mbps × 3,600 ÷ 8 ÷ 1,000 GB. Para una reproducción fluida, tu conexión debe ser al menos 1.5 veces el bitrate del nivel que quieres.
Lista de solución de problemas
- Error de CORS: el servidor debe responder con
Access-Control-Allow-Origin. Compruébalo con un probador de CORS o reproduce la transmisión en VLC. - 403 Forbidden: los enlaces firmados caducan, a menudo tras minutos u horas. Copia un enlace nuevo del sitio original.
- Se reproduce sin imagen: este navegador no es compatible con el códec de vídeo (a menudo HEVC); puede que el audio sí se reproduzca.
- Se detiene cada pocos segundos: revisa el búfer y tu ancho de banda en las estadísticas. Elige una calidad menor si tu ancho de banda está cerca del bitrate del nivel.
- Falla un enlace http://: las páginas seguras no pueden cargar transmisiones inseguras. Prueba con https://.
Preguntas frecuentes
¿Qué es un archivo M3U8?
Un archivo M3U8 es una lista de reproducción de texto en UTF-8 que usa HTTP Live Streaming (HLS), el formato de streaming definido por Apple en el RFC 8216. No contiene vídeo en sí: enumera segmentos multimedia cortos o, en una lista maestra, varias versiones de la misma transmisión con distintas resoluciones y bitrates.
¿Por qué la transmisión se reproduce en VLC pero no en mi navegador?
Las páginas web están sujetas a CORS: el servidor que aloja la transmisión debe enviar una cabecera Access-Control-Allow-Origin que permita a otros sitios web leerla. Los reproductores de escritorio como VLC y ffmpeg ignoran CORS, así que pueden reproducir transmisiones que un navegador no puede cargar. Los enlaces firmados caducados y las transmisiones que comprueban el Referer también fallan fuera de su propio sitio.
¿Cuál es la diferencia entre una lista maestra y una lista multimedia?
Una lista maestra (multivariante) enumera los niveles de calidad disponibles con líneas #EXT-X-STREAM-INF, cada una con un ancho de banda, una resolución y unos códecs. Una lista multimedia enumera los segmentos reales con duraciones #EXTINF. El reproductor lee la maestra, elige un nivel adecuado para tu conexión y luego sigue la lista multimedia de ese nivel.
¿Cómo sé si una transmisión es en directo?
Una lista de vídeo bajo demanda termina con #EXT-X-ENDLIST o declara #EXT-X-PLAYLIST-TYPE:VOD. Una lista en directo no tiene etiqueta final y se actualiza cada pocos segundos con segmentos nuevos; una lista EVENT es en directo pero conserva todos los segmentos anteriores para que puedas retroceder hasta el inicio.
¿Qué significan cadenas de códec como avc1.640028 y mp4a.40.2?
Siguen el RFC 6381. avc1.640028 es H.264 perfil High (64) en el nivel 4.0 (hex 28 = 40), que cubre 1080p. mp4a.40.2 es audio AAC-LC, mp4a.40.5 es HE-AAC, hvc1 o hev1 es H.265/HEVC y av01 es AV1. El reproductor los traduce a nombres legibles.
¿Puede reproducir transmisiones cifradas o con DRM?
Las transmisiones cifradas con AES-128 se reproducen si el servidor de claves permite que tu navegador obtenga la clave. Las protegidas con DRM como Widevine o FairPlay necesitan un servidor de licencias y no se pueden reproducir desde un enlace simple en ningún reproductor genérico.
¿Se sube o se graba algo?
No. Tu navegador solicita la transmisión directamente a su servidor, y los archivos de lista de reproducción que abres se leen localmente. La página no tiene ningún componente en el servidor y solo guarda tus URL recientes en tu propio navegador para mayor comodidad.
¿Se prueban todas las herramientas de FreeToolCabin para comprobar su calidad y precisión?
Sí. Cada herramienta del sitio pasa pruebas automáticas en navegadores reales para comprobar que el resultado es correcto y que no hay errores. Si encuentras un fallo o tienes una sugerencia, escríbenos a [email protected] y lo revisaremos.