

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.

# Integración de una fuente de contenido para la inserción de MediaTailor anuncios
<a name="integrating-origin"></a>

Este tema trata sobre la integración de diferentes tipos de fuentes de contenido de vídeo con MediaTailor. MediaTailoradmite los protocolos de streaming HLS y DASH para contenido en directo y bajo demanda. El servicio puede insertar o reemplazar anuncios durante las pausas publicitarias designadas, y tiene requisitos específicos en cuanto a la estructura y el formato de los manifiestos de vídeo de entrada para habilitar estas funciones. En los siguientes temas se proporcionan detalles sobre los requisitos de la fuente de entrada y los pasos para integrar el contenido de HLS y DASH con el MediaTailor fin de ofrecer experiencias publicitarias personalizadas.

**Topics**
+ [Requisitos de fuente de entrada para la inserción de MediaTailor anuncios](stream-reqmts.md)
+ [Integrar una fuente HLS](manifest-hls.md)
+ [Integrar una fuente MPEG-DASH](manifest-dash.md)
+ [Proteger las interacciones de AWS Elemental MediaTailor origen con SiGv4](origin-sigv4.md)

# Requisitos de fuente de entrada para la inserción de MediaTailor anuncios
<a name="stream-reqmts"></a>

Una fuente de entrada debe cumplir los siguientes requisitos para funcionar con MediaTailor:
+ Utilizar Apple HLS (HTTP Live Streaming) o MPEG DASH (Dynamic Adaptive Streaming a través de HTTP)
+ Utilizar streaming en directo o vídeo a la carta (VOD)
+ Estar accesible en la Internet pública y tener una dirección IP pública
+ Utilice puertos HTTP estándar (puerto 80) o puertos HTTPS (puerto 443). MediaTailor no admite puertos personalizados para la comunicación con el servidor de origen.
+ Contiene marcadores de anuncios en uno de los formatos descritos en el [tutorial Cómo empezar a insertar MediaTailor anuncios](getting-started-ad-insertion.md#getting-started-prep-stream) 

# Integrar una fuente HLS
<a name="manifest-hls"></a>

AWS Elemental MediaTailor admite manifiestos `.m3u8` HLS con un valor igual `3` o superior para `EXT-X-VERSION` la transmisión en directo y el vídeo bajo demanda (VOD). Cuando MediaTailor encuentra una pausa publicitaria, intenta insertarla o sustituirla en función del tipo de contenido. Si no hay suficientes anuncios para cubrir la duración, durante el resto de la pausa publicitaria, MediaTailor muestra el flujo de contenido subyacente o la lista configurada. Para obtener más información sobre el comportamiento de los anuncios HLS en función del tipo de contenido, consulte[Entender AWS Elemental MediaTailor el comportamiento de inserción de anuncios](ad-behavior.md).

En las siguientes secciones se proporciona más información sobre cómo se gestionan los MediaTailor manifiestos de HLS.

**Topics**
+ [Marcadores de anuncios compatibles con HLS](hls-ad-markers.md)
+ [Habilitar el paso a los marcadores de anuncios](ad-marker-passthrough.md)
+ [Gestión de etiquetas de manifiesto HLS](manifest-hls-tags.md)
+ [Ejemplos de manifiestos HLS](manifest-hls-example.md)

# Marcadores de anuncios compatibles con HLS
<a name="hls-ad-markers"></a>

AWS Elemental MediaTailor identifica los límites de disponibilidad de los anuncios en un manifiesto HLS analizando el manifiesto de entrada para detectar los marcadores de anuncios compatibles. En las secciones siguientes se indican los marcadores que utiliza MediaTailor .

## EXT-X-ASSET
<a name="hls-ad-markers-asset"></a>

La etiqueta `EXT-X-ASSET` contiene metadatos que utiliza el servidor de decisión de anuncios (ADS) para personalizar el contenido para el espectador. Los parámetros `EXT-X-ASSET` son pares clave-valor separados por comas.

Para utilizar esta etiqueta, debe cumplir los siguientes requisitos:
+ *Debes codificar en URL los valores del `EXT-X-ASSET` manifiesto de origen.* En el ejemplo siguiente, se muestra la etiqueta `EXT-X-ASSET` con claves y valores codificados mediante URL.

  ```
              #EXT-X-ASSET:GENRE=CV,CAID=12345678,EPISODE="Episode%20Name%20Date",SEASON="Season%20Name%20and%20Number",SERIES="Series%2520Name"
  ```
+ Debe incluir la `[asset.]` variable dinámica y las *claves* en la configuración de ADS. MediaTailor El siguiente ejemplo muestra una configuración de MediaTailor ADS con la `[asset.]` variable dinámica y las claves.

  ```
              https://myads.com/stub?c=[asset.GENRE]&g=[asset.CAID]&e=[asset.EPISODE]&s=[asset.SEASON]&k=[asset.SERIES]
  ```

**Ejemplo de solicitud VAST**  
En el ejemplo siguiente, se muestra una solicitud VAST `GET` a un ADS.

```
            https://myads.com/stub?c=CV&g=12345678&e=Episode%20Name%20Date&s=Season%20Name%20and%20Number&k=Series%2520Name
```

## EXT-X-CUE-OUT y EXT-X-CUE-IN
<a name="hls-ad-markers-cue"></a>

Este tipo de marcador de anuncios es el más común. Los siguientes ejemplos muestran opciones para estos marcadores cue.

```
#EXT-X-CUE-OUT:DURATION=120
    ...
    #EXT-X-CUE-IN
```

```
#EXT-X-CUE-OUT:30.000
    ...
    #EXT-X-CUE-IN
```

```
#EXT-X-CUE-OUT
    ...
    #EXT-X-CUE-IN
```

## EXT-X-DATERANGE
<a name="hls-ad-markers-range"></a>

Con las etiquetas de marcadores de anuncios `EXT-X-DATERANGE`, se utilizan los atributos `SCTE35-OUT` para especificar el tiempo del espacio publicitario. 

**nota**  
AWS Elemental MediaTailor omite los `START-DATE` atributos que se proporcionan para los marcadores de `EXT-X-DATERANGE` anuncios. 

Puede especificar el espacio publicitario de una de las siguientes formas:
+ Etiqueta `EXT-X-DATERANGE` con las especificaciones `SCTE35-OUT` y `DURATION`. 

  Ejemplo

  ```
  #EXT-X-DATERANGE:ID="splice-6FFFFFF0",START-DATE="2019-01T00:15:00Z\",DURATION=60.000,SCTE35-OUT=0xF
  ```
+ Junto con las etiquetas `EXT-X-DATERANGE`, la primera con una especificación `SCTE35-OUT` y la segunda con una especificación `SCTE35-IN`. 

  Ejemplo

  ```
  #EXT-X-DATERANGE:ID="splice-6FFFFFF0",START-DATE="2019-01T00:15:00Z\",SCTE35-OUT=0xF
      ...
      #EXT-X-DATERANGE:ID="splice-6FFFFFF0",START-DATE="2019-01T00:15:00Z\",SCTE35-IN=0xF
  ```
+ Una combinación de las opciones anteriores. Especifique una etiqueta `EXT-X-DATERANGE` con las especificaciones `DURATION` y `SCTE35-OUT` seguidas de una etiqueta `EXT-X-DATERANGE` con una especificación `SCTE35-IN`. En este caso, MediaTailor utiliza la configuración de entrada más temprana de las dos especificaciones.

  Ejemplo

  ```
  #EXT-X-DATERANGE:ID="splice-6FFFFFF0",START-DATE="2019-01T00:15:00Z\",DURATION=60.000,SCTE35-OUT=0xF
      ...
      #EXT-X-DATERANGE:ID="splice-6FFFFFF0",START-DATE="2019-01T00:15:00Z\",SCTE35-IN=0xF
  ```

## EXT-X-SPLICEPOINT- SCTE35
<a name="hls-ad-markers-splice"></a>

Puede añadir la etiqueta del marcador de anuncios `EXT-X-SPLICEPOINT-SCTE35` con una carga de SCTE-35 en binarios codificados en Base64. Los binarios descodificados deben proporcionar un SCTE-35 `splice_info_section` que contenga el marcador cue-out `0x34`, para el inicio de la oportunidad de ubicación del proveedor, y el marcador cue-in `0x35`, para el final de la oportunidad de ubicación. 

En el siguiente ejemplo se muestra la especificación de punto de especificación con cargas binarias con codificación Base64 que especifican los marcadores cue-out y cue-in. 

```
    #EXT-X-SPLICEPOINT-SCTE35:/DA9AAAAAAAAAP/wBQb+uYbZqwAnAiVDVUVJAAAKqX//AAEjW4AMEU1EU05CMDAxMTMyMjE5M19ONAAAmXz5JA==
    ...
    #EXT-X-SPLICEPOINT-SCTE35:/DA4AAAAAAAAAP/wBQb+tTeaawAiAiBDVUVJAAAKqH+/DBFNRFNOQjAwMTEzMjIxOTJfTjUAAIiGK1s=
```

# Habilitar el paso a los marcadores de anuncios
<a name="ad-marker-passthrough"></a>

De forma predeterminada, en el HLS, los manifiestos MediaTailor personalizados no incluyen los marcadores de anuncios SCTE-35 de los manifiestos de origen. Cuando el paso a través de los marcadores de anuncios está activado, MediaTailor pasa los siguientes marcadores de anuncios de los manifiestos de origen a los manifiestos personalizados:
+ EXT-X-CUE-IN
+ EXT-X-CUE-OUT
+ PUNTO DE EMPALME EXT-X- SCTE35

 El paso a través de los marcadores de anuncios es una configuración opcional. Usa la transferencia de marcadores de anuncios si quieres que los marcadores de anuncios de SCTE se incluyan en el MediaTailor manifiesto personalizado. Entre los casos de uso más comunes se incluyen los siguientes: 
+ Reemplazo de contenido: realiza el reemplazo o la restricción de contenido.
+ Seguimiento de anuncios: active la información de seguimiento de anuncios en función de la presencia o ausencia de uno o más marcadores de anuncios.
+ Configuración del reproductor: habilita la función de barrido o del temporizador de cuenta regresiva en la interfaz de usuario del reproductor, en función de la presencia o ausencia de marcadores de anuncios.

**nota**  
MediaTailor no cambia los valores de estos marcadores. Por ejemplo, si `EXT-X-CUE-OUT` tiene un valor de `60` en el manifiesto de origen, pero no se coloca ningún anuncio, no MediaTailor cambiará el valor al `0` del manifiesto personalizado. 

## Habilita el paso a través de los marcadores de anuncios
<a name="enable-ad-marker-passthrough"></a>

Para activar el paso a través de los marcadores de anuncios, utilice las letras Consola de administración de AWS o AWS Command Line Interface ()AWS CLI.

**Para habilitar la transferencia de marcadores de anuncios mediante la consola**

1. Abre la MediaTailor consola en. [https://console.aws.amazon.com/mediatailor/](https://console.aws.amazon.com/mediatailor/)

1.  Seleccione **Nueva configuración** o **Editar configuración**.

1. En la sección **Configuración avanzada**, selecciona **Activar** en el menú desplegable.

**Para habilitar el paso a través de los marcadores de anuncios, utilice la tecla AWS Command Line Interface ()AWS CLI**  
Utilice el comando [put-playback-configuration](https://docs.aws.amazon.com/cli/latest/reference/mediatailor/put-playback-configuration.html).

# Gestión de etiquetas de manifiesto HLS
<a name="manifest-hls-tags"></a>

En esta sección se describe cómo se AWS Elemental MediaTailor gestionan las etiquetas en el manifiesto de salida personalizado.

## EXT-X-CUE etiquetas
<a name="manifest-hls-tags-cue"></a>

MediaTailor reemplaza `EXT-X-CUE-OUT``EXT-X-CUE-OUT-CONT`, y `EXT-X-CUE-IN` etiqueta en el manifiesto de entrada con `EXT-X-DISCONTINUITY` etiquetas en el manifiesto de salida. Las etiquetas `DISCONTINUITY` marcan los siguientes límites:
+ Dónde el contenido principal da paso a un anuncio
+ Dónde un anuncio da paso a otro anuncio
+ Dónde un anuncio vuelve a dar paso al contenido principal

## EXT-X-DATERANGE etiquetas
<a name="manifest-hls-tags-daterange"></a>

MediaTailor pasa las `EXT-X-DATERANGE` etiquetas del manifiesto de entrada al manifiesto de salida. MediaTailor también inserta `EXT-X-DISCONTINUITY` etiquetas que corresponden a las `DATERANGE` etiquetas. Las etiquetas `DISCONTINUITY` marcan los siguientes límites:
+ Dónde el contenido principal da paso a un anuncio
+ Dónde un anuncio da paso a otro anuncio
+ Dónde un anuncio vuelve a dar paso al contenido principal

## EXT-X-KEY etiquetas
<a name="manifest-hls-tags-key"></a>

MediaTailor pasa a través de las `EXT-X-KEY` etiquetas del manifiesto de entrada. Estas etiquetas indican que el contenido principal está cifrado. Como los anuncios no están cifrados, MediaTailor inserta `EXT-X-KEY:METHOD=NONE` al principio del espacio publicitario. Cuando la reproducción vuelva al contenido principal, MediaTailor vuelva a activar el cifrado insertando la `EXT-X-KEY` etiqueta con el `METHOD` valor definido como tipo de cifrado.

## Etiquetas no reconocidas
<a name="manifest-hls-tags-unknown"></a>

MediaTailor pasa por todas las etiquetas desconocidas y personalizadas del manifiesto de entrada al manifiesto de salida.

# Ejemplos de manifiestos HLS
<a name="manifest-hls-example"></a>

En las siguientes secciones se proporcionan ejemplos de manifiestos de origen HLS y manifiestos personalizados. Entender estos ejemplos puede ayudarle a configurar sus flujos de trabajo y a solucionar sus problemas. MediaTailor

Para obtener información sobre cómo se aplican los parámetros de consulta a los manifiestos y segmentos del HLS, consulte. [MediaTailor Inicialización de sesión implícita en HLS](manifest-query-parameters-hls-implicit-session-initialization.md)

## Descripción de los tipos de listas de reproducción HLS
<a name="hls-playlist-overview"></a>

La transmisión en directo HTTP (HLS) utiliza dos tipos principales de listas de reproducción:

Lista de reproducción multivariante  
Una lista de reproducción multivariante es el archivo de índice de nivel superior que muestra todas las copias disponibles del contenido. Contiene referencias a listas de reproducción multimedia, pero no contiene ningún segmento multimedia propiamente dicho. Esta lista de reproducción permite a los reproductores seleccionar la representación más adecuada en función de las condiciones de la red, las capacidades del dispositivo o las preferencias del usuario.  
Este tipo de lista de reproducción también se conoce con otros nombres en varios contextos, como la lista de reproducción maestra, el manifiesto principal, la lista de reproducción principal, la lista de reproducción principal, el archivo de índice o el M3U8 maestro.  
En MediaTailor los flujos de trabajo, la lista de reproducción multivariante es el punto de entrada para las solicitudes de reproducción y es donde comienza la personalización de los anuncios.

Lista de reproducción multimedia  
Una lista de reproducción multimedia contiene la información real del segmento multimedia para una representación (nivel de calidad) específica del contenido. Incluye información sobre la temporización, el segmento URLs y otros metadatos necesarios para la reproducción de una sola copia.  
Este tipo de lista de reproducción también se conoce como lista de reproducción multimedia, manifiesto secundario, lista de fragmentos, M3U8 multimedia o lista de reproducción.  
En MediaTailor los flujos de trabajo, las listas de reproducción multimedia se personalizan para incluir tanto segmentos de contenido como segmentos de anuncios en la secuencia adecuada.

Para obtener información más detallada sobre los tipos de listas de reproducción HLS, consulte[Tipos de listas de reproducción HLS](hls-playlist-types.md).

## Ejemplos de manifiestos de origen de HLS
<a name="manifest-hls-ex-origin"></a>

El siguiente ejemplo muestra una lista de reproducción multivariante de HLS AWS Elemental MediaTailor recibida por HLS desde el origen del contenido.

```
#EXTM3U
    #EXT-X-VERSION:3
    #EXT-X-INDEPENDENT-SEGMENTS
    #EXT-X-STREAM-INF:BANDWIDTH=2665726,AVERAGE-BANDWIDTH=2526299,RESOLUTION=960x540,FRAME-RATE=29.970,CODECS="avc1.640029,mp4a.40.2",SUBTITLES="subtitles"
    index_1.m3u8
    #EXT-X-STREAM-INF:BANDWIDTH=3956044,AVERAGE-BANDWIDTH=3736264,RESOLUTION=1280x720,FRAME-RATE=29.970,CODECS="avc1.640029,mp4a.40.2",SUBTITLES="subtitles"
    index_2.m3u8
    #EXT-X-STREAM-INF:BANDWIDTH=995315,AVERAGE-BANDWIDTH=951107,RESOLUTION=640x360,FRAME-RATE=29.970,CODECS="avc1.4D401E,mp4a.40.2",SUBTITLES="subtitles"
    index_3.m3u8
    #EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subtitles",NAME="caption_1",DEFAULT=YES,AUTOSELECT=YES,FORCED=NO,LANGUAGE="eng",URI="index_4_0.m3u8"
```

En este ejemplo de lista de reproducción multivariante:
+ Las `#EXT-X-STREAM-INF` etiquetas definen distintas variantes de representación con distintas resoluciones y velocidades de bits
+ Cada copia hace referencia a una lista de reproducción multimedia (por ejemplo) `index_1.m3u8`
+ La `#EXT-X-MEDIA` etiqueta define una pista de subtítulos

El siguiente ejemplo muestra una lista de reproducción multimedia de HLS AWS Elemental MediaTailor recibida por HLS desde el origen del contenido. En este ejemplo se utilizan etiquetas `EXT-X-CUE-OUT` y `EXT-X-CUE-IN` para describir oportunidades de espacios publicitarios.

```
#EXTM3U
    #EXT-X-VERSION:3
    #EXT-X-TARGETDURATION:7
    #EXT-X-MEDIA-SEQUENCE:8779957
    #EXTINF:6.006,
    index_1_8779957.ts?m=1566416212
    #EXTINF:6.006,
    index_1_8779958.ts?m=1566416212
    #EXTINF:5.372,
    index_1_8779959.ts?m=1566416212
    #EXT-OATCLS-SCTE35:/DAlAAAAAsvhAP/wFAXwAAAGf+/+AdLfiP4AG3dAAAEBAQAAXytxmQ==
    #EXT-X-CUE-OUT:20.020
    #EXTINF:0.634,
    index_1_8779960.ts?m=1566416212
    #EXT-X-CUE-OUT-CONT:ElapsedTime=0.634,Duration=21,SCTE35=/DAlAAAAAsvhAP/wFAXwAAAGf+/+AdLfiP4AG3dAAAEBAQAAXytxmQ==
    #EXTINF:6.006,
    index_1_8779961.ts?m=1566416212
    #EXT-X-CUE-OUT-CONT:ElapsedTime=6.640,Duration=21,SCTE35=/DAlAAAAAsvhAP/wFAXwAAAGf+/+AdLfiP4AG3dAAAEBAQAAXytxmQ==
    #EXTINF:6.006,
    index_1_8779962.ts?m=1566416212
    #EXT-X-CUE-OUT-CONT:ElapsedTime=12.646,Duration=21,SCTE35=/DAlAAAAAsvhAP/wFAXwAAAGf+/+AdLfiP4AG3dAAAEBAQAAXytxmQ==
    #EXTINF:6.006,
    index_1_8779963.ts?m=1566416212
    #EXT-X-CUE-OUT-CONT:ElapsedTime=18.652,Duration=21,SCTE35=/DAlAAAAAsvhAP/wFAXwAAAGf+/+AdLfiP4AG3dAAAEBAQAAXytxmQ==
    #EXTINF:1.368,
    index_1_8779964.ts?m=1566416212
    #EXT-X-CUE-IN
    #EXTINF:4.638,
    index_1_8779965.ts?m=1566416212
    #EXTINF:6.006,
    index_1_8779966.ts?m=1566416212
    #EXTINF:6.006,
    index_1_8779967.ts?m=1566416212
    #EXTINF:6.006,
    index_1_8779968.ts?m=1566416212
```

En este ejemplo de lista de reproducción multimedia:
+ Las `#EXTINF` etiquetas especifican la duración de cada segmento
+ La `#EXT-X-CUE-OUT` etiqueta marca el comienzo de una pausa publicitaria
+ Las `#EXT-X-CUE-OUT-CONT` etiquetas proporcionan información sobre la pausa publicitaria en curso
+ La `#EXT-X-CUE-IN` etiqueta marca el final de la pausa publicitaria

## Ejemplos de manifiestos personalizados de HLS
<a name="manifest-hls-ex-personalized"></a>

El siguiente ejemplo muestra una lista de reproducción multivariante de HLS que se personalizó. AWS Elemental MediaTailor 

```
#EXTM3U
    #EXT-X-VERSION:3
    #EXT-X-MEDIA:LANGUAGE="eng",AUTOSELECT=YES,FORCED=NO,TYPE=SUBTITLES,URI="../../../manifest/43f3e412052f2808dd84ea1da90e92e914edddee/external-canary-hls/ee1696a8-4f7f-4c4c-99de-9821131847e8/3.m3u8",GROUP-ID="subtitles",DEFAULT=YES,NAME="caption_1"
    #EXT-X-INDEPENDENT-SEGMENTS
    #EXT-X-STREAM-INF:CODECS="avc1.640029,mp4a.40.2",AVERAGE-BANDWIDTH=2526299,RESOLUTION=960x540,SUBTITLES="subtitles",FRAME-RATE=29.97,BANDWIDTH=2665726
    ../../../manifest/43f3e412052f2808dd84ea1da90e92e914edddee/external-canary-hls/ee1696a8-4f7f-4c4c-99de-9821131847e8/0.m3u8
    #EXT-X-STREAM-INF:CODECS="avc1.640029,mp4a.40.2",AVERAGE-BANDWIDTH=3736264,RESOLUTION=1280x720,SUBTITLES="subtitles",FRAME-RATE=29.97,BANDWIDTH=3956044
    ../../../manifest/43f3e412052f2808dd84ea1da90e92e914edddee/external-canary-hls/ee1696a8-4f7f-4c4c-99de-9821131847e8/1.m3u8
    #EXT-X-STREAM-INF:CODECS="avc1.4D401E,mp4a.40.2",AVERAGE-BANDWIDTH=951107,RESOLUTION=640x360,SUBTITLES="subtitles",FRAME-RATE=29.97,BANDWIDTH=995315
    ../../../manifest/43f3e412052f2808dd84ea1da90e92e914edddee/external-canary-hls/ee1696a8-4f7f-4c4c-99de-9821131847e8/2.m3u8
```

Observe cómo MediaTailor se ha modificado la lista de reproducción multimedia URLs para incluir información específica de la sesión que permita la inserción personalizada de anuncios.

El siguiente ejemplo muestra una lista de reproducción multimedia personalizada. AWS Elemental MediaTailor 

```
#EXTM3U
    #EXT-X-VERSION:6
    #EXT-X-TARGETDURATION:7
    #EXT-X-MEDIA-SEQUENCE:8779957
    #EXT-X-DISCONTINUITY-SEQUENCE:0
    #EXTINF:6.006,
    https://777788889999.mediapackage.us-west-2.amazonaws.com/out/v1/e309ffd02ba8498d864dcaacff7a5ad9/index_1_8779957.ts?m=1566416212
    #EXTINF:6.006,
    https://777788889999.mediapackage.us-west-2.amazonaws.com/out/v1/e309ffd02ba8498d864dcaacff7a5ad9/index_1_8779958.ts?m=1566416212
    #EXTINF:5.372,
    https://777788889999.mediapackage.us-west-2.amazonaws.com/out/v1/e309ffd02ba8498d864dcaacff7a5ad9/index_1_8779959.ts?m=1566416212
    #EXT-X-DISCONTINUITY
    #EXTINF:3.066667,
    ../../../../segment/43f3e412052f2808dd84ea1da90e92e914edddee/external-canary-hls/ee1696a8-4f7f-4c4c-99de-9821131847e8/0/8779960
    #EXTINF:3.0,
    ../../../../segment/43f3e412052f2808dd84ea1da90e92e914edddee/external-canary-hls/ee1696a8-4f7f-4c4c-99de-9821131847e8/0/8779961
    #EXTINF:3.0,
    ../../../../segment/43f3e412052f2808dd84ea1da90e92e914edddee/external-canary-hls/ee1696a8-4f7f-4c4c-99de-9821131847e8/0/8779962
    #EXTINF:3.0,
    ../../../../segment/43f3e412052f2808dd84ea1da90e92e914edddee/external-canary-hls/ee1696a8-4f7f-4c4c-99de-9821131847e8/0/8779963
    #EXTINF:2.966667,
    ../../../../segment/43f3e412052f2808dd84ea1da90e92e914edddee/external-canary-hls/ee1696a8-4f7f-4c4c-99de-9821131847e8/0/8779964
    #EXT-X-DISCONTINUITY
    #EXTINF:6.006,
    https://777788889999.mediapackage.us-west-2.amazonaws.com/out/v1/e309ffd02ba8498d864dcaacff7a5ad9/index_1_8779963.ts?m=1566416212
    #EXTINF:1.368,
    https://777788889999.mediapackage.us-west-2.amazonaws.com/out/v1/e309ffd02ba8498d864dcaacff7a5ad9/index_1_8779964.ts?m=1566416212
    #EXTINF:4.638,
    https://777788889999.mediapackage.us-west-2.amazonaws.com/out/v1/e309ffd02ba8498d864dcaacff7a5ad9/index_1_8779965.ts?m=1566416212
    #EXTINF:6.006,
    https://777788889999.mediapackage.us-west-2.amazonaws.com/out/v1/e309ffd02ba8498d864dcaacff7a5ad9/index_1_8779966.ts?m=1566416212
    #EXTINF:6.006,
    https://777788889999.mediapackage.us-west-2.amazonaws.com/out/v1/e309ffd02ba8498d864dcaacff7a5ad9/index_1_8779967.ts?m=1566416212
    #EXTINF:6.006,
    https://777788889999.mediapackage.us-west-2.amazonaws.com/out/v1/e309ffd02ba8498d864dcaacff7a5ad9/index_1_8779968.ts?m=1566416212
```

En este ejemplo de lista de reproducción multimedia personalizada:
+ MediaTailor ha insertado segmentos de anuncios entre los segmentos de contenido
+ Las `#EXT-X-DISCONTINUITY` etiquetas marcan las transiciones entre el contenido y los anuncios
+ Los segmentos de contenido se envían desde el servidor de origen (MediaPackage en este ejemplo)
+ Los segmentos de anuncios se publican desde MediaTailor el almacenamiento de segmentos de anuncios

## Diferencias clave en los manifiestos personalizados
<a name="manifest-hls-key-differences"></a>

Cuando MediaTailor personaliza los manifiestos del HLS, realiza varios cambios importantes:

Cambios en la lista de reproducción multivariante  
+  URLs Las listas de reproducción variantes se reescriben para que apunten a las MediaTailor administradas e incluyan información de URLs la sesión
+ El orden de las etiquetas se puede reorganizar para una reproducción óptima

Cambios en las listas de reproducción variantes  
+ Los marcadores de anuncios (`EXT-X-CUE-OUT`,`EXT-X-CUE-IN`) se sustituyen por segmentos de anuncios reales
+ Los marcadores de discontinuidad (`EXT-X-DISCONTINUITY`) se añaden en content/ad los límites
+  URLs Los segmentos de contenido se reescriben para que apunten al origen o a la CDN
+  URLs Los segmentos de anuncios se añaden para apuntar al almacenamiento MediaTailor del segmento de anuncios

Entender estos cambios puede ayudarte a solucionar problemas en tus MediaTailor flujos de trabajo y a garantizar una configuración adecuada de tu CDN y tu reproductor.

## Temas relacionados
<a name="manifest-hls-related-topics"></a>

Para obtener más información sobre los manifiestos HLS MediaTailor, consulte los siguientes temas:
+ [Tipos de listas de reproducción HLS](hls-playlist-types.md)- Explicación detallada de los tipos de listas de reproducción HLS
+ [Uso de una CDN para optimizar la personalización de MediaTailor anuncios y la entrega de contenido](integrating-cdn.md)- Información sobre el uso de una CDN con MediaTailor
+ [Cómo funciona MediaTailor la inserción de anuncios](what-is-flow.md)- Descripción general de cómo funciona la inserción de MediaTailor anuncios

# Integrar una fuente MPEG-DASH
<a name="manifest-dash"></a>

AWS Elemental MediaTailor admite manifiestos en `.mpd` directo y de vídeo bajo demanda (VOD) que sigan las directrices del perfil dinámico DASH. MediaTailor acepta entradas de manifiestos compatibles con el DASH de varios períodos y de un solo período, y ofrece salidas de manifiestos de varios períodos que cumplen con el DASH. 

Los manifiestos de entrada deben tener lo siguiente:
+ Secuencias de eventos SCTE-35 con ajustes de información de división para `splice insert `o` time signal`. Los ajustes se pueden proporcionar en XML vacío o en binario codificado en base64. 
+ `Segment templates` con `segment timelines`. 

En el caso de los manifiestos publicados, MediaTailor requiere que las actualizaciones del servidor de origen no modifiquen lo siguiente: 
+ Horas de inicio del período, especificadas en el atributo `start`. 
+ Valores de `presentationTimeOffset` en las plantillas de segmento de las representaciones del periodo. 

Se recomienda que el anuncio tenga la misma disponibilidad y la misma `AdaptationSet` `Representation` configuración que los períodos de transmisión del contenido. AWS Elemental MediaTailor utiliza estos ajustes para transcodificar los anuncios para que coincidan con el flujo de contenido, de forma que se pueda cambiar fácilmente entre ambos.

En las siguientes secciones, se proporciona más información sobre cómo se gestionan los anuncios MediaTailor en los manifiestos de DASH.

**Topics**
+ [Marcadores de anuncios de DASH](dash-ad-markers.md)
+ [DASH y duración de disponibilidad](dash-ad-avail-duration.md)
+ [Numeración de segmentos del manifiesto de DASH](dash-manifest-segment-numbering.md)
+ [Ejemplos de DASH MPD](manifest-dash-example.md)
+ [Función de ubicación DASH](dash-location-feature.md)

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

# DASH y duración de disponibilidad
<a name="dash-ad-avail-duration"></a>

Durante la reproducción, cuando AWS Elemental MediaTailor detecta que un anuncio está disponible, este sustituye una parte o la totalidad del anuncio por anuncios. MediaTailor comienza a sustituir el anuncio al principio de la disponibilidad del anuncio e incluye los siguientes anuncios: 
+ Si el anuncio disponible especifica una duración, MediaTailor incluye tantos anuncios como quepan dentro del límite de duración, sin sobrescribir el contenido siguiente. 
+ Si no se indica una duración, se MediaTailor incluyen los anuncios hasta el final del periodo de disponibilidad del anuncio. Para manifiestos de varios períodos, este es el final del período. En el caso de los manifiestos de un solo período, este es el final del evento. MediaTailor no reproduce anuncios después del final del anuncio disponible y, cuando llega al final, trunca el anuncio actual en lugar de sobrescribir el contenido siguiente. 

**¿Cómo AWS Elemental MediaTailor busca la duración de disponibilidad del anuncio**  
AWS Elemental MediaTailor busca una configuración de duración en el siguiente orden: 

1. `Event` `duration`

1. En el caso de inserciones de división, la `scte35:BreakDuration` `duration`

1. En el caso de la señal de tiempo, la `scte35:SegmentationDescriptor` `segmentationDuration`

Si AWS Elemental MediaTailor no encuentra ninguno de estos ajustes, gestiona la inclusión de anuncios sin duración. 

En el siguiente ejemplo se muestra un `Event` que incluye una `duration`.

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

En el siguiente ejemplo se muestra un espacio publicitario para el que no se ha especificado ninguna duración. El `Event` no tiene `duration` y el elemento `scte35:SpliceInsert` no contiene ningún elemento secundario `scte35:BreakDuration`.

```
  <Period start="PT444836.720S" id="123597" duration="PT12.280S">
          <EventStream timescale="90000" schemeIdUri="urn:scte:scte35:2013:xml">
            <Event>
              <scte35:SpliceInfoSection protocolVersion="0" ptsAdjustment="180832" tier="4095">
                <scte35:SpliceInsert spliceEventId="4026531856" spliceEventCancelIndicator="false" outOfNetworkIndicator="true" spliceImmediateFlag="false" uniqueProgramId="1" availNum="1" availsExpected="1">
                  <scte35:Program><scte35:SpliceTime ptsTime="5675385600"/></scte35:Program>
                </scte35:SpliceInsert>
              </scte35:SpliceInfoSection>
            </Event>
            ...
```

# Numeración de segmentos del manifiesto de DASH
<a name="dash-manifest-segment-numbering"></a>

MediaTailor admite los segmentos multimedia `<SegmentTemplate>` que se definen mediante `<SegmentTimeline>` y el `media` atributo. Puede especificar la lista de segmentos multimedia en el atributo `media` utilizando el identificador `$Number$` o el identificador `$Time$`.

 En el siguiente ejemplo se muestra una `SegmentTemplate` con una configuración de atributo `media` que utiliza el identificador `$Number$`.

```
        <SegmentTemplate initialization="index_subtitles_4_0_init.mp4?m=1532451703" media="index_subtitles_4_0_$Number$.mp4?m=1532451703" presentationTimeOffset="1062336677920" startNumber="2349899" timescale="90000">
                <SegmentTimeline>
                  <S d="540540" r="2" t="1062338840080"/>
                  <S d="69069" t="1062340461700"/>
                </SegmentTimeline>
              </SegmentTemplate>
```

 En el siguiente ejemplo se muestra una `SegmentTemplate` con una configuración de atributo `media` que utiliza el identificador `$Time$`.

```
        <SegmentTemplate initialization="asset_720p_8000K_9_init.mp4" media="asset_720p_8000K_9_$Time$.mp4" startNumber="1" timescale="90000">
                <SegmentTimeline>
                  <S d="180000" r="2" t="0"/>
                  <S d="147000" t="540000"/>
                </SegmentTimeline>
              </SegmentTemplate>
```

# Ejemplos de DASH MPD
<a name="manifest-dash-example"></a>

En las siguientes secciones se proporcionan ejemplos de DASH originados MPDs y personalizados MPDs. Entender estos ejemplos puede ayudarte a configurar y solucionar problemas de tus MediaTailor flujos de trabajo.

Para obtener información sobre cómo se aplican los parámetros de consulta a los manifiestos y segmentos de DASH, consulte[MediaTailor Inicialización de sesión implícita de DASH](manifest-query-parameters-dash-implicit-session-initialization.md).

## Comprensión de la estructura MPD de DASH
<a name="dash-mpd-overview"></a>

La transmisión dinámica adaptativa a través de HTTP (DASH) utiliza un manifiesto de descripción de presentación multimedia (MPD) para ofrecer contenido en streaming. El MPD es un documento XML que describe la estructura y la disponibilidad del contenido multimedia.

MPD (descripción de la presentación multimedia)  
El MPD es el archivo de manifiesto principal de la transmisión de DASH que describe la estructura y la disponibilidad del contenido multimedia. Contiene información sobre los períodos, los conjuntos de adaptaciones, las representaciones y los segmentos que componen el contenido de streaming.  
Este tipo de manifiesto también se conoce con otros nombres en varios contextos, como manifiesto de DASH, MPD de DASH, manifiesto maestro (en comparación con HLS) o manifiesto de presentación.  
En MediaTailor los flujos de trabajo, el MPD es el punto de entrada para las solicitudes de reproducción y es donde comienza la personalización de los anuncios.

Periodo  
Un período es una sección temporal de una presentación de DASH. Cada período contiene uno o más conjuntos de adaptaciones y representa un período de tiempo dedicado a los medios de comunicación. En los flujos de trabajo de inserción de anuncios, normalmente se utilizan períodos separados para delimitar entre el contenido y los anuncios.  
En MediaTailor los flujos de trabajo, los períodos se utilizan para separar el contenido principal del contenido del anuncio, y cada anuncio suele estar representado por su propio período.

AdaptationSet  
Y AdaptationSet agrupa un conjunto de versiones codificadas intercambiables de uno o varios componentes del contenido multimedia. Por ejemplo, uno AdaptationSet puede contener varios niveles de calidad de vídeo, mientras que otro puede contener varias opciones de idioma de audio.  
En MediaTailor los flujos de trabajo, AdaptationSets se conservan durante la inserción del anuncio para mantener la coherencia de los tipos de medios entre el contenido y los anuncios.

Representación  
Una representación es una versión codificada específica del contenido multimedia dentro de un AdaptationSet. Por lo general, cada representación difiere en la velocidad de bits, la resolución u otros parámetros de codificación, lo que permite a los clientes seleccionar la versión más adecuada en función de las condiciones de la red y las capacidades del dispositivo.  
En MediaTailor los flujos de trabajo, las representaciones de los períodos publicitarios se ajustan lo más posible a las representaciones de los períodos de contenido para garantizar una experiencia de visualización fluida.

Para obtener información más detallada sobre los tipos de manifiestos de DASH, consulte[Tipos de manifiestos de DASH](dash-manifest-types.md).

Para obtener información sobre la estructura y la configuración de los manifiestos de DASH AWS Elemental MediaPackage, consulte la sección de la Guía del MediaPackage usuario sobre la descripción general de DASH.

## Ejemplos de MPD de DASH en vivo
<a name="dash-manifest-live-examples"></a>

Esta sección proporciona ejemplos de DASH MPDs en vivo. Cada ejemplo muestra un MPD tal como se recibió del servidor de origen y, después, MediaTailor se personalizó el MPD con anuncios.

### Ejemplo de empalme e inserto de DASH MPD
<a name="dash-manifest-splice-insert-example"></a>

**Ejemplo de MPD de origen DASH para un inserto de empalme**  
El siguiente ejemplo de un MPD muestra la disponibilidad de un anuncio en un manifiesto recibido por DASH desde el origen del contenido. En este ejemplo, se usa el `SpliceInsert` marcador para indicar la disponibilidad de un anuncio.

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

En este ejemplo de MPD de origen:
+ El `<EventStream>` elemento contiene marcadores SCTE-35 que indican y están disponibles
+ El `<scte35:SpliceInsert>` elemento proporciona detalles sobre la disponibilidad del anuncio
+ El `<scte35:BreakDuration>` elemento especifica la duración de la pausa publicitaria
+ Los `<AdaptationSet>` elementos definen las transmisiones de vídeo y audio disponibles

**Ejemplo de MPD personalizado de DASH para empalme**  
AWS Elemental MediaTailor personaliza el anuncio disponible con especificaciones publicitarias. Las personalizaciones reflejan los datos del visor que se reciben del reproductor y las campañas publicitarias que se encuentran actualmente en curso. 

En el siguiente ejemplo, se muestra la disponibilidad de un anuncio después AWS Elemental MediaTailor de personalizarlo. 

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

En este ejemplo de MPD personalizado:
+ MediaTailor ha creado un nuevo período para el contenido del anuncio
+ El `<BaseURL>` elemento apunta a la ubicación del contenido del anuncio
+ Los `<AdaptationSet>` elementos mantienen una estructura similar a la del contenido
+ Los `<Representation>` elementos proporcionan diferentes niveles de calidad para el contenido del anuncio

### Ejemplo de señal horaria DASH MPD
<a name="dash-manifest-time-signal-example"></a>

**Ejemplo de MPD de origen DASH para señal horaria**  
El siguiente ejemplo de un MPD muestra la disponibilidad de un anuncio en un manifiesto recibido por DASH desde el origen del contenido. En este ejemplo, se usa el `TimeSignal` marcador para indicar la disponibilidad de un anuncio.

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

En este ejemplo de MPD de origen:
+ El `<scte35:TimeSignal>` elemento se usa en lugar de `<scte35:SpliceInsert>`
+ `<scte35:SegmentationDescriptor>`Proporciona información adicional sobre la disponibilidad del anuncio

**Ejemplo de MPD personalizado de DASH para señal horaria**  
AWS Elemental MediaTailor personaliza el anuncio disponible con especificaciones publicitarias. Las personalizaciones reflejan los datos del visor que se reciben del reproductor y las campañas publicitarias que se encuentran actualmente en curso. 

En el siguiente ejemplo, se muestra la disponibilidad de un anuncio después AWS Elemental MediaTailor de personalizarlo. 

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

El MPD personalizado para la señal horaria es similar al de la inserción de empalmes, ya que MediaTailor crea un nuevo período para el contenido del anuncio.

## Ejemplos de MPD de VOD DASH
<a name="dash-manifest-vod-examples"></a>

En esta sección se proporcionan ejemplos de DASH de vídeo bajo demanda (VOD). MPDs En cada ejemplo se muestra un MPD tal como se recibió del servidor de origen y, después, MediaTailor se personalizó el MPD con anuncios.

Los VOD DASH MPDs siguen la misma estructura que en directo MPDs, pero normalmente tienen un `type="static"` atributo en el elemento MPD y pueden contener varios períodos para distintos segmentos de contenido.

Para ver ejemplos de VOD DASH MPDs, consulte la MediaTailor documentación sobre. [Marcadores de anuncios de DASH](dash-ad-markers.md)

## Diferencias clave en la personalización MPDs
<a name="dash-manifest-key-differences"></a>

Cuando MediaTailor personaliza DASH MPDs, introduce varios cambios importantes:

Manejo de períodos  
+ Se crean nuevos períodos para el contenido de los anuncios
+ Las horas de inicio de los períodos se ajustan para mantener la continuidad del cronograma
+ EventStream los elementos con marcadores SCTE-35 se procesan y eliminan

AdaptationSet y manejo de representaciones  
+ AdaptationSets en los anuncios, los períodos se crean para que coincidan con el contenido AdaptationSets
+ Las representaciones se crean para diferentes niveles de calidad del contenido del anuncio
+ SegmentTemplate los elementos se actualizan para apuntar al contenido del anuncio

Entender estos cambios puede ayudarte a solucionar problemas en tus MediaTailor flujos de trabajo y a garantizar una configuración adecuada de la CDN y el reproductor.

## Temas relacionados
<a name="dash-manifest-related-topics"></a>

Para obtener más información sobre DASH MPDs MediaTailor, consulte los siguientes temas:
+ [Tipos de manifiestos de DASH](dash-manifest-types.md)- Explicación detallada de los tipos de manifiestos de DASH
+ [Uso de una CDN para optimizar la personalización de MediaTailor anuncios y la entrega de contenido](integrating-cdn.md)- Información sobre el uso de una CDN con MediaTailor
+ [Cómo funciona MediaTailor la inserción de anuncios](what-is-flow.md)- Descripción general de cómo funciona la inserción de MediaTailor anuncios
+ Para obtener información completa sobre la estructura y MediaPackage configuración de los manifiestos de DASH, consulta la sección de la Guía del MediaPackage usuario sobre la descripción general de DASH.

# Función de ubicación DASH
<a name="dash-location-feature"></a>

En esta sección se proporciona información acerca de la característica de ubicación de DASH, que está habilitada de forma predeterminada en AWS Elemental MediaTailor. Lea esta sección si crea reglas de enrutamiento de la red de entrega de contenido (CDN) para acceder a los MediaTailor manifiestos. Léala también si utiliza informes del lado del servidor con reproductores que no admiten redireccionamientos HTTP persistentes.

**¿Qué es la característica de ubicación?**  
La característica de ubicación permite a los reproductores que no admiten redireccionamientos HTTP "sticky" proporcionar un comportamiento "sticky" en sus solicitudes de actualización de manifiestos. 

AWS Elemental MediaTailor utiliza la inicialización sin sesión y requiere un comportamiento de redireccionamiento HTTP continuo por parte de sus reproductores. Con los informes del lado del servidor, cuando el jugador solicita una actualización del manifiesto a MediaTailor, el servicio emite una redirección temporal 302 para dirigir al jugador a un punto final para ver el manifiesto personalizado. MediaTailor incluye un identificador de sesión en la respuesta, como parámetro de consulta. El objetivo es que el reproductor siga la URL durante toda la sesión, pero los reproductores que no admiten redireccionamientos HTTP persistentes eliminan el redireccionamiento y vuelven a la dirección URL original. Cuando un jugador vuelve a la URL original, MediaTailor crea una nueva sesión para cada nueva solicitud en lugar de quedarse con la sesión original. Esto puede provocar que se dañe el manifiesto. 

La especificación DASH proporciona una solución a este problema en la función de ubicación, que está habilitada de forma predeterminada en AWS Elemental MediaTailor las configuraciones. Cuando esta función está habilitada, MediaTailor coloca la URL absoluta en la `<Location>` etiqueta del manifiesto. Los reproductores que no admiten redireccionamientos HTTP "sticky" pueden utilizar la dirección URL proporcionada en `<Location>` para solicitar actualizaciones al manifiesto. 

**¿Tengo que deshabilitar la característica de ubicación en mi configuración?**  
La característica de ubicación invalida todas las reglas de direccionamiento de CDN configuradas para acceder a los manifiestos de AWS Elemental MediaTailor , por lo que es posible que tenga que deshabilitarla. La característica de ubicación no afecta al almacenamiento en caché de CDN de segmentos de contenido o anuncios. 

Busque su caso de uso en la lista siguiente para determinar si necesita deshabilitar la característica de ubicación para su configuración y cómo administrarla:
+ Si no dispone de reglas de direccionamiento de CDN para acceder a los manifiestos de AWS Elemental MediaTailor , deje la configuración de ubicación habilitada. 
+ De lo contrario, utilice las reglas siguientes:
  + Si no utiliza informes del lado del servidor o si todos los reproductores admiten redireccionamientos HTTP "sticky", deshabilite la característica de ubicación. Para obtener información sobre cómo hacer esto en la consola, consulte [Crear una configuración MediaTailor de reproducción](configurations-create.md).
  + De lo contrario, póngase en contacto con [AWS Support](https://aws.amazon.com/premiumsupport/).

**¿Tengo que utilizar la característica de ubicación?**  
Debe utilizar la función de ubicación para los jugadores que no admitan redireccionamientos HTTP fijos. Utilice la dirección URL proporcionada en la etiqueta `<Location>` para todas las solicitudes de actualización del manifiesto. 

**Ejemplo**  
Ejemplo URLs y `<Location>` etiqueta de ejemplo.
+   
**Example Ejemplo: dirección URL de solicitud inicial**  

  ```
  https://777788889999.mediatailor.us-east-1.amazonaws.com/v1/dash/5ca4c1892b1f213a1247fad47b3e34c454a7d490/testLocationTag/index.mpd
  ```
+   
**Example Ejemplo: respuesta de redireccionamiento 302**  

  ```
  /v1/dash/5ca4c1892b1f213a1247fad47b3e34c454a7d490/testLocationTag/index.mpd?aws.sessionId=0e5d9b45-ae97-49eb-901b-893d043e0aa6
  ```
+   
**Example Ejemplo: etiqueta de ubicación en un manifiesto**  

  ```
  <Location>https://777788889999.mediatailor.us-east-1.amazonaws.com/v1/dash/5ca4c1892b1f213a1247fad47b3e34c454a7d490/testLocationTag/index.mpd?aws.sessionId=0e5d9b45-ae97-49eb-901b-893d043e0aa6</Location>
  ```

# Proteger las interacciones de AWS Elemental MediaTailor origen con SiGv4
<a name="origin-sigv4"></a>

La versión 4 de Signature (SiGv4) es un protocolo de firma que se utiliza para autenticar MediaTailor las solicitudes de origen compatibles a través de HTTPS. MediaTailor solo admite la comunicación HTTPS y no permite las conexiones HTTP. Con la firma SigV4, MediaTailor incluye un encabezado de autorización firmado en la solicitud de origen HTTPS a MediaTailor Channel Assembly, Amazon S3 y la AWS Elemental MediaPackage versión 2. 

Puedes usar SigV4 en tu origen para asegurarte de que las solicitudes de manifiesto solo se tramiten si proceden de un encabezado de autorización firmado MediaTailor y contienen un encabezado de autorización firmado. De esta forma, se bloquea el acceso a tu contenido de origen a las configuraciones de MediaTailor reproducción no autorizadas. Si el encabezado de autorización firmado es válido, tu origen tramitará la solicitud. Si no es válido, se produce un error en la solicitud.

En las siguientes secciones se describen los requisitos para utilizar la firma MediaTailor SiGv4 en los orígenes compatibles.

## MediaTailor Requisitos de ensamblaje de canales
<a name="origin-sigv4-ca"></a>

Si utiliza SiGv4 para proteger el origen de su ensamblaje de MediaTailor canales, debe cumplir los siguientes requisitos MediaTailor para acceder al manifiesto:
+ La URL base de origen de su MediaTailor configuración debe ser un canal de Channel Assembly con el siguiente formato: `channel-assembly.mediatailor.region.amazonaws.com`
+ Su origen debe estar configurado para usar HTTPS. MediaTailor solo admite la comunicación HTTPS y no permite las conexiones HTTP. Si HTTPS no está activado en el origen, MediaTailor no firmará la solicitud.
+ Tu canal debe tener una política de acceso al origen que incluya lo siguiente:
  + Acceso principal para acceder MediaTailor a tu canal. Concede acceso a **mediatailor.amazonaws.com**.
  + IAM permite a **mediatailor: leer todas las listas de reproducción multivariantes a las que hace referencia la configuración**. GetManifest MediaTailor 

  Para obtener información sobre cómo establecer una política en el canal, consulte. [Cree un canal mediante la consola MediaTailor](channel-assembly-creating-channels.md)

**Example política de acceso al origen para Channel Assembly, que se aplica a la cuenta de MediaTailor configuración**  

```
{
    "Effect": "Allow",
    "Principal": {"Service": "mediatailor.amazonaws.com"},
    "Action": "mediatailor:GetManifest",
    "Resource": "arn:aws:mediatailor:us-west-2:777788889999:channel/ca-origin-channel",
    "Condition": {
        "StringEquals": {"AWS:SourceAccount": "777788889999"}
    }
}
```

**Example política de acceso de origen para Channel Assembly, que abarca la configuración de reproducción MediaTailor**  

```
{
    "Effect": "Allow",
    "Principal": {"Service": "mediatailor.amazonaws.com"},
    "Action": "mediatailor:GetManifest",
    "Resource": "arn:aws:mediatailor:us-west-2:777788889999:channel/ca-origin-channel",
    "Condition": {
        "StringEquals": {"AWS:SourceArn": "arn:aws:mediatailor:us-west-2:777788889999:playbackConfiguration/test"}
    }
}
```

## Requisitos de Amazon S3
<a name="origin-sigv4-s3"></a>

Si utiliza SigV4 para proteger su origen de Amazon S3, debe cumplir los siguientes requisitos para MediaTailor poder acceder al manifiesto:
+ La URL base de origen de su MediaTailor configuración debe ser un bucket de S3 con el siguiente formato: `s3.region.amazonaws.com`
+ Tu origen debe estar configurado para usar HTTPS. MediaTailor solo admite la comunicación HTTPS y no permite las conexiones HTTP. Si HTTPS no está activado en el origen, MediaTailor no firmará la solicitud.
+ Tu canal debe tener una política de acceso al origen que incluya lo siguiente:
  + Acceso principal para acceder MediaTailor a tu bucket. Concede acceso a **mediatailor.amazonaws.com**. 

    Para obtener información sobre la configuración del acceso en IAM, consulte [Administración del acceso](https://docs.aws.amazon.com/) en la *Guía del usuario de AWS Identity and Access Management*. 
  + Permisos de IAM **s3: GetObject ** para leer todos los manifiestos de nivel superior a los que hace referencia la configuración. MediaTailor 

 Para obtener información general sobre SigV4 para Amazon S3, consulte el tema [Autenticación de solicitudes (AWS Signature versión 4)](https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html) en la referencia de la *API de Amazon S3*. 

**Example política de acceso de origen para Amazon S3, que se aplica a la cuenta MediaTailor**  

```
{
    "Effect": "Allow",
    "Principal": {"Service": "mediatailor.amazonaws.com"},
    "Action": "s3:GetObject",
    "Resource": "arn:aws:s3:::mybucket/*",
    "Condition": {
        "StringEquals": {"AWS:SourceAccount": "111122223333"}
    }
}
```

**Example política de acceso de origen para Amazon S3, incluida en la configuración de MediaTailor reproducción**  

```
{
    "Effect": "Allow",
    "Principal": {"Service": "mediatailor.amazonaws.com"},
    "Action": "s3:GetObject",
    "Resource": "arn:aws:s3:::mybucket/*",
    "Condition": {
        "StringEquals": {"AWS:SourceArn": "arn:aws:mediatailor:us-west-2:111122223333:playbackConfiguration/test”}
    }
}
```

## MediaPackage requisitos
<a name="origin-sigv4-mp"></a>

Si utilizas SiGv4 para proteger tu origen MediaPackage de la versión 2, debes cumplir los siguientes requisitos para MediaTailor poder acceder al manifiesto:
+ La URL base de origen de su MediaTailor configuración debe ser un punto final de la MediaPackage versión 2 con el siguiente formato: `mediapackagev2.region.amazonaws.com`
+ Tu origen debe estar configurado para usar HTTPS. MediaTailor solo admite la comunicación HTTPS y no permite las conexiones HTTP. Si HTTPS no está activado en el origen, MediaTailor no firmará la solicitud.
+ Tu canal debe tener una política de acceso al origen que incluya lo siguiente:
  + Acceso principal para acceder MediaTailor a tu punto final. Conceda acceso a **mediatailor.amazonaws.com**. 
  + IAM permite a **mediapackagev2** leer todas las listas de reproducción multivariantes a las que hace referencia la configuración. GetObject MediaTailor 

 Para obtener información general sobre SigV4 para la versión MediaPackage 2, consulte el tema [Autenticación de solicitudes (AWS Signature versión 4)](https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html) en la referencia de la *API de la versión MediaPackage 2*.

**Example política de acceso de origen para la MediaPackage versión 2, que se aplica a la cuenta MediaTailor**  

```
{
    "Effect": "Allow",
    "Principal": {"Service": "mediatailor.amazonaws.com"},
    "Action": "mediapackagev2:GetObject",
    "Resource": "arn:aws:mediapackagev2:us-west-2:444455556666:channelGroup/emp-origin-channel-group/channel/emp-origin-channel/originEndpoint/emp-origin-endpoint",
    "Condition": {
        "StringEquals": {"AWS:SourceAccount": "444455556666"}
    }
}
```

**Example política de acceso de origen para la MediaPackage versión 2, que se limita a la configuración de reproducción MediaTailor**  

```
{
    "Effect": "Allow",
    "Principal": {"Service": "mediatailor.amazonaws.com"},
    "Action": "mediapackagev2:GetObject",
    "Resource": "arn:aws:mediapackagev2:us-west-2:444455556666:channelGroup/emp-origin-channel-group/channel/emp-origin-channel/originEndpoint/emp-origin-endpoint",
    "Condition": {
        "StringEquals": {"AWS:SourceArn": "arn:aws:mediatailor:us-west-2:444455556666:playbackConfiguration/test”"}
    }
}
```