Qu’est-ce qu’un fichier MPD ?
Un fichier MPD est un manifeste XML Media Presentation Description utilisé par MPEG-DASH. Il décrit les représentations disponibles, les emplacements des segments, la temporisation et les informations nécessaires à la lecture adaptative.
Fonctionnement des fichiers MPD
Un MPD est le document de contrôle d’une présentation DASH. Il ne contient lui-même aucune donnée multimédia : c’est un document XML qui fait référence à des segments d’initialisation et multimédias stockés ailleurs, et il est servi avec le type de média application/dash+xml. Ses éléments structurent la présentation en périodes consécutives, en ensembles d’adaptation et en représentations individuelles, et expriment la temporisation, l’adressage des segments et les métadonnées de sélection. Un client combine cette description avec les mesures du réseau et les contraintes de lecture pour choisir une représentation et demander ses segments. Pour du contenu à la demande, le document est écrit une seule fois ; pour un service en direct, l’outil de conditionnement peut le republier à mesure que de nouveaux segments apparaissent, et le document lui-même indique aux clients s’ils doivent le récupérer à nouveau et quand.
Points clés
- Un MPD imbrique
Period,AdaptationSetetRepresentation. Une période est une portion de la chronologie de la présentation, et les représentations d’un même ensemble d’adaptation sont différents encodages du même contenu entre lesquels un client peut basculer. ChaqueRepresentationdoit déclarer un attributbandwidth, dont la valeur est comparée par les clients au débit mesuré. - Les segments sont adressés au moyen de
SegmentBase, deSegmentListou deSegmentTemplate. Un élémentSegmentTemplatedoté d’un élémentSegmentTimelinedéfinit le début et la durée exacts de chaque segment, exprimés de manière compacte sous forme d’entréesSavec une durée, un temps de début facultatif et un nombre de répétitions, tandis qu’un modèle doté uniquement dedurationindique une moyenne ; la temporisation réelle des segments peut donc s’écarter des positions calculées. Les directives d’interopérabilité DASH-IF définissent des modes d’adressage uniquement avecSegmentBaseetSegmentTemplateet interdisent les autres, excluant ainsiSegmentList. Elles recommandent cette forme chronologique pour le contenu généré à la volée, et soit cette forme, soitSegmentBaseavec un segment d’index pour le contenu préparé à l’avance. Elles exigent également un seul mode d’adressage par ensemble d’adaptation et des références de segments sans lacunes ni chevauchements. - L’attribut
typea pour valeur par défautstatic. Dans un MPDdynamic, la chronologie est ancrée dans l’heure réelle paravailabilityStartTime, de sorte que les segments deviennent disponibles au fil du temps ; sitimeShiftBufferDepthest défini, les segments plus anciens sortent également d’une fenêtre de disponibilité glissante. Les horloges du client et du service doivent être synchronisées : les directives DASH-IF exigent qu’un MPD dynamique contienne au moins un élémentUTCTiming, car un client dont l’horloge est décalée demande des segments qui ne sont pas encore disponibles ou ne le sont plus. minimumUpdatePeriodrenseigne les clients sur l’actualisation : en son absence, le MPD ne changera jamais ; une valeur non nulle indique la durée de validité d’un instantané téléchargé, et zéro signifie qu’un client doit récupérer un nouveau MPD chaque fois qu’il souhaite obtenir des segments plus récents. Les clients qui traitent les événements facultatifs de validité du MPD transmis dans le flux utilisent ces événements pour déterminer la validité de l’instantané, à la place d’une valeur non nulle ou nulle. La validité est comptée à partir du début du téléchargement par le client, et non de la publication ; une copie ayant attendu dans un cache CDN reste donc valide pendant toute la période après sa récupération. La mise en cache prolonge ainsi la durée d’utilisation des anciens instantanés : pour déterminer les segments qu’un service en direct peut supprimer, DASH-IF ajoute le délai nécessaire pour qu’un nouveau MPD atteigne les clients en périphérie du CDN.
Quand les fichiers MPD sont utiles
Tout ensemble MPEG-DASH nécessite un MPD, même s’il ne propose qu’une seule représentation ; DASH lui-même est généralement choisi lorsque les clients doivent sélectionner des variantes de débit, de résolution, de langue ou d’accessibilité. Des chronologies ou des références de segments incorrectes peuvent provoquer des interruptions de lecture, des pistes manquantes ou des échecs de changement de qualité.
Comment Transloadit vous aide avec les fichiers MPD
Le Robot /video/adaptive de Transloadit encode la vidéo dans des formats de streaming adaptatif et génère le manifeste. Son paramètre technique a pour valeur par défaut dash, auquel cas le manifeste est écrit sous le nom playlist.mpd, sauf indication contraire de playlist_name ; avec cmaf, il produit à la fois un manifeste MPEG-DASH et une liste de lecture HLS qui font référence aux mêmes segments fMP4.
Explorer les possibilités de Transloadit en matière de formats de fichiers et de compression