DASH de varios períodos en AWS Elemental MediaPackage - AWS Elemental MediaPackage

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

DASH de varios períodos en AWS Elemental MediaPackage

La posibilidad de insertar varios períodos en los manifiestos de DASH tanto para VOD como en directo está disponible en AWS Elemental MediaPackage.

Un periodo es un fragmento de contenido en el manifiesto de DASH, definido por una hora de inicio y una duración. De forma predeterminada, todo el manifiesto está incluido en un período, pero MediaPackage puede partir el manifiesto de DASH en varios períodos para indicar los límites entre los anuncios y el contenido principal. Por ejemplo, si utiliza MediaPackage con un servicio publicitario descendente, como AWS Elemental MediaTailor, seleccione Disparar nuevo período en los anuncios en el punto de conexión de MPEG-DASH en MediaPackage. Esta opción le indica a MediaPackage que al manifiesto de DASH se le debe dar formato con varios períodos.

Cómo funciona DASH con varios períodos

Para utilizar la característica de DASH de varios períodos, la entrada a MediaPackage debe tener mensajes de marcador de anuncio SCTE-35. Estos mensajes le informan a MediaPackage acerca de dónde se deben crear los límites de período. MediaPackage procesa esos mensajes del modo siguiente:

  1. MediaPackage detecta los mensajes SCTE-35 del origen de entrada.

  2. Mediante los atributos de los mensajes SCTE-35, MediaPackage calcula dónde están los límites entre el final del contenido principal y los anuncios. Este cálculo es (scte35 ptsAdjustment + scte35 ptsTime) / (EventStream timescale).

    En el ejemplo siguiente, el periodo comienza en 44,075 segundos porque (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 inserta las etiquetas EventStream, Event y scte35 con información adicional en el manifiesto y encierra el período publicitario con una etiqueta Period, como se muestra en el ejemplo anterior. MediaPackage agrupa todos los conjuntos de adaptaciones antes del primer período publicitario en un período y todos los conjuntos de adaptaciones posteriores después del anuncio se agrupan en un período, hasta el siguiente marcador SCTE-35. A continuación se muestra un ejemplo de manifiesto completo con varios periodos. Utiliza marcadores publicitarios SCTE-35 SpliceInsert:

    <?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>

    Si su entrada tiene marcadores publicitarios SCTE-35 TimeSignal en lugar de SpliceInsert, el aspecto de EventStream dentro del periodo publicitario será el siguiente:

    <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 también inserta mensajes scte35:SpliceInsert como metadatos en los segmentos de video individuales.

Si utiliza un servicio publicitario descendente, ese servicio busca los marcadores SCTE-35 en el manifiesto que proporciona MediaPackage e inserta los anuncios basándose en esos marcadores.