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.
Ejemplos de DASH MPD
En las siguientes secciones se proporcionan ejemplos de DASH originados MPDs y personalizados MPDs. Entender estos ejemplos puede ayudarte a configurar y solucionar problemas de tus MediaTailor flujos de trabajo.
Para obtener información sobre cómo se aplican los parámetros de consulta a los manifiestos y segmentos de DASH, consulteMediaTailorInicialización de sesión implícita de DASH.
Comprensión de la estructura MPD de DASH
La transmisión dinámica adaptativa a través de HTTP (DASH) utiliza un manifiesto de descripción de presentación multimedia (MPD) para ofrecer contenido en streaming. El MPD es un documento XML que describe la estructura y la disponibilidad del contenido multimedia.
- MPD (descripción de la presentación multimedia)
-
El MPD es el archivo de manifiesto principal de la transmisión de DASH que describe la estructura y la disponibilidad del contenido multimedia. Contiene información sobre los períodos, los conjuntos de adaptaciones, las representaciones y los segmentos que componen el contenido de streaming.
Este tipo de manifiesto también se conoce con otros nombres en varios contextos, como manifiesto de DASH, MPD de DASH, manifiesto maestro (en comparación con HLS) o manifiesto de presentación.
En MediaTailor los flujos de trabajo, el MPD es el punto de entrada para las solicitudes de reproducción y es donde comienza la personalización de los anuncios.
- Periodo
-
Un período es una sección temporal de una presentación de DASH. Cada período contiene uno o más conjuntos de adaptaciones y representa un período de tiempo dedicado a los medios de comunicación. En los flujos de trabajo de inserción de anuncios, normalmente se utilizan períodos separados para delimitar entre el contenido y los anuncios.
En MediaTailor los flujos de trabajo, los períodos se utilizan para separar el contenido principal del contenido del anuncio, y cada anuncio suele estar representado por su propio período.
- AdaptationSet
-
Y AdaptationSet agrupa un conjunto de versiones codificadas intercambiables de uno o varios componentes del contenido multimedia. Por ejemplo, uno AdaptationSet puede contener varios niveles de calidad de vídeo, mientras que otro puede contener varias opciones de idioma de audio.
En MediaTailor los flujos de trabajo, AdaptationSets se conservan durante la inserción del anuncio para mantener la coherencia de los tipos de medios entre el contenido y los anuncios.
- Representación
-
Una representación es una versión codificada específica del contenido multimedia dentro de un AdaptationSet. Por lo general, cada representación difiere en la velocidad de bits, la resolución u otros parámetros de codificación, lo que permite a los clientes seleccionar la versión más adecuada en función de las condiciones de la red y las capacidades del dispositivo.
En MediaTailor los flujos de trabajo, las representaciones de los períodos publicitarios se ajustan lo más posible a las representaciones de los períodos de contenido para garantizar una experiencia de visualización fluida.
Para obtener información más detallada sobre los tipos de manifiestos de DASH, consulteTipos de manifiestos de DASH.
Ejemplos de MPD de DASH en vivo
Esta sección proporciona ejemplos de DASH MPDs en vivo. Cada ejemplo muestra un MPD tal como se recibió del servidor de origen y, después, MediaTailor se personalizó el MPD con anuncios.
Ejemplo de empalme e inserto de DASH MPD
Ejemplo de MPD de origen DASH para un inserto de empalme
El siguiente ejemplo de un MPD muestra la disponibilidad de un anuncio en un manifiesto recibido por DASH desde el origen del contenido. En este ejemplo, se usa el SpliceInsert
marcador para indicar la disponibilidad de un anuncio.
<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>
En este ejemplo de MPD de origen:
-
El
<EventStream>
elemento contiene marcadores SCTE-35 que indican y están disponibles -
El
<scte35:SpliceInsert>
elemento proporciona detalles sobre la disponibilidad del anuncio -
El
<scte35:BreakDuration>
elemento especifica la duración de la pausa publicitaria -
Los
<AdaptationSet>
elementos definen las transmisiones de vídeo y audio disponibles
Ejemplo de MPD personalizado de DASH para empalme
AWS Elemental MediaTailor personaliza el anuncio disponible con especificaciones publicitarias. Las personalizaciones reflejan los datos del visor que se reciben del reproductor y las campañas publicitarias que se encuentran actualmente en curso.
En el siguiente ejemplo, se muestra la disponibilidad de un anuncio después AWS Elemental MediaTailor de personalizarlo.
<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>
En este ejemplo de MPD personalizado:
-
MediaTailor ha creado un nuevo período para el contenido del anuncio
-
El
<BaseURL>
elemento apunta a la ubicación del contenido del anuncio -
Los
<AdaptationSet>
elementos mantienen una estructura similar a la del contenido -
Los
<Representation>
elementos proporcionan diferentes niveles de calidad para el contenido del anuncio
Ejemplo de señal horaria DASH MPD
Ejemplo de MPD de origen DASH para señal horaria
El siguiente ejemplo de un MPD muestra la disponibilidad de un anuncio en un manifiesto recibido por DASH desde el origen del contenido. En este ejemplo, se usa el TimeSignal
marcador para indicar la disponibilidad de un anuncio.
<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>
En este ejemplo de MPD de origen:
-
El
<scte35:TimeSignal>
elemento se usa en lugar de<scte35:SpliceInsert>
-
<scte35:SegmentationDescriptor>
Proporciona información adicional sobre la disponibilidad del anuncio
Ejemplo de MPD personalizado de DASH para señal horaria
AWS Elemental MediaTailor personaliza el anuncio disponible con especificaciones publicitarias. Las personalizaciones reflejan los datos del visor que se reciben del reproductor y las campañas publicitarias que se encuentran actualmente en curso.
En el siguiente ejemplo, se muestra la disponibilidad de un anuncio después AWS Elemental MediaTailor de personalizarlo.
<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>
El MPD personalizado para la señal horaria es similar al de la inserción de empalmes, ya que MediaTailor crea un nuevo período para el contenido del anuncio.
Ejemplos de MPD de VOD DASH
En esta sección se proporcionan ejemplos de DASH de vídeo bajo demanda (VOD). MPDs En cada ejemplo se muestra un MPD tal como se recibió del servidor de origen y, después, MediaTailor se personalizó el MPD con anuncios.
Los VOD DASH MPDs siguen la misma estructura que en directo MPDs, pero normalmente tienen un type="static"
atributo en el elemento MPD y pueden contener varios períodos para distintos segmentos de contenido.
Para ver ejemplos de VOD DASH MPDs, consulte la MediaTailor documentación sobre. Marcadores de anuncios de DASH
Diferencias clave en la personalización MPDs
Cuando MediaTailor personaliza DASH MPDs, introduce varios cambios importantes:
- Manejo de períodos
-
-
Se crean nuevos períodos para el contenido de los anuncios
-
Las horas de inicio de los períodos se ajustan para mantener la continuidad del cronograma
-
EventStream los elementos con marcadores SCTE-35 se procesan y eliminan
-
- AdaptationSet y manejo de representaciones
-
-
AdaptationSets en los anuncios, los períodos se crean para que coincidan con el contenido AdaptationSets
-
Las representaciones se crean para diferentes niveles de calidad del contenido del anuncio
-
SegmentTemplate los elementos se actualizan para apuntar al contenido del anuncio
-
Entender estos cambios puede ayudarte a solucionar problemas en tus MediaTailor flujos de trabajo y a garantizar una configuración adecuada de la CDN y el reproductor.
Temas relacionados de
Para obtener más información sobre DASH MPDs MediaTailor, consulte los siguientes temas:
-
Tipos de manifiestos de DASH- Explicación detallada de los tipos de manifiestos de DASH
-
Uso de una CDN para optimizar la personalización de MediaTailor anuncios y la entrega de contenido- Información sobre el uso de una CDN con MediaTailor
-
Cómo funciona MediaTailor la inserción de anuncios- Descripción general de cómo funciona la inserción de MediaTailor anuncios