DASH y marcadores - AWS Elemental MediaTailor

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

AWS Elemental MediaTailor identifica los anuncios disponibles en un manifiesto de DASH mediante marcadores de empalme, inserción y salida de señales horarias, de la siguiente manera:

  • En un manifiesto de DASH de varios períodos, Period se considera un espacio publicitario cuando el primer Event de su secuencia de eventos contiene marcadores cue-out de inserción de división y señal de tiempo. En el DASH de varios períodos, MediaTailor ignora todos los eventos de un período excepto el primero.

  • En un manifiesto de DASH de un solo período, Event se considera un espacio publicitario cuando contiene marcadores cue-out de inserción de división y señal de tiempo.

De forma predeterminada, AWS Elemental MediaTailor administra los manifiestos de DASH como manifiestos de varios períodos. Puede cambiar la configuración de manifiestos de DASH de un solo período desde su servidor de origen. Para obtener más información, consulte Creación de una configuración.

Puede proporcionar marcadores de anuncios en XML vacío o binarios codificados en Base64:

XML vacío

La secuencia de eventos schemeIdUri debe establecerse en urn:scte:scte35:2013:xml y el evento debe tener marcadores scte35:SpliceInfoSection que incluyan una de las siguientes opciones:

  • scte35:SpliceInsert con true establecido en outOfNetworkIndicator

    En el siguiente ejemplo se muestra esta opción con los marcadores necesarios en negrita.

    <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 acompañado de scte35:SegmentationDescriptor scte35:SegmentationUpid con segmentationTypeId establecido en uno de los siguientes números cue-out:

    • 0x22 (inicio pausa)

    • 0x30 (inicio anuncio de proveedor)

    • 0x32 (inicio anuncio de distribuidor)

    • 0x34 (inicio oportunidad de ubicación de proveedor)

    • 0x36 (inicio oportunidad de ubicación de distribuidor)

    En el siguiente ejemplo se muestra esta opción con los marcadores necesarios en negrita. El segmentationTypeId en este ejemplo se establece en 52, que equivale 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>
Binarios codificados en Base64

La secuencia de eventos schemeIdUri debe establecerse en urn:scte:scte35:2014:xml+bin, y el evento debe tener scte35:Signal scte35:Binary que incluya un binario codificado en Base64. Los binarios descodificados deben proporcionar una splice_info_section con el mismo conjunto de información de igual modo que proporcionaría el XML vacío en un elemento scte35:SpliceInfoSection. El tipo de comando debe ser splice_insert() o time_signal(), y la configuración adicional deben cumplir con los tipos descritos anteriormente para la distribución de XML vacío.

En el siguiente ejemplo se muestra esta opción con los marcadores necesarios en negrita.

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

A continuación se presenta el binario descodificado para el primer evento enumerado en el ejemplo anterior. La configuración de splice_command_type es 5, lo 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 } }

En el caso de los manifiestos DASH de varios períodos, AWS Elemental MediaTailor utiliza el primero Event que indica la ubicación del anuncio en una transmisión de eventos e ignora cualquier Event marcador adicional de la transmisión. Para manifiestos de DASH de un solo periodo, MediaTailor considera cada Event.