¿Qué es un archivo MPD?

Un archivo MPD es un manifiesto XML de descripción de presentación multimedia utilizado por MPEG-DASH. Describe las variantes disponibles, las ubicaciones de los segmentos, la temporización y la información necesaria para la reproducción adaptativa.

Cómo funcionan los archivos MPD

Un MPD es el documento de control de una presentación DASH. No contiene datos multimedia: es un XML que hace referencia a segmentos de inicialización y multimedia almacenados en otra ubicación, y se sirve con el tipo de medio application/dash+xml. Sus elementos organizan la presentación en períodos consecutivos, conjuntos de adaptación y variantes individuales, y expresan la temporización, el direccionamiento de segmentos y los metadatos de selección. Un cliente combina esa descripción con mediciones de red y restricciones de reproducción para elegir una variante y solicitar sus segmentos. Para el contenido bajo demanda, el documento se escribe una sola vez; para un servicio en directo, el empaquetador puede volver a publicarlo a medida que aparecen segmentos nuevos, y el propio documento indica a los clientes si deben obtenerlo de nuevo y cuándo.

Datos clave

  1. Un MPD anida Period, AdaptationSet y Representation. Un período es un intervalo de la línea de tiempo de la presentación, y las variantes de un mismo conjunto de adaptación son distintas codificaciones del mismo contenido entre las que un cliente puede alternar. Cada Representation debe declarar un bandwidth, que es el valor que los clientes comparan con la tasa de transferencia medida.
  2. Los segmentos se direccionan mediante SegmentBase, SegmentList o SegmentTemplate. Un SegmentTemplate con un SegmentTimeline define el inicio y la duración exactos de cada segmento, expresados de forma compacta como entradas S con una duración, un tiempo de inicio opcional y un número de repeticiones, mientras que una plantilla que solo incluye duration indica un promedio, por lo que los tiempos reales de los segmentos pueden diferir de las posiciones calculadas. Las directrices de interoperabilidad de DASH-IF definen modos de direccionamiento únicamente con SegmentBase y SegmentTemplate y prohíben los demás, por lo que excluyen SegmentList. Recomiendan esa forma basada en una línea de tiempo para el contenido generado sobre la marcha, y esa misma forma o SegmentBase con un segmento de índice para el contenido preparado de antemano. También exigen un solo modo de direccionamiento por conjunto de adaptación y referencias a segmentos sin huecos ni superposiciones.
  3. El atributo type tiene el valor predeterminado static. En un MPD dynamic, la línea de tiempo se vincula a la hora del reloj mediante availabilityStartTime, por lo que los segmentos pasan a estar disponibles a medida que transcurre el tiempo; si se establece timeShiftBufferDepth, los segmentos más antiguos también salen de una ventana móvil de disponibilidad. Los relojes del cliente y del servicio deben estar sincronizados: las directrices de DASH-IF exigen que un MPD dinámico contenga al menos un elemento UTCTiming, porque un cliente con el reloj desajustado solicita segmentos que todavía no están disponibles o que ya no lo están.
  4. minimumUpdatePeriod informa a los clientes sobre la actualización: si no está presente, el MPD nunca cambiará; un valor distinto de cero indica cuánto tiempo sigue siendo válida una instantánea descargada, y cero significa que un cliente debe obtener un nuevo MPD cada vez que quiera segmentos más recientes. Los clientes que procesan los eventos opcionales de validez del MPD en banda los utilizan para determinar la validez de la instantánea en lugar de un valor distinto de cero o igual a cero. La validez se cuenta desde que el cliente inicia la descarga, no desde la publicación, por lo que una copia que haya permanecido en la caché de una CDN sigue siendo válida durante todo el período después de obtenerla. Por tanto, el almacenamiento en caché prolonga el tiempo durante el que se utilizan instantáneas antiguas: al determinar qué segmentos puede eliminar un servicio en vivo, DASH-IF suma el retraso hasta que un nuevo MPD llega a los clientes en el borde de la CDN.

Cuándo son importantes los archivos MPD

Todo paquete MPEG-DASH requiere un MPD, incluso si ofrece una sola variante; DASH suele elegirse cuando los clientes deben seleccionar entre variantes de tasa de bits, resolución, idioma o accesibilidad. Las líneas de tiempo o referencias a segmentos incorrectas pueden provocar interrupciones, pistas ausentes o fallos al cambiar de calidad.

Cómo ayuda Transloadit con los archivos MPD

El Robot /video/adaptive de Transloadit codifica video en formatos de streaming adaptativo y genera el manifiesto. Su parámetro technique tiene como valor predeterminado dash, en cuyo caso el manifiesto se escribe como playlist.mpd a menos que playlist_name indique lo contrario; con cmaf produce tanto un manifiesto MPEG-DASH como una lista de reproducción HLS que hacen referencia a los mismos segmentos fMP4.

Explora los formatos de archivo y las capacidades de compresión de Transloadit

Fuentes

Convierte tus conocimientos sobre multimedia en un pipeline funcional

Conecta las subidas, el procesamiento, la IA, el almacenamiento y la entrega mediante una sola API declarativa, mientras nos encargamos por ti del stack de encoding, el escalado y los cambios constantes de formatos.

Prueba Transloadit gratis