Manifiesto
El archivo índice que el reproductor lee primero: el mapa de todas las calidades y segmentos que hace posible el streaming adaptativo.
Un manifiesto es un archivo de texto diminuto, .m3u8 en HLS o .mpd en DASH, que enumera todas las calidades y segmentos de un vídeo. Le dice al reproductor qué puede descargar y en qué orden.
¿Qué es un manifiesto?
Un manifiesto es un archivo índice pequeño que describe un vídeo en streaming: enumera todas las calidades disponibles y las URL de los segmentos cortos que forman cada una. Cuando un reproductor inicia un stream adaptativo, el manifiesto es lo primero que descarga: es el mapa con el que decide qué pedir.
Funciona como el índice del vídeo. Las imágenes están repartidas en decenas o cientos de segmentos pequeños; el manifiesto es el archivo de texto ligero que le dice al reproductor que existen, qué calidad tiene cada uno y en qué orden reproducirlos. Suele ocupar unos pocos kilobytes, casi nada al lado del vídeo, pero sin él no se reproduce nada.
El manifiesto presenta todas las alternativas de antemano, así que el reproductor puede pasar a una calidad mayor o menor al final de cualquier segmento, según el ancho de banda que mida. Sin manifiesto no hay mapa ni forma de adaptar la calidad durante la reproducción.
Formatos de manifiesto
Cada protocolo de streaming tiene su propio formato de manifiesto, pero todos describen lo mismo.
| Formato | Protocolo | Tipo | Estructura |
|---|---|---|---|
.m3u8 | HLS | Texto plano | Lista maestra → listas de medios por calidad |
.mpd | DASH | XML | Una sola Media Presentation Description |
Las configuraciones actuales suelen generar los dos a partir de los mismos segmentos para cubrir todos los dispositivos: HLS para Apple, DASH para el resto y para el DRM.
Qué hay dentro de un manifiesto
Un stream HLS usa dos niveles de manifiesto, y esa división explica cómo funciona el cambio adaptativo de calidad.
Enumera cada calidad una vez, con su ancho de banda (el bitrate que el reproductor necesita para mantenerla), su resolución y sus códecs. Es el menú del que elige el reproductor, y también puede apuntar a pistas de audio y de subtítulos alternativas.
Hay una por calidad. Enumera los segmentos de esa calidad en orden, cada uno con su duración exacta, además de la duración objetivo de los segmentos y, en los streams cifrados, un enlace a la clave de descifrado. Es el mapa que sigue el reproductor una vez elegida la calidad.
El flujo es este: descargar la maestra → elegir la calidad que encaja con el ancho de banda actual → descargar la lista de medios de esa calidad → descargar sus segmentos → y, cuando cambia el ancho de banda, saltar a la lista de medios de otra calidad en el siguiente segmento. Todo se basa en los números que expone el manifiesto.
Manifiestos en directo y VoD
| Aspecto | Manifiesto VoD | Manifiesto en directo |
|---|---|---|
| Lista de segmentos | Completa y fija | Crece a medida que se generan segmentos |
| Marca de fin | #EXT-X-ENDLIST presente | Ausente: la emisión continúa |
| Comportamiento del reproductor | Lo lee una vez | Lo vuelve a descargar para encontrar segmentos nuevos |
En un directo, el reproductor relee el manifiesto una y otra vez para encontrar los últimos segmentos; en el VoD basta con una lectura, porque la marca de fin le indica que el vídeo está completo.
Para saber más
- Apple — HTTP Live Streaming: la especificación de las listas de reproducción HLS.
- M3U / M3U8 — Wikipedia: contexto sobre el formato de lista de reproducción.
Sigue leyendo
HLS (HTTP Live Streaming)
El protocolo de streaming adaptativo de Apple. Usa manifiestos .m3u8 y entrega por segmentos; funciona en cualquier navegador,…
Leer →DASH
Dynamic Adaptive Streaming over HTTP: un estándar ISO abierto con manifiestos .mpd, habitual en contenido premium protegido con…
Leer →Bitrate adaptativo (ABR)
Ajusta la calidad del vídeo en tiempo real a la conexión de cada espectador: reproducción fluida de 480p a 4K, sin cortes por…
Leer →