DASH multiperíodo no AWS Elemental MediaPackage - AWS Elemental MediaPackage

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á.

DASH multiperíodo no AWS Elemental MediaPackage

A capacidade de inserir vários períodos nos manifestos DASH para conteúdo de VOD e ao vivo está disponível em AWS Elemental MediaPackage.

Período é uma parte do conteúdo no manifesto DASH, definido por uma hora de início e uma duração. Por padrão, todo o manifesto está contido em um período, mas o MediaPackage pode particionar o manifesto DASH em vários períodos para indicar limites entre os anúncios e o conteúdo principal. Por exemplo, ser você estiver usando o MediaPackage com um serviço de anúncio downstream, como o AWS Elemental MediaTailor, escolha Acionar novo período em anúncios no endpoint MPEG-DASH no MediaPackage. Essa opção informa o MediaPackage de que o manifesto DASH deve ser formatado com vários períodos.

Funcionamento do DASH multiperíodo

Para usar o recurso DASH multiperíodo, a entrada para o MediaPackage deve ter mensagens de marcador de anúncio SCTE-35. Essas mensagens informam o MediaPackage sobre onde criar limites de período. É assim que o MediaPackage processa essas mensagens:

  1. O MediaPackage detecta mensagens SCTE-35 da fonte de entrada.

  2. Usando os atributos das mensagens SCTE-35, o MediaPackage calcula onde os limites estão entre o final do conteúdo principal e os anúncios. Este cálculo é (scte35 ptsAdjustment + scte35 ptsTime) / (EventStream timescale).

    No exemplo a seguir, o período começa aos 44,075 segundos porque (183.003 + 3.783.780)/90.000 = 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. O MediaPackage insere as tags EventStream, Event e scte35 com informações adicionais no manifesto e coloca o período de anúncio entre tags Period, conforme exibido no exemplo anterior. O MediaPackage agrupa todos os conjuntos de adaptação antes do primeiro período de anúncio em um período e quaisquer conjuntos de adaptações subsequentes após o anúncio serão agrupados em um período, até o próximo marcador SCTE-35. Aqui está um exemplo de manifesto completo com vários períodos. Ele usa marcadores de anúncio 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>

    Caso a entrada tenha marcadores de anúncio SCTE-35 TimeSignal, em vez de SpliceInsert, o EventStream dentro do período de anúncio é semelhante a:

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

    O MediaPackage também incorpora mensagens scte35:SpliceInsert como metadados nos segmentos de vídeo individuais.

Caso você esteja usando um serviço de anúncio downstream, esse serviço procura os marcadores SCTE-35 no manifesto que o MediaPackage fornece e insere anúncios com base nesses marcadores.