As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Exemplos de DASH MPD
As seções a seguir fornecem exemplos de origem MPDs e personalização MPDs do DASH. Compreender esses exemplos pode ajudá-lo a configurar e solucionar problemas em seus MediaTailor fluxos de trabalho.
Entendendo a estrutura do DASH MPD
O Dynamic Adaptive Streaming over HTTP (DASH) usa um manifesto Media Presentation Description (MPD) para fornecer conteúdo de streaming. O MPD é um documento XML que descreve a estrutura e a disponibilidade do conteúdo de mídia.
- MPD (Descrição da apresentação de mídia)
-
O MPD é o arquivo de manifesto principal no streaming do DASH que descreve a estrutura e a disponibilidade do conteúdo de mídia. Ele contém informações sobre períodos, conjuntos de adaptação, representações e segmentos que compõem o conteúdo de streaming.
Esse tipo de manifesto também é conhecido por vários outros nomes em vários contextos, incluindo manifesto DASH, DASH MPD, manifesto mestre (quando comparado ao HLS) ou manifesto de apresentação.
Em MediaTailor fluxos de trabalho, o MPD é o ponto de entrada para solicitações de reprodução e é onde a personalização de anúncios começa.
- Período
-
Um período é uma seção temporal de uma apresentação do DASH. Cada período contém um ou mais conjuntos de adaptação e representa um período de tempo de mídia. Em fluxos de trabalho de inserção de anúncios, períodos separados são normalmente usados para delimitar entre conteúdo e anúncios.
Nos MediaTailor fluxos de trabalho, os períodos são usados para separar o conteúdo principal do conteúdo do anúncio, com cada anúncio normalmente representado por seu próprio período.
- AdaptationSet
-
E AdaptationSet agrupa um conjunto de versões codificadas intercambiáveis de um ou vários componentes de conteúdo de mídia. Por exemplo, um AdaptationSet pode conter vários níveis de qualidade de vídeo, enquanto outro pode conter várias opções de idioma de áudio.
Nos MediaTailor fluxos de trabalho, AdaptationSets são preservados durante a inserção do anúncio para manter os tipos de mídia consistentes entre o conteúdo e os anúncios.
- Representação
-
Uma representação é uma versão codificada específica do conteúdo de mídia em um AdaptationSet. Cada representação normalmente difere em taxa de bits, resolução ou outros parâmetros de codificação, permitindo que os clientes selecionem a versão mais apropriada com base nas condições da rede e nos recursos do dispositivo.
Em MediaTailor fluxos de trabalho, as Representações em Períodos de Anúncios são combinadas da forma mais próxima possível com as Representações em Períodos de conteúdo para garantir uma experiência de visualização tranquila.
Para obter informações mais detalhadas sobre os tipos de manifesto DASH, consulteTipos de manifesto DASH.
Exemplos de DASH MPD ao vivo
Esta seção fornece exemplos de DASH MPDs ao vivo. Cada exemplo lista um MPD como recebido do servidor de origem e depois MediaTailor personalizou o MPD com anúncios.
Exemplo de inserção de emenda DASH MPD
Exemplo de MPD de origem DASH para inserção de emenda
O exemplo a seguir de um MPD mostra um anúncio disponível em um manifesto recebido pelo DASH da origem do conteúdo. Este exemplo usa o SpliceInsert
marcador para indicar a disponibilidade de um anúncio.
<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>
Neste exemplo de origem do MPD:
-
O
<EventStream>
elemento contém marcadores SCTE-35 que indicam anúncios -
O
<scte35:SpliceInsert>
elemento fornece detalhes sobre a disponibilidade do anúncio -
O
<scte35:BreakDuration>
elemento especifica a duração do intervalo publicitário -
Os
<AdaptationSet>
elementos definem os fluxos de vídeo e áudio disponíveis
Exemplo de MPD personalizado do DASH para inserção de emenda
AWS Elemental MediaTailor personaliza o anúncio com as especificações de publicidade. As personalizações refletem os dados do espectador recebidos do player e as campanhas publicitárias atualmente em andamento.
O exemplo a seguir mostra a disponibilidade de um anúncio depois de AWS Elemental MediaTailor personalizá-lo.
<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>
Neste exemplo personalizado de MPD:
-
MediaTailor criou um novo período para o conteúdo do anúncio
-
O
<BaseURL>
elemento aponta para o local do conteúdo do anúncio -
Os
<AdaptationSet>
elementos mantêm uma estrutura semelhante ao conteúdo -
Os
<Representation>
elementos fornecem diferentes níveis de qualidade para o conteúdo do anúncio
Exemplo de sinal de horário DASH MPD
Exemplo de MPD de origem DASH para sinal de tempo
O exemplo a seguir de um MPD mostra um anúncio disponível em um manifesto recebido pelo DASH da origem do conteúdo. Este exemplo usa o TimeSignal
marcador para indicar a disponibilidade de um anúncio.
<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>
Neste exemplo de origem do MPD:
-
O
<scte35:TimeSignal>
elemento é usado em vez de<scte35:SpliceInsert>
-
<scte35:SegmentationDescriptor>
Fornece informações adicionais sobre a disponibilidade do anúncio
Exemplo de MPD personalizado do DASH para sinal de tempo
AWS Elemental MediaTailor personaliza o anúncio com as especificações de publicidade. As personalizações refletem os dados do espectador recebidos do player e as campanhas publicitárias atualmente em andamento.
O exemplo a seguir mostra a disponibilidade de um anúncio depois de AWS Elemental MediaTailor personalizá-lo.
<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>
O MPD personalizado para sinal de tempo é semelhante ao da inserção de emenda, com a MediaTailor criação de um novo período para o conteúdo do anúncio.
Exemplos de VOD DASH MPD
Esta seção fornece exemplos de vídeo sob demanda (VOD) MPDs DASH. Cada exemplo lista um MPD como recebido do servidor de origem e depois MediaTailor personalizou o MPD com anúncios.
O VOD DASH MPDs segue a mesma estrutura do live MPDs, mas normalmente tem um type="static"
atributo no elemento MPD e pode conter vários períodos para diferentes segmentos de conteúdo.
Para exemplos de VOD DASH MPDs, consulte a MediaTailor documentação em. Marcadores de anúncios DASH
Principais diferenças na personalização MPDs
Quando MediaTailor personaliza o DASH MPDs, ele faz várias mudanças importantes:
- Tratamento do período
-
-
Novos períodos são criados para o conteúdo do anúncio
-
Os horários de início do período são ajustados para manter a continuidade do cronograma
-
EventStream elementos com marcadores SCTE-35 são processados e removidos
-
- AdaptationSet e tratamento de representações
-
-
AdaptationSets no anúncio Os períodos são criados para corresponder ao conteúdo AdaptationSets
-
As representações são criadas para diferentes níveis de qualidade do conteúdo do anúncio
-
SegmentTemplate os elementos são atualizados para apontar para o conteúdo do anúncio
-
Compreender essas mudanças pode ajudá-lo a solucionar problemas em seus MediaTailor fluxos de trabalho e garantir a configuração adequada do CDN e do player.
Tópicos relacionados
Para obter mais informações sobre o DASH MPDs e MediaTailor, consulte os seguintes tópicos:
-
Tipos de manifesto DASH- Explicação detalhada dos tipos de manifesto DASH
-
Usando uma CDN para otimizar a personalização de MediaTailor anúncios e a entrega de conteúdo- Informações sobre o uso de uma CDN com MediaTailor
-
Como funciona a inserção de MediaTailor anúncios- Visão geral de como a inserção de MediaTailor anúncios funciona