Was ist eine MPD-Datei?
Eine MPD-Datei ist ein XML-Manifest zur Beschreibung einer Medienpräsentation (Media Presentation Description). MPEG-DASH verwendet dieses Manifest. Es beschreibt verfügbare Repräsentationen, Speicherorte der Segmente, Zeitangaben und Informationen für die adaptive Wiedergabe.
So funktionieren MPD-Dateien
Eine MPD ist das Steuerdokument einer DASH-Präsentation. Sie enthält selbst keine Medien, sondern besteht aus XML, das auf Initialisierungs- und Mediensegmente an anderen Speicherorten verweist, und wird mit dem Medientyp application/dash+xml ausgeliefert. Ihre Elemente gliedern die Präsentation in aufeinanderfolgende Perioden, Adaptation Sets und einzelne Repräsentationen und beschreiben Zeitangaben, Segmentadressierung und Auswahlmetadaten. Ein Client kombiniert diese Beschreibung mit Netzwerkmessungen und Wiedergabebeschränkungen, um eine Repräsentation auszuwählen und ihre Segmente anzufordern. Für On-Demand-Inhalte wird das Dokument einmal geschrieben. Bei einem Live-Dienst kann der Packager es erneut veröffentlichen, sobald neue Segmente erscheinen. Das Dokument selbst teilt den Clients mit, ob und wann sie es erneut abrufen sollen.
Wichtige Fakten
- Eine MPD verschachtelt
Period,AdaptationSetundRepresentation. Eine Periode ist ein Abschnitt der Präsentationszeitleiste. Die Repräsentationen innerhalb eines Adaptation Sets sind unterschiedliche Encodings desselben Inhalts, zwischen denen ein Client wechseln kann. Jedes ElementRepresentationmussbandwidthangeben. Diesen Wert wägen Clients gegen den gemessenen Datendurchsatz ab. - Segmente werden über
SegmentBase,SegmentListoderSegmentTemplateadressiert. Ein ElementSegmentTemplatemitSegmentTimelinedefiniert den genauen Beginn und die Dauer jedes Segments, kompakt dargestellt durch Einträge vom TypSmit einer Dauer, einer optionalen Startzeit und einer Wiederholungsanzahl. Ein Template mit lediglichdurationgibt dagegen einen Durchschnitt an, sodass die tatsächlichen Segmentzeiten von den berechneten Positionen abweichen können. Die DASH-IF-Interoperabilitätsrichtlinien definieren Adressierungsmodi nur mitSegmentBaseundSegmentTemplateund verbieten andere, schließen alsoSegmentListaus. Für Inhalte, die während des laufenden Betriebs erzeugt werden, empfehlen sie diese Zeitleistenform. Für vorab vorbereitete Inhalte empfehlen sie entweder diese Form oderSegmentBasemit einem Indexsegment. Außerdem verlangen sie einen einzigen Adressierungsmodus pro Adaptation Set und Segmentverweise ohne Lücken oder Überlappungen. - Das Attribut
typehat den Standardwertstatic. In einer MPD vom TypdynamicverankertavailabilityStartTimedie Zeitleiste in der Uhrzeit, sodass Segmente im Laufe der Zeit verfügbar werden. IsttimeShiftBufferDepthgesetzt, fallen ältere Segmente zugleich aus einem gleitenden Verfügbarkeitsfenster heraus. Die Uhren von Client und Dienst müssen übereinstimmen: Die DASH-IF-Richtlinien verlangen in einer dynamischen MPD mindestens ein ElementUTCTiming, da ein Client mit abweichender Uhrzeit Segmente anfordert, die noch nicht oder nicht mehr verfügbar sind. minimumUpdatePeriodinformiert Clients über die Aktualisierung: Fehlt die Angabe, ändert sich die MPD niemals. Ein Wert ungleich null gibt an, wie lange eine heruntergeladene Momentaufnahme gültig bleibt. Null bedeutet, dass ein Client eine neue MPD abrufen muss, sobald er neuere Segmente benötigt. Clients, die optionale In-Band-Ereignisse zur MPD-Gültigkeit verarbeiten, verwenden diese anstelle des Werts ungleich null oder null, um die Gültigkeit der Momentaufnahme zu bestimmen. Die Gültigkeitsdauer zählt ab dem Beginn des Downloads durch den Client, nicht ab der Veröffentlichung. Eine Kopie, die in einem CDN-Cache gewartet hat, bleibt daher nach dem Abruf noch für den gesamten Zeitraum gültig. Caching verlängert somit die Nutzung alter Momentaufnahmen: Bei der Entscheidung, welche Segmente ein Live-Dienst entfernen darf, berücksichtigt DASH-IF zusätzlich die Verzögerung, bis eine neue MPD die Clients am CDN-Edge erreicht.
Wann MPD-Dateien relevant sind
Jedes MPEG-DASH-Paket benötigt eine MPD, auch wenn es nur eine einzige Repräsentation anbietet. DASH selbst wird meist gewählt, wenn Clients zwischen Varianten mit unterschiedlichen Bitraten, Auflösungen, Sprachen oder Barrierefreiheitsmerkmalen auswählen müssen. Fehlerhafte Zeitleisten oder Segmentverweise können Wiedergabestopps, fehlende Spuren oder fehlgeschlagene Qualitätswechsel verursachen.
So hilft Transloadit bei MPD-Dateien
Transloadits Robot /video/adaptive codiert Videos in adaptive Streamingformate und erzeugt das Manifest. Sein Parameter technique hat den Standardwert dash. In diesem Fall wird das Manifest als playlist.mpd geschrieben, sofern playlist_name nichts anderes vorgibt. Mit cmaf erzeugt er sowohl ein MPEG-DASH-Manifest als auch eine HLS-Playlist, die auf dieselben fMP4-Segmente verweisen.
Entdecken Sie Transloadits Möglichkeiten für Dateiformate & Komprimierung