DASH mit mehreren Zeiträumen in AWS Elemental MediaPackage - AWS Elemental MediaPackage

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 mit mehreren Zeiträumen in AWS Elemental MediaPackage

Die Möglichkeit, mehrere Perioden in DASH-Manifeste sowohl für VOD als auch für Live einzufügen, ist in AWS Elemental MediaPackage verfügbar.

Ein Zeitraum ist eine Einheit von Inhalten im DASH Manifest, der durch einen Startzeitpunkt und eine Dauer definiert wird. Standardmäßig ist das gesamte Manifest in einem Zeitraum enthalten, das DASH-Manifest MediaPackage kann jedoch in mehrere Perioden unterteilt werden, um die Grenzen zwischen Anzeigen und dem Hauptinhalt anzugeben. Wenn Sie es beispielsweise MediaPackage zusammen mit einem nachgeschalteten Werbedienst verwendenAWS Elemental MediaTailor, wählen Sie „Neuen Zeitraum für Anzeigen auf dem MPEG-DASH-Endpunkt auslösen“ in. MediaPackage Diese Option gibt an, MediaPackage dass das DASH-Manifest mit mehreren Punkten formatiert werden soll.

Wie funktioniert DASH für mehrere Perioden

Um die DASH-Funktion für mehrere Perioden verwenden zu können, MediaPackage muss die Eingabe über SCTE-35-Werbemarkierungsnachrichten verfügen. Diese Nachrichten informieren darüber, wo MediaPackage Periodengrenzen festgelegt werden müssen. So MediaPackage werden diese Nachrichten verarbeitet:

  1. MediaPackage erkennt die SCTE-35-Nachrichten von der Eingangsquelle.

  2. MediaPackage Berechnet anhand der Attribute der SCTE-35-Nachrichten, wo die Grenzen zwischen dem Ende des Hauptinhalts und den Anzeigen liegen. Diese Berechnung lautet (scte35 ptsAdjustment + ptsTime scte35)/(). EventStream timescale

    Im folgenden Beispiel beginnt der Zeitraum bei 44,075 Sekunden, da (183003 + 3783780) / 90000 = 44.075:

    <Period start="PT44.075S" id="21"> <EventStream timescale="90000" schemeIdUri="urn:scte:scte35:2013:xml"> <Event> <scte35:SpliceInfoSection protocolVersion="0" ptsAdjustment="183003" tier="4095"> <scte35:SpliceInsert spliceEventId="1000" spliceEventCancelIndicator="false" outOfNetworkIndicator="true" spliceImmediateFlag="false" uniqueProgramId="7" availNum="1" availsExpected="4"> <scte35:Program><scte35:SpliceTime ptsTime="3783780"/></scte35:Program> </scte35:SpliceInsert> </scte35:SpliceInfoSection> </Event> </EventStream> . . </Period>
  3. MediaPackage fügt die scte35 Tags EventStreamEvent, und mit zusätzlichen Informationen in das Manifest ein und umgibt den Anzeigenzeitraum mit einem Period Tag, wie im vorherigen Beispiel gezeigt. MediaPackage gruppiert alle Anpassungssätze vor dem ersten Anzeigenzeitraum zu einem Zeitraum, und alle nachfolgenden Anpassungssätze nach der Anzeige werden zu einem Zeitraum gruppiert, bis die nächste SCTE-35-Markierung erreicht ist. Hier finden Sie ein vollständiges Beispiel für das Manifest mit mehreren Zeiträumen. Es verwendet SpliceInsert-SCTE-35-Anzeigenmarkierungen:

    <?xml version="1.0" encoding="utf-8"?> <MPD> <Period start="PT0.000S" id="0" duration="PT44.075S"> <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=1528413503" initialization="index_video_1_0_init.mp4?m=1528413503" startNumber="6" presentationTimeOffset="0"> <SegmentTimeline> <S t="361301" d="60060" r="15"/> </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=1528413503" initialization="index_audio_2_0_init.mp4?m=1528413503" startNumber="6" presentationTimeOffset="0"> <SegmentTimeline> <S t="578305" d="96256" r="3"/> <S t="963329" d="95232"/> <S t="1058561" d="96256" r="5"/> <S t="1636097" d="95232"/> <S t="1731329" d="96256" r="3"/> </SegmentTimeline> </SegmentTemplate> </Representation> </AdaptationSet> </Period> <Period start="PT44.075S" id="21"> <EventStream timescale="90000" schemeIdUri="urn:scte:scte35:2013:xml"> <Event> <scte35:SpliceInfoSection protocolVersion="0" ptsAdjustment="183003" tier="4095"> <scte35:SpliceInsert spliceEventId="1000" spliceEventCancelIndicator="false" outOfNetworkIndicator="true" spliceImmediateFlag="false" uniqueProgramId="7" availNum="1" availsExpected="4"> <scte35:Program><scte35:SpliceTime ptsTime="3783780"/></scte35:Program> </scte35:SpliceInsert> </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=1528413503" initialization="index_video_1_0_init.mp4?m=1528413503" startNumber="22" presentationTimeOffset="1322261"> <SegmentTimeline> <S t="1322261" d="60060" r="13"/> </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=1528413503" initialization="index_audio_2_0_init.mp4?m=1528413503" startNumber="22" presentationTimeOffset="2115617"> <SegmentTimeline> <S t="2116353" d="96256"/> <S t="2212609" d="95232"/> <S t="2307841" d="96256" r="5"/> <S t="2885377" d="95232"/> <S t="2980609" d="96256" r="4"/> </SegmentTimeline> </SegmentTemplate> </Representation> </AdaptationSet> </Period> </MPD>

    Wenn Ihre Eingabe statt TimeSignal SCTE-35-Anzeigenmarkierungen enthältSpliceInsert, sieht der Wert EventStream innerhalb des Anzeigenzeitraums wie folgt aus:

    <EventStream timescale="90000" schemeIdUri="urn:scte:scte35:2013:xml"> <Event> <scte35:SpliceInfoSection protocolVersion="0" ptsAdjustment="183265" tier="4095"> <scte35:TimeSignal> <scte35:SpliceTime ptsTime="1350000"/> </scte35:TimeSignal> <scte35:SegmentationDescriptor segmentationEventId="1073741825" segmentationEventCancelIndicator="false" segmentationDuration="450000"> <scte35:DeliveryRestrictions webDeliveryAllowedFlag="false" noRegionalBlackoutFlag="true" archiveAllowedFlag="true" deviceRestrictions="3"/> <scte35:SegmentationUpid segmentationUpidType="1" segmentationUpidLength="3" segmentationTypeId="48" segmentNum="0" segmentsExpected="0">012345</scte35:SegmentationUpid> </scte35:SegmentationDescriptor> </scte35:SpliceInfoSection> </Event> </EventStream>

    MediaPackage bettet auch scte35:SpliceInsert Nachrichten als Metadaten in die einzelnen Videosegmente ein.

Wenn Sie einen Downstream-Werbedienst verwenden, sucht dieser Dienst nach den SCTE-35-Markierungen im Manifest, das auf diesen Markierungen basierende Anzeigen MediaPackage bereitstellt und einfügt.