Marcadores de anúncios DASH - AWS Elemental MediaTailor

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

Marcadores de anúncios DASH

AWS Elemental MediaTailor identifica e utiliza um manifesto DASH por meio de marcadores de inserção de emenda e recorte do sinal de tempo, da seguinte forma:

  • Em um manifesto DASH de vários períodos, um Period é considerado uma disponibilidade de anúncios quando o primeiro Event em seu fluxo de eventos contém marcadores de deixa de saída de sinal de tempo ou inserção por emenda. No DASH de vários períodos, MediaTailor ignora tudo, exceto o primeiro evento em um período.

  • Em um manifesto DASH de um único período, um Event é considerado uma disponibilidade de anúncios quando ele contém marcadores de deixa de saída de sinal de tempo e inserção por emenda.

Por padrão, AWS Elemental MediaTailor gerencia os manifestos do DASH como manifestos de vários períodos. Você pode alterar sua configuração para lidar com manifestos DASH de um único período no servidor de origem. Para ter mais informações, consulte Criar uma configuração.

Você pode fornecer marcadores de anúncios em XML limpo ou em binário codificado em base64:

XML limpo

O fluxo de eventos schemeIdUri deve ser definido como urn:scte:scte35:2013:xml, e o evento deve ter marcadores scte35:SpliceInfoSection que contêm uma das seguintes ações:

  • scte35:SpliceInsert com outOfNetworkIndicator definido como true

    O exemplo a seguir mostra essa opção, com os marcadores necessários em negrito.

    <Period start="PT444806.040S" id="123586" duration="PT15.000S"> <EventStream timescale="90000" schemeIdUri="urn:scte:scte35:2013:xml"> <Event duration="1350000"> <scte35:SpliceInfoSection protocolVersion="0" ptsAdjustment="180832" tier="4095"> <scte35:SpliceInsert spliceEventId="4026531855" spliceEventCancelIndicator="false" outOfNetworkIndicator="true" spliceImmediateFlag="false" uniqueProgramId="1" availNum="1" availsExpected="1"> <scte35:Program><scte35:SpliceTime ptsTime="5672624400"/></scte35:Program> <scte35:BreakDuration autoReturn="true" duration="1350000"/> </scte35:SpliceInsert> </scte35:SpliceInfoSection> </Event>
  • scte35:TimeSignal acompanhado por scte35:SegmentationDescriptor scte35:SegmentationUpid com segmentationTypeId definido como um dos seguintes números de deixa de saída:

    • 0x22 (iniciar intervalo)

    • 0x30 (início da publicidade do provedor)

    • 0x32 (início da publicidade do distribuidor)

    • 0x34 (início da oportunidade de posicionamento do provedor)

    • 0x36 (início da oportunidade de posicionamento do distribuidor)

    O exemplo a seguir mostra essa opção, com os marcadores necessários em negrito. O segmentationTypeId neste exemplo é definido como 52, equivalente a 0x34.

    <Period start="PT346530.250S" id="178443" duration="PT61.561S"> <EventStream timescale="90000" schemeIdUri="urn:scte:scte35:2013:xml"> <Event duration="5310000"> <scte35:SpliceInfoSection protocolVersion="0" ptsAdjustment="183003" tier="4095"> <scte35:TimeSignal> <scte35:SpliceTime ptsTime="3442857000"/> </scte35:TimeSignal> <scte35:SegmentationDescriptor segmentationEventId="1414668" segmentationEventCancelIndicator="false" segmentationDuration="8100000" segmentationTypeId="52" segmentNum="0" segmentsExpected="0"> <scte35:DeliveryRestrictions webDeliveryAllowedFlag="false" noRegionalBlackoutFlag="false" archiveAllowedFlag="false" deviceRestrictions="3"/> <scte35:SegmentationUpid segmentationUpidType="12" segmentationUpidLength="2">0100</scte35:SegmentationUpid> </scte35:SegmentationDescriptor> </scte35:SpliceInfoSection> </Event>
Binário codificado em Base64

O fluxo de eventos schemeIdUri deve ser definido como urn:scte:scte35:2014:xml+bin, e o evento deve ter scte35:Signal scte35:Binary que contém um binário codificado em base64. O binário codificado deve fornecer um splice_info_section com o mesmo conjunto de informações que o XML limpo forneceria em um elemento scte35:SpliceInfoSection. O tipo de comando deve ser splice_insert() ou time_signal(), e as configurações adicionais devem estar em conformidade com as descritas anteriormente para a entrega de XML limpo.

O exemplo a seguir mostra essa opção, com os marcadores necessários em negrito.

<Period start="PT444806.040S" id="123586" duration="PT15.000S"> <EventStream schemeIdUri="urn:scte:scte35:2014:xml+bin" timescale="1"> <Event presentationTime="1541436240" duration="24" id="29"> <scte35:Signal xmlns="http://www.scte.org/schemas/35/2016"> <scte35:Binary>/DAhAAAAAAAAAP/wEAUAAAHAf+9/fgAg9YDAAAAAAAA25aoh</Binary> </scte35:Signal> </Event> <Event presentationTime="1541436360" duration="24" id="30"> <scte35:Signal xmlns="http://www.scte.org/schemas/35/2016"> <scte35:Binary>QW5vdGhlciB0ZXN0IHN0cmluZyBmb3IgZW5jb2RpbmcgdG8gQmFzZTY0IGVuY29kZWQgYmluYXJ5Lg==</Binary> </scte35:Signal> </Event>

O seguinte é o binário decodificado para o primeiro evento listado no exemplo anterior. A configuração splice_command_type é 5, o que indica splice_insert.

{ "table_id": 252, "section_syntax_indicator": false, "private_indicator": false, "section_length": 33, "protocol_version": 0, "encrypted_packet": false, "encryption_algorithm": 0, "pts_adjustment": 0, "cw_index": 0, "tier": "0xFFF", "splice_command_length": 16, "splice_command_type": 5, "splice_command": { "splice_event_id": 448, "splice_event_cancel_indicator": false, "out_of_network_indicator": true, "program_splice_flag": true, "duration_flag": true, "splice_immediate_flag": false, "utc_splice_time": { "time_specified_flag": false, "pts_time": null }, "component_count": 0, "components": null, "break_duration": { "auto_return": false, "duration": { "pts_time": 2160000, "wall_clock_seconds": 24.0, "wall_clock_time": "00:00:24:00000" } }, "unique_program_id": 49152, "avail_num": 0, "avails_expected": 0 }, "splice_descriptor_loop_length": 0, "splice_descriptors": null, "Scte35Exception": { "parse_status": "SCTE-35 cue parsing completed with 0 errors.", "error_messages": [], "table_id": 252, "splice_command_type": 5 } }

Para manifestos DASH de vários períodos, AWS Elemental MediaTailor usa o primeiro Event que indica o posicionamento do anúncio em um fluxo de eventos e ignora quaisquer Event marcadores adicionais no fluxo. Para manifestos DASH de único período, o MediaTailor considera cada Event.