

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.

# Marcadores de anuncios de DASH
<a name="dash-ad-markers"></a>

MediaTailor 

AWS Elemental MediaTailor Utiliza los marcadores de exclusión SCTE-35 para identificar los anuncios disponibles en el manifiesto de DASH mediante la siguiente lógica: 
+ **DASH de varios períodos**: MediaTailor inserta anuncios para el primero `Event` de cada uno de ellos `Period` que contenga uno o varios marcadores. `SpliceInsert` `TimeSignal` MediaTailorignora los marcadores adicionales `Event` en el. `Period`
+ **DASH de un solo período**: MediaTailor inserta anuncios `Event` en cada uno de los `Period` que contienen uno `SpliceInsert` o varios marcadores`TimeSignal`.

De forma predeterminada, AWS Elemental MediaTailor gestiona 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 información, consulte [Crear una configuración MediaTailor de reproducción](configurations-create.md).

En las siguientes secciones se proporciona información adicional sobre el manejo de los marcadores de anuncios de DASH y se muestran los manifiestos decorados desde su origen.

## Requisitos XML del manifiesto de origen de DASH
<a name="dash-ad-markers-examples"></a>

Los marcadores de anuncios de los manifiestos de DASH del origen deben tener el formato adecuado MediaTailor para identificar las pausas publicitarias. En los siguientes temas se describen estos requisitos de formato en XML transparente.

### `SpliceInsert`en XML transparente
<a name="dash-splice-xml"></a>

`SpliceInsert`los marcadores de anuncios en XML transparente deben contener lo siguiente:
+ `EventStream`debe tener el siguiente atributo: `schemeIdUri=urn:scte:scte35:2013:xml`
+ `Event`debe contener `scte35:SpliceInfoSection` 
+ `scte35:SpliceInfoSection`debe aguantar `scte35:SpliceInsert` 
+ `scte35:SpliceInsert`debe tener el siguiente atributo: `outOfNetworkIndicator="true"`

**Example `SpliceInsert`en XML**  
En el siguiente ejemplo, los marcadores SCTE obligatorios aparecen 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>
  .
  .
  .
</Period>
```

### `TimeSignal`en XML transparente
<a name="dash-signal-xml"></a>

`TimeSignal`los marcadores de anuncios en XML transparente deben contener lo siguiente:
+ `EventStream`debe tener el siguiente atributo: `schemeIdUri=urn:scte:scte35:2013:xml`
+ `Event`debe contener `scte35:SpliceInfoSection`
+ `scte35:SpliceInfoSection`debe aguantar `scte35:TimeSignal`
+ `scte35:SpliceInfoSection`también debe sostener `scte35:SegmentationDescriptor`
+ `scte35:SegmentationDescriptor`debe tener el siguiente atributo, donde el valor es válido[Números recortados](#dash-signal-xml-values): `segmentationTypeId="{{xx}}"`
+ `scte35:SegmentationDescriptor`debe mantener `scte35:SegmentationUpid` 
<a name="dash-signal-xml-values"></a>
**Números recortados**  
Los siguientes son los números de corte admitidos para el. `segmentationTypeId`


| Mensaje de segmentación | Valor de segmentationTypeId | Valor hexadecimal | 
| --- | --- | --- | 
| Fin del anuncio del distribuidor | 51 | 0x51 | 
| Inicio del anuncio del distribuidor | 50 | 0x32 | 
| Se acabó la oportunidad de colocación de distribuidores | 55 | 0x37 | 
| Comienza la oportunidad de colocación de distribuidores | 54 | 0x36 | 
| Pausa final | 35 | 0x23 | 
| Fin del anuncio del proveedor | 49 | 0x31 | 
| Inicio del anuncio del proveedor | 48 | 0x30 | 
| Fin de la oportunidad de colocación de proveedores | 57 | 0x39 | 
| Inicio de la oportunidad de colocación superpuesta de proveedores | 56 | 0x38 | 
| Se acabó la oportunidad de colocación de proveedores | 53 | 0x35 | 
| Comienza la oportunidad de colocación de proveedores | 52 | 0x34 | 
| Comience el descanso | 34 | 0x22 | 

**Example `TimeSignal`en XML**  
En el siguiente ejemplo, los marcadores SCTE obligatorios aparecen en negrita.   

```
<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>
  .
  .
  .
</Period>
```

## Manifiesto de origen DASH: requisitos binarios codificados en base64
<a name="dash-base64"></a>

Los marcadores de anuncios de los manifiestos de DASH del origen deben tener el formato adecuado MediaTailor para identificar las pausas publicitarias. En los siguientes temas se describen estos requisitos de formato en formato binario codificado en base64.

`TimeSignal`Tanto los marcadores como los `SpliceInsert` anuncios de los manifiestos codificados en base64 deben contener lo siguiente:
+ `EventStream`debe tener el siguiente atributo: `urn:scte:scte35:2014:xml+bin`
+ `Event`debe contener `scte35:Signal`
+ `scte35:Signal`debe contener un `scte35:Binary` binario codificado en base64. 

El binario decodificado debe incluir la misma información que la necesaria para borrar los marcadores de anuncios XML. `splice_info_section`
+ El tipo de comando debe ser uno o `splice_insert()` `time_signal()`
+ La configuración adicional debe cumplir con la descrita en [`TimeSignal`en XML transparente](#dash-signal-xml) y[`SpliceInsert`en XML transparente](#dash-splice-xml).

 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</scte35:Binary>
        </scte35:Signal>
      </Event>
      <Event presentationTime="1541436360" duration="24" id="30">
        <scte35:Signal xmlns="http://www.scte.org/schemas/35/2016">
          <scte35:Binary>QW5vdGhlciB0ZXN0IHN0cmluZyBmb3IgZW5jb2RpbmcgdG8gQmFzZTY0IGVuY29kZWQgYmluYXJ5Lg==</scte35:Binary>
        </scte35:Signal>
      </Event>
  .
  .
  .
</Period>
```

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