Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
DASH MPD-Beispiele
In den folgenden Abschnitten finden Sie Beispiele für die Herkunft MPDs und Personalisierung MPDs von DASH. Wenn Sie diese Beispiele verstehen, können Sie Ihre MediaTailor Workflows konfigurieren und Fehler beheben.
Informationen darüber, wie Abfrageparameter auf DASH-Manifeste und -Segmente angewendet werden, finden Sie unterMediaTailorImplizite Initialisierung der DASH-Sitzung.
Grundlegendes zur DASH-MPD-Struktur
Dynamic Adaptive Streaming over HTTP (DASH) verwendet ein MPD-Manifest (Media Presentation Description), um Streaming-Inhalte bereitzustellen. Das MPD ist ein XML-Dokument, das die Struktur und Verfügbarkeit von Medieninhalten beschreibt.
- MPD (Beschreibung der Medienpräsentation)
-
Die MPD ist die primäre Manifestdatei beim DASH-Streaming, die die Struktur und Verfügbarkeit von Medieninhalten beschreibt. Sie enthält Informationen über Zeiträume, Adaptionssätze, Repräsentationen und Segmente, aus denen sich die Streaming-Inhalte zusammensetzen.
Dieser Manifesttyp ist in verschiedenen Kontexten auch unter verschiedenen anderen Namen bekannt, darunter DASH-Manifest, DASH-MPD, Master-Manifest (im Vergleich zu HLS) oder Präsentationsmanifest.
In MediaTailor Workflows ist die MPD der Einstiegspunkt für Wiedergabeanfragen und der Ausgangspunkt für die Personalisierung von Anzeigen.
- Intervall
-
Eine Periode ist ein zeitlicher Abschnitt einer DASH-Präsentation. Jede Periode enthält ein oder mehrere Adaptionssets und steht für einen Zeitraum der Medienzeit. In Workflows zum Einfügen von Anzeigen werden in der Regel separate Perioden verwendet, um zwischen Inhalten und Anzeigen zu unterscheiden.
In MediaTailor Workflows werden Perioden verwendet, um den Hauptinhalt vom Anzeigeninhalt zu trennen, wobei jede Anzeige in der Regel durch einen eigenen Zeitraum dargestellt wird.
- AdaptationSet
-
Eine AdaptationSet Gruppe von austauschbaren codierten Versionen einer oder mehrerer Medieninhaltskomponenten gruppiert. Eine AdaptationSet kann beispielsweise mehrere Videoqualitätsstufen enthalten, während eine andere mehrere Audiosprachenoptionen enthalten kann.
In MediaTailor Workflows AdaptationSets werden diese beim Einfügen von Anzeigen beibehalten, um konsistente Medientypen zwischen Inhalten und Anzeigen zu gewährleisten.
- Darstellung
-
Eine Darstellung ist eine bestimmte kodierte Version des Medieninhalts innerhalb eines AdaptationSet. Jede Darstellung unterscheidet sich in der Regel in der Bitrate, Auflösung oder anderen Kodierungsparametern, sodass Kunden je nach Netzwerkbedingungen und Gerätefunktionen die am besten geeignete Version auswählen können.
In MediaTailor Workflows werden Darstellungen in Anzeigenperioden so genau wie möglich mit den Darstellungen in Inhaltsperioden abgeglichen, um ein reibungsloses Seherlebnis zu gewährleisten.
Ausführlichere Informationen zu DASH-Manifesttypen finden Sie unterDASH-Manifesttypen.
Live-Beispiele für DASH MPD
Dieser Abschnitt enthält Beispiele für Live-DASH MPDs. In jedem Beispiel wird eine MPD so aufgeführt, wie sie vom Ursprungsserver empfangen wurde. Danach MediaTailor wurde die MPD mit Werbung personalisiert.
Beispiel für das Einfügen eines DASH-MPD-Spleißes
Beispiel für MPD mit Ursprung in DASH für das Einfügen von Spleißverbindungen
Das folgende Beispiel aus einer MPD zeigt eine verfügbare Anzeige in einem Manifest, das DASH von der Quelle des Inhalts erhalten hat. In diesem Beispiel wird die SpliceInsert
Markierung verwendet, um darauf hinzuweisen, dass eine Anzeige verfügbar ist.
<Period start="PT173402.036S" id="46041"> <EventStream timescale="90000" schemeIdUri="urn:scte:scte35:2013:xml"> <Event duration="9450000"> <scte35:SpliceInfoSection protocolVersion="0" ptsAdjustment="183265" tier="4095"> <scte35:SpliceInsert spliceEventId="99" spliceEventCancelIndicator="false" outOfNetworkIndicator="true" spliceImmediateFlag="false" uniqueProgramId="1" availNum="1" availsExpected="1"> <scte35:Program><scte35:SpliceTime ptsTime="7835775000"/></scte35:Program> <scte35:BreakDuration autoReturn="true" duration="9450000"/> </scte35:SpliceInsert> <scte35:SegmentationDescriptor segmentationEventId="99" segmentationEventCancelIndicator="false" segmentationDuration="9450000"> <scte35:DeliveryRestrictions webDeliveryAllowedFlag="true" noRegionalBlackoutFlag="true" archiveAllowedFlag="true" deviceRestrictions="3"/> <scte35:SegmentationUpid segmentationUpidType="8" segmentationUpidLength="0"/> <scte35:SegmentationTypeID segmentationType="52"/> <scte35:SegmentNum segmentNum="1"/> <scte35:SegmentsExpected segmentsExpected="1"/> </scte35:SegmentationDescriptor> </scte35:SpliceInfoSection> </Event> </EventStream> <AdaptationSet mimeType="video/mp4" segmentAlignment="true" subsegmentAlignment="true" startWithSAP="1" subsegmentStartsWithSAP="1" bitstreamSwitching="true"> <Representation id="1" width="960" height="540" frameRate="30000/1001" bandwidth="1000000" codecs="avc1.4D401F"> <SegmentTemplate timescale="30000" media="index_video_1_0_$Number$.mp4?m=1528475245" initialization="index_video_1_0_init.mp4?m=1528475245" startNumber="178444" presentationTimeOffset="10395907501"> <SegmentTimeline> <S t="10395907501" d="60060" r="29"/> <S t="10397709301" d="45045"/> </SegmentTimeline> </SegmentTemplate> </Representation> </AdaptationSet> <AdaptationSet mimeType="audio/mp4" segmentAlignment="0" lang="eng"> <Representation id="2" bandwidth="96964" audioSamplingRate="48000" codecs="mp4a.40.2"> <SegmentTemplate timescale="48000" media="index_audio_2_0_$Number$.mp4?m=1528475245" initialization="index_audio_2_0_init.mp4?m=1528475245" startNumber="178444" presentationTimeOffset="16633452001"> <SegmentTimeline> <S t="16633452289" d="96256" r="3"/> <S t="16633837313" d="95232"/> <S t="16633932545" d="96256" r="4"/> <S t="16634413825" d="95232"/> <S t="16634509057" d="96256" r="5"/> <S t="16635086593" d="95232"/> <S t="16635181825" d="96256" r="4"/> <S t="16635663105" d="95232"/> <S t="16635758337" d="96256" r="5"/> <S t="16636335873" d="71680"/> </SegmentTimeline> </SegmentTemplate> </Representation> </AdaptationSet> </Period>
In diesem Origin-MPD-Beispiel:
-
Das
<EventStream>
Element enthält SCTE-35-Markierungen, die auf Anzeigenverfügbarkeit hinweisen -
Das
<scte35:SpliceInsert>
Element enthält Einzelheiten zur Verfügbarkeit der Anzeige -
Das
<scte35:BreakDuration>
Element gibt die Dauer der Werbeunterbrechung an -
Die
<AdaptationSet>
Elemente definieren die verfügbaren Video- und Audiostreams
Personalisiertes DASH-MPD-Beispiel für das Einfügen von Spleißverbindungen
AWS Elemental MediaTailor personalisiert die Anzeige mit Werbespezifikationen. Die Personalisierungen spiegeln die vom Player empfangenen Daten zum Betrachter wider sowie die Werbekampagnen, die derzeit ausgeführt werden.
Das folgende Beispiel zeigt eine Anzeige, die nach AWS Elemental MediaTailor der Personalisierung verfügbar ist.
<Period id="178443_1" start="PT96H15M30.25S"> <BaseURL>http://111122223333.cloudfront.net/nbc_fallback_2/</BaseURL> <AdaptationSet bitstreamSwitching="false" frameRate="30/1" mimeType="video/mp4" segmentAlignment="true" startWithSAP="1" subsegmentAlignment="true" subsegmentStartsWithSAP="1"> <SegmentTemplate startNumber="1" timescale="90000"/> <Representation bandwidth="10000000" codecs="avc1.640028" height="1080" id="1" width="1920"> <SegmentTemplate initialization="nbc_fallback_ad_2_1080p_10init.mp4" media="nbc_fallback_ad_2_1080p_10_$Number%09d$.mp4" startNumber="1" timescale="90000"> <SegmentTimeline> <S d="180000" r="13" t="0"/> <S d="176940" t="2520000"/> </SegmentTimeline> </SegmentTemplate> </Representation> <Representation bandwidth="4000000" codecs="avc1.64001f" height="720" id="2" width="1280"> <SegmentTemplate initialization="nbc_fallback_ad_2_720p_9init.mp4" media="nbc_fallback_ad_2_720p_9_$Number%09d$.mp4" startNumber="1" timescale="90000"> <SegmentTimeline> <S d="180000" r="13" t="0"/> <S d="176940" t="2520000"/> </SegmentTimeline> </SegmentTemplate> </Representation> </AdaptationSet> <AdaptationSet mimeType="audio/mp4" segmentAlignment="0" lang="eng"> <Representation id="8" bandwidth="128000" audioSamplingRate="48000" codecs="mp4a.40.2"> <SegmentTemplate initialization="nbc_fallback_ad_2_audio_2init.mp4" media="nbc_fallback_ad_2_audio_2_$Number%09d$.mp4" startNumber="1" timescale="90000"> <SegmentTimeline> <S d="180000" r="13" t="0"/> <S d="176940" t="2520000"/> </SegmentTimeline> </SegmentTemplate> </Representation> </AdaptationSet> </Period>
In diesem personalisierten MPD-Beispiel:
-
MediaTailor hat einen neuen Zeitraum für den Anzeigeninhalt erstellt
-
Das
<BaseURL>
Element verweist auf den Speicherort des Anzeigeninhalts -
Die
<AdaptationSet>
Elemente haben eine ähnliche Struktur wie der Inhalt -
Die
<Representation>
Elemente bieten unterschiedliche Qualitätsstufen für den Anzeigeninhalt
Beispiel für ein DASH MPD-Zeitsignal
MPD-Beispiel für ein Zeitsignal mit DASH-Ursprung
Das folgende Beispiel aus einer MPD zeigt eine verfügbare Anzeige in einem Manifest, das DASH von der Quelle des Inhalts erhalten hat. In diesem Beispiel wird die TimeSignal
Markierung verwendet, um darauf hinzuweisen, dass eine Anzeige verfügbar ist.
<Period start="PT173402.036S" id="46041"> <EventStream timescale="90000" schemeIdUri="urn:scte:scte35:2013:xml"> <Event duration="9450000"> <scte35:SpliceInfoSection protocolVersion="0" ptsAdjustment="183265" tier="4095"> <scte35:TimeSignal> <scte35:SpliceTime ptsTime="7835775000"/> </scte35:TimeSignal> <scte35:SegmentationDescriptor segmentationEventId="99" segmentationEventCancelIndicator="false" segmentationDuration="9450000"> <scte35:DeliveryRestrictions webDeliveryAllowedFlag="true" noRegionalBlackoutFlag="true" archiveAllowedFlag="true" deviceRestrictions="3"/> <scte35:SegmentationUpid segmentationUpidType="8" segmentationUpidLength="0"/> <scte35:SegmentationTypeID segmentationType="52"/> <scte35:SegmentNum segmentNum="1"/> <scte35:SegmentsExpected segmentsExpected="1"/> </scte35:SegmentationDescriptor> </scte35:SpliceInfoSection> </Event> </EventStream> <AdaptationSet mimeType="video/mp4" segmentAlignment="true" subsegmentAlignment="true" startWithSAP="1" subsegmentStartsWithSAP="1" bitstreamSwitching="true"> <Representation id="1" width="960" height="540" frameRate="30000/1001" bandwidth="1000000" codecs="avc1.4D401F"> <SegmentTemplate timescale="30000" media="index_video_1_0_$Number$.mp4?m=1528475245" initialization="index_video_1_0_init.mp4?m=1528475245" startNumber="178444" presentationTimeOffset="10395907501"> <SegmentTimeline> <S t="10395907501" d="60060" r="29"/> <S t="10397709301" d="45045"/> </SegmentTimeline> </SegmentTemplate> </Representation> </AdaptationSet> </Period>
In diesem Origin-MPD-Beispiel:
-
Das
<scte35:TimeSignal>
Element wird anstelle von verwendet<scte35:SpliceInsert>
-
Das
<scte35:SegmentationDescriptor>
bietet zusätzliche Informationen zur Verfügbarkeit der Anzeige
Personalisiertes DASH-MPD-Beispiel für ein Zeitsignal
AWS Elemental MediaTailor personalisiert die Anzeige mit Werbespezifikationen. Die Personalisierungen spiegeln die vom Player empfangenen Daten zum Betrachter wider sowie die Werbekampagnen, die derzeit ausgeführt werden.
Das folgende Beispiel zeigt eine Anzeige, die nach AWS Elemental MediaTailor der Personalisierung verfügbar ist.
<Period id="178443_1" start="PT96H15M30.25S"> <BaseURL>http://111122223333.cloudfront.net/nbc_fallback_2/</BaseURL> <AdaptationSet bitstreamSwitching="false" frameRate="30/1" mimeType="video/mp4" segmentAlignment="true" startWithSAP="1" subsegmentAlignment="true" subsegmentStartsWithSAP="1"> <SegmentTemplate startNumber="1" timescale="90000"/> <Representation bandwidth="10000000" codecs="avc1.640028" height="1080" id="1" width="1920"> <SegmentTemplate initialization="nbc_fallback_ad_2_1080p_10init.mp4" media="nbc_fallback_ad_2_1080p_10_$Number%09d$.mp4" startNumber="1" timescale="90000"> <SegmentTimeline> <S d="180000" r="13" t="0"/> <S d="176940" t="2520000"/> </SegmentTimeline> </SegmentTemplate> </Representation> </AdaptationSet> </Period>
Die personalisierte MPD für das Zeitsignal ähnelt der für das Einfügen von Splices, wobei ein neuer Zeitraum für den Anzeigeninhalt MediaTailor erstellt wird.
VOD DASH MPD-Beispiele
Dieser Abschnitt enthält Beispiele für Video-on-Demand (VOD) DASH. MPDs In jedem Beispiel wird eine MPD so aufgeführt, wie sie vom Ursprungsserver empfangen wurde. Danach MediaTailor wurde die MPD mit Werbung personalisiert.
VOD DASH MPDs folgen derselben Struktur wie Live MPDs, haben jedoch in der Regel ein type="static"
Attribut im MPD-Element und können mehrere Perioden für verschiedene Inhaltssegmente enthalten.
Beispiele für VOD DASH MPDs finden Sie in der MediaTailor Dokumentation unter. DASH-Werbemarkierungen
Die wichtigsten Unterschiede im Bereich Personalisierung MPDs
Bei der MediaTailor Personalisierung von DASH MPDs werden mehrere wichtige Änderungen vorgenommen:
- Umgang mit Perioden
-
-
Für Anzeigeninhalte werden neue Perioden erstellt
-
Die Startzeiten der Perioden werden angepasst, um die Kontinuität des Zeitplans zu gewährleisten
-
EventStream Elemente mit SCTE-35-Markern werden verarbeitet und entfernt
-
- AdaptationSet und Umgang mit Repräsentationen
-
-
AdaptationSets In der Anzeige werden Perioden so erstellt, dass sie dem Inhalt entsprechen AdaptationSets
-
Repräsentationen werden für unterschiedliche Qualitätsstufen des Anzeigeninhalts erstellt
-
SegmentTemplate Elemente werden aktualisiert, sodass sie auf den Anzeigeninhalt verweisen
-
Wenn Sie sich mit diesen Änderungen vertraut machen, können Sie Probleme in Ihren MediaTailor Workflows beheben und sicherstellen, dass Ihr CDN und Ihr Player ordnungsgemäß konfiguriert sind.
Verwandte Themen
Weitere Informationen zu DASH MPDs und MediaTailor finden Sie in den folgenden Themen:
-
DASH-Manifesttypen- Ausführliche Erläuterung der DASH-Manifesttypen
-
Verwendung eines CDN zur Optimierung der MediaTailor Anzeigenpersonalisierung und Inhaltsbereitstellung- Informationen zur Verwendung eines CDN mit MediaTailor
-
Wie funktioniert das Einfügen von MediaTailor Anzeigen- Überblick darüber, wie das Einfügen von MediaTailor Anzeigen funktioniert