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

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

En AWS Elemental está disponible la posibilidad de insertar varios periodos en los manifiestos de DASH, tanto en formato VOD como en directo 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á contenido en un solo período, pero MediaPackage puede dividirlo en varios períodos para indicar los límites entre los anuncios y el contenido principal. Por ejemplo, si lo utilizas MediaPackage con un servicio de anuncios intermedios como AWS Elemental MediaTailor, elige Activar un nuevo período en los anuncios del endpoint MPEG-DASH en MediaPackage. Esta opción indica MediaPackage que el manifiesto DASH debe formatearse con varios puntos.

Funcionamiento de DASH de varios períodos

Para utilizar la función DASH de varios períodos, la entrada MediaPackage debe tener mensajes de marcador de anuncios SCTE-35. Estos mensajes indican MediaPackage dónde crear límites de períodos. Así es como MediaPackage procesa esos mensajes:

  1. MediaPackage detecta los mensajes SCTE-35 de la fuente de entrada.

  2. Utilizando 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 (scte35ptsAdjustment + scte35ptsTime)/(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 lasscte35 etiquetasEventStreamEvent, y con información adicional en el manifiesto y rodea el período del anuncio con unaPeriod etiqueta, como se muestra en el ejemplo anterior. MediaPackage agrupa todos los conjuntos de adaptaciones anteriores al período del primer anuncio en un período y todos los conjuntos de adaptación posteriores al 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 tu entrada contiene marcadores de anunciosTimeSignal SCTE-35 en lugar de ellosSpliceInsert, el EventStream campo dentro del período del anuncio tiene el siguiente aspecto:

    <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 incorporascte35:SpliceInsert mensajes como metadatos en los segmentos de vídeo individuales.

Si utilizas un servicio de anuncios intermedios, ese servicio busca los marcadores SCTE-35 en el manifiesto que MediaPackage proporciona anuncios e inserta anuncios en función de esos marcadores.