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.
Para obtener información sobre AWS Elemental MediaTailor, consulte la Guía del usuario de AWS Elemental MediaTailor.
-
Para obtener información sobre los puntos de conexión de DASH-ISO en MediaPackage, consulte Creación de un punto de conexión DASH.
-
Para obtener más información acerca de cómo funciona DASH con varios períodos en MediaPackage, consulte la siguiente sección Cómo funciona.
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:
-
MediaPackage detecta los mensajes SCTE-35 del origen de entrada.
-
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
+ scte35ptsTime
) / (EventStreamtimescale
).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>
-
MediaPackage inserta las etiquetas
EventStream
,Event
yscte35
con información adicional en el manifiesto y encierra el período publicitario con una etiquetaPeriod
, 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-35SpliceInsert
:<?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 deSpliceInsert
, 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.