

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Intégration d'une source MPEG-DASH
<a name="manifest-dash"></a>

AWS Elemental MediaTailor prend en charge les manifestes `.mpd` en direct et vidéo à la demande (VOD) conformes aux directives du profil dynamique DASH. MediaTailor accepte les entrées de manifeste conformes au DASH sur plusieurs périodes et fournit des sorties de manifeste conformes au DASH sur plusieurs périodes. 

Les manifestes d'entrée doivent comporter les éléments suivants :
+ Des flux d'événement SCTE-35 avec des paramètres d'informations de jointure pour `splice insert `ou` time signal`. Les paramètres peuvent être fournis en XML clair ou en binaire encodé en base64. 
+ `Segment templates` avec `segment timelines`. 

Pour les manifestes publiés, MediaTailor exige que les mises à jour du serveur d'origine laissent les éléments suivants inchangés : 
+ Heures de début de période, spécifiées dans l'attribut `start`. 
+ Valeurs de `presentationTimeOffset` dans les modèles de segment des représentations de la période. 

Il est recommandé d'attribuer à l'annonce les mêmes avantages `AdaptationSet` et `Representation` paramètres que les périodes de diffusion du contenu. AWS Elemental MediaTailor utilise ces paramètres pour transcoder les publicités en fonction du flux de contenu, afin de passer facilement de l'un à l'autre.

Les sections suivantes fournissent plus d'informations sur le traitement des MediaTailor publicités dans les manifestes DASH.

**Topics**
+ [Marqueurs publicitaires DASH](dash-ad-markers.md)
+ [Durée de validité des annonces DASH](dash-ad-avail-duration.md)
+ [Numérotation des segments du manifeste DASH](dash-manifest-segment-numbering.md)
+ [Exemples de MPD DASH](manifest-dash-example.md)
+ [Fonction de localisation DASH](dash-location-feature.md)

# Marqueurs publicitaires DASH
<a name="dash-ad-markers"></a>

MediaTailor 

AWS Elemental MediaTailor utilise les marqueurs de découpe SCTE-35 pour identifier les avantages publicitaires dans le manifeste DASH selon la logique suivante : 
+ **DASH à plusieurs périodes** : MediaTailor insère des publicités pour le premier `Event` de chaque période `Period` contenant des marqueurs `SpliceInsert` ou des `TimeSignal` marqueurs. MediaTailorignore les `Event` marqueurs supplémentaires dans le. `Period`
+ **DASH à période unique** : MediaTailor insère des publicités `Event` dans chacune d'elles `Period` contenant des marqueurs `SpliceInsert` ou des marqueurs de `TimeSignal` découpe.

Par défaut, AWS Elemental MediaTailor gère les manifestes DASH sous forme de manifestes multipériodes. Vous pouvez modifier votre configuration afin de gérer des manifestes DASH à période unique à partir de votre serveur d'origine. Pour plus d'informations, consultez [Création d'une configuration MediaTailor de lecture](configurations-create.md).

Les sections suivantes fournissent des informations supplémentaires sur la gestion des marqueurs publicitaires DASH et fournissent des manifestes décorés dès l'origine.

## Exigences XML du manifeste d'origine DASH
<a name="dash-ad-markers-examples"></a>

Les marqueurs publicitaires présents dans les manifestes DASH dès l'origine doivent être correctement formatés afin MediaTailor d'identifier les pauses publicitaires. Les rubriques suivantes décrivent ces exigences de mise en forme en XML clair.

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

`SpliceInsert`les marqueurs publicitaires au format XML clair doivent contenir les éléments suivants :
+ `EventStream`doit avoir l'attribut suivant : `schemeIdUri=urn:scte:scte35:2013:xml`
+ `Event`doit tenir `scte35:SpliceInfoSection` 
+ `scte35:SpliceInfoSection`doit tenir `scte35:SpliceInsert` 
+ `scte35:SpliceInsert`doit avoir l'attribut suivant : `outOfNetworkIndicator="true"`

**Example `SpliceInsert`en XML**  
Dans l'exemple suivant, les marqueurs SCTE requis sont en gras.   

```
<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 clair
<a name="dash-signal-xml"></a>

`TimeSignal`les marqueurs publicitaires au format XML clair doivent contenir les éléments suivants :
+ `EventStream`doit avoir l'attribut suivant : `schemeIdUri=urn:scte:scte35:2013:xml`
+ `Event`doit tenir `scte35:SpliceInfoSection`
+ `scte35:SpliceInfoSection`doit tenir `scte35:TimeSignal`
+ `scte35:SpliceInfoSection`doit également contenir `scte35:SegmentationDescriptor`
+ `scte35:SegmentationDescriptor`doit avoir l'attribut suivant, dont la valeur est valide [Chiffres de découpe](#dash-signal-xml-values) : `segmentationTypeId="xx"`
+ `scte35:SegmentationDescriptor`doit tenir `scte35:SegmentationUpid` 
<a name="dash-signal-xml-values"></a>
**Chiffres de découpe**  
Les numéros de découpe suivants sont pris en charge pour le. `segmentationTypeId`


| Message de segmentation | Valeur segmentationTypeId | Valeur hexadécimale | 
| --- | --- | --- | 
| Fin de la publicité pour les distributeurs | 51 | 0x51 | 
| Début de la publicité pour les distributeurs | 50 | 0x32 | 
| Fin de l'opportunité de placement chez le distributeur | 55 | 0x37 | 
| Début de l'opportunité de placement chez les distributeurs | 54 | 0x36 | 
| Fin de pause | 35 | 0x23 | 
| Fin de la publicité du fournisseur | 49 | 0x31 | 
| Début de la publicité du fournisseur | 48 | 0 x 30 | 
| Fin de l'opportunité de placement par superposition de fournisseurs | 57 | 0x39 | 
| Début de l'opportunité de placement par superposition de fournisseurs | 56 | 0x38 | 
| Fin de l'opportunité de placement de prestataires | 53 | 0x35 | 
| Début de l'opportunité de placement de prestataires | 52 | 0x34 | 
| Pause de départ | 34 | 0x22 | 

**Example `TimeSignal`en XML**  
Dans l'exemple suivant, les marqueurs SCTE requis sont en gras.   

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

## Exigences binaires codées en base64 pour le manifeste d'origine DASH
<a name="dash-base64"></a>

Les marqueurs publicitaires présents dans les manifestes DASH dès l'origine doivent être correctement formatés afin MediaTailor d'identifier les pauses publicitaires. Les rubriques suivantes décrivent ces exigences de formatage en binaire codé en base64.

Les marqueurs `SpliceInsert` publicitaires `TimeSignal` contenus dans les manifestes codés en base64 doivent tous deux contenir les éléments suivants :
+ `EventStream`doit avoir l'attribut suivant : `urn:scte:scte35:2014:xml+bin`
+ `Event`doit tenir `scte35:Signal`
+ `scte35:Signal`doit contenir un `scte35:Binary` fichier binaire codé en base64. 

Le binaire décodé doit `splice_info_section` fournir les mêmes informations que celles requises pour les marqueurs publicitaires XML clairs.
+ Le type de commande doit être `splice_insert()` soit `time_signal()`
+ Les paramètres supplémentaires doivent être conformes à ceux décrits dans [`TimeSignal`en XML clair](#dash-signal-xml) et[`SpliceInsert`en XML clair](#dash-splice-xml).

 Le binaire décodé doit fournir un `splice_info_section` avec le même ensemble d'informations que le XML clair fournirait dans un élément `scte35:SpliceInfoSection`. La commande doit être de type `splice_insert()` ou `time_signal()` et les paramètres supplémentaires doivent être conformes à ceux décrits précédemment pour une livraison en XML clair. 

L'exemple suivant illustre cette option, avec les marqueurs requis en gras.

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

Voici le binaire décodé pour le premier événement répertorié dans l'exemple précédent. Le paramètre pour `splice_command_type` est 5, ce qui indique `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
        }
      }
```

# Durée de validité des annonces DASH
<a name="dash-ad-avail-duration"></a>

Pendant la diffusion, lorsqu' AWS Elemental MediaTailor une annonce est disponible, elle remplace une partie ou la totalité de cette disponibilité par des publicités. MediaTailor commence le remplacement des annonces dès le début de leur mise à disposition et inclut les annonces comme suit : 
+ Si la disponibilité de la publicité indique une durée, elle MediaTailor inclut autant d'annonces que possible à l'intérieur de la limite de durée, sans remplacer le contenu qui suit. 
+ Si aucune durée n'est indiquée, MediaTailor inclut les publicités jusqu'à la fin de leur période de disponibilité. Pour des manifestes à plusieurs périodes, il s'agit de la fin de la période. Pour les manifestes à période unique, c'est la fin de l'événement. MediaTailor ne diffuse pas de publicités après la fin de leur durée de disponibilité et, lorsqu'elle atteint la fin, tronque l'annonce en cours au lieu de remplacer le contenu qui suit. 

**À quoi AWS Elemental MediaTailor ressemble la durée de disponibilité des publicités**  
AWS Elemental MediaTailor recherche un paramètre de durée dans l'ordre suivant : 

1. `Event` `duration`

1. Pour l'insertion de jointure, le paramètre `scte35:BreakDuration` `duration`

1. Pour le signal temporel, le paramètre `scte35:SegmentationDescriptor` `segmentationDuration`

S'il AWS Elemental MediaTailor ne trouve aucun de ces paramètres, il gère l'inclusion des annonces sans durée. 

L'exemple suivant illustre un `Event` qui a une `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>
              ...
```

L'exemple suivant illustre une diffusion de publicités sans durée spécifiée. L' `Event` n'a pas de `duration` et l'élément `scte35:SpliceInsert` ne contient pas d'élément enfant `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>
            ...
```

# Numérotation des segments du manifeste DASH
<a name="dash-manifest-segment-numbering"></a>

MediaTailor prend en charge les segments multimédias définis à `<SegmentTemplate>` l'aide de l'`media`attribut `<SegmentTimeline>` et. Vous pouvez spécifier la liste des segments multimédias dans l'attribut `media` à l'aide de l'identifiant `$Number$` ou `$Time$`.

 L'exemple suivant illustre un `SegmentTemplate` avec un paramètre d'attribut `media` qui utilise l'identifiant `$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>
```

 L'exemple suivant illustre un `SegmentTemplate` avec un paramètre d'attribut `media` qui utilise l'identifiant `$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>
```

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

Les sections suivantes fournissent des exemples d'origine MPDs et de personnalisation de DASH MPDs. La compréhension de ces exemples peut vous aider à configurer et à résoudre les problèmes liés à vos MediaTailor flux de travail.

Pour plus d'informations sur la façon dont les paramètres de requête sont appliqués aux manifestes et aux segments DASH, consultez[MediaTailor Initialisation implicite de session DASH](manifest-query-parameters-dash-implicit-session-initialization.md).

## Comprendre la structure du DASH MPD
<a name="dash-mpd-overview"></a>

Le streaming adaptatif dynamique via HTTP (DASH) utilise un manifeste MPD (Media Presentation Description) pour diffuser du contenu en streaming. Le MPD est un document XML qui décrit la structure et la disponibilité du contenu multimédia.

MPD (description de la présentation aux médias)  
Le MPD est le principal fichier manifeste du streaming DASH qui décrit la structure et la disponibilité du contenu multimédia. Il contient des informations sur les périodes, les ensembles d'adaptation, les représentations et les segments qui constituent le contenu diffusé en continu.  
Ce type de manifeste est également connu sous plusieurs autres noms dans divers contextes, notamment le manifeste DASH, le DASH MPD, le manifeste principal (par rapport au HLS) ou le manifeste de présentation.  
Dans MediaTailor les flux de travail, le MPD est le point d'entrée pour les demandes de diffusion et c'est là que commence la personnalisation des publicités.

Period  
Une période est une section temporelle d'une présentation DASH. Chaque période contient un ou plusieurs ensembles d'adaptation et représente une période médiatique. Dans les flux de travail d'insertion d'annonces, des périodes distinctes sont généralement utilisées pour faire la distinction entre le contenu et les publicités.  
Dans MediaTailor les flux de travail, les périodes sont utilisées pour séparer le contenu principal du contenu publicitaire, chaque annonce étant généralement représentée par sa propre période.

AdaptationSet  
An AdaptationSet regroupe un ensemble de versions codées interchangeables d'un ou de plusieurs composants de contenu multimédia. Par exemple, l'un AdaptationSet peut contenir plusieurs niveaux de qualité vidéo, tandis qu'un autre peut contenir plusieurs options de langue audio.  
Dans les MediaTailor flux de travail, AdaptationSets ils sont préservés lors de l'insertion des publicités afin de garantir la cohérence des types de médias entre le contenu et les publicités.

Représentation  
Une représentation est une version codée spécifique du contenu multimédia dans un AdaptationSet. Chaque représentation diffère généralement en termes de débit, de résolution ou d'autres paramètres de codage, ce qui permet aux clients de sélectionner la version la plus appropriée en fonction des conditions du réseau et des capacités de l'appareil.  
Dans MediaTailor les flux de travail, les représentations dans les périodes publicitaires sont mises en correspondance aussi étroitement que possible avec les représentations dans les périodes de contenu afin de garantir une expérience de visionnage fluide.

Pour des informations plus détaillées sur les types de manifestes DASH, consultez[Types de manifestes DASH](dash-manifest-types.md).

Pour plus d'informations sur la structure et la configuration du manifeste DASH dans AWS Elemental MediaPackage, consultez la section du guide de MediaPackage l'utilisateur sur la présentation de DASH.

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

Cette section fournit des exemples de DASH en direct MPDs. Chaque exemple répertorie un MPD tel qu'il a été reçu du serveur d'origine et MediaTailor a ensuite personnalisé le MPD avec des publicités.

### Exemple d'insert d'épissure DASH MPD
<a name="dash-manifest-splice-insert-example"></a>

**Exemple de MPD DASH Origin pour un insert Splice**  
L'exemple suivant, tiré d'un MPD, montre une publicité publiée dans un manifeste reçu par DASH depuis l'origine du contenu. Cet exemple utilise le `SpliceInsert` marqueur pour indiquer la disponibilité d'une annonce.

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

Dans cet exemple de MPD d'origine :
+ L'`<EventStream>`élément contient des marqueurs SCTE-35 qui indiquent la disponibilité des publicités
+ L'`<scte35:SpliceInsert>`élément fournit des détails sur la disponibilité de la publicité
+ L'`<scte35:BreakDuration>`élément indique la durée de la pause publicitaire
+ Les `<AdaptationSet>` éléments définissent les flux vidéo et audio disponibles

**Exemple de MPD personnalisé DASH pour insert Splice**  
AWS Elemental MediaTailor personnalise les produits publicitaires avec des spécifications publicitaires. Les personnalisations reflètent les données de l'utilisateur qui sont reçues du lecteur et les campagnes de publicité actuellement en cours. 

L'exemple suivant montre une annonce disponible après l'avoir AWS Elemental MediaTailor personnalisée. 

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

Dans cet exemple de MPD personnalisé :
+ MediaTailor a créé une nouvelle période pour le contenu de l'annonce
+ L'`<BaseURL>`élément pointe vers l'emplacement du contenu publicitaire
+ Les `<AdaptationSet>` éléments conservent une structure similaire à celle du contenu
+ Les `<Representation>` éléments fournissent différents niveaux de qualité pour le contenu publicitaire

### Exemple de signal horaire DASH MPD
<a name="dash-manifest-time-signal-example"></a>

**Exemple de MPD d'origine DASH pour le signal horaire**  
L'exemple suivant, tiré d'un MPD, montre une publicité publiée dans un manifeste reçu par DASH depuis l'origine du contenu. Cet exemple utilise le `TimeSignal` marqueur pour indiquer la disponibilité d'une annonce.

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

Dans cet exemple de MPD d'origine :
+ L'`<scte35:TimeSignal>`élément est utilisé à la place de `<scte35:SpliceInsert>`
+ `<scte35:SegmentationDescriptor>`fournit des informations supplémentaires sur la disponibilité de la publicité

**Exemple de MPD personnalisé DASH pour le signal horaire**  
AWS Elemental MediaTailor personnalise les produits publicitaires avec des spécifications publicitaires. Les personnalisations reflètent les données de l'utilisateur qui sont reçues du lecteur et les campagnes de publicité actuellement en cours. 

L'exemple suivant montre une annonce disponible après l'avoir AWS Elemental MediaTailor personnalisée. 

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

Le MPD personnalisé pour le signal horaire est similaire à celui pour l'insert Splice, avec la MediaTailor création d'une nouvelle période pour le contenu publicitaire.

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

Cette section fournit des exemples de vidéo à la demande (VOD) DASH MPDs. Chaque exemple répertorie un MPD tel qu'il a été reçu du serveur d'origine et MediaTailor a ensuite personnalisé le MPD avec des publicités.

Les VOD DASH MPDs suivent la même structure que les vidéos en direct MPDs, mais elles ont généralement un `type="static"` attribut dans l'élément MPD et peuvent contenir plusieurs périodes pour différents segments de contenu.

Pour des exemples de VOD DASH MPDs, consultez la MediaTailor documentation sur[Marqueurs publicitaires DASH](dash-ad-markers.md).

## Principales différences en matière de personnalisation MPDs
<a name="dash-manifest-key-differences"></a>

Lors de la MediaTailor personnalisation de DASH MPDs, il apporte plusieurs modifications importantes :

Gestion des périodes  
+ De nouvelles périodes sont créées pour le contenu publicitaire
+ Les heures de début des périodes sont ajustées pour maintenir la continuité de la chronologie
+ EventStream les éléments dotés de marqueurs SCTE-35 sont traités et retirés

AdaptationSet et gestion des représentations  
+ AdaptationSets dans l'annonce, des périodes sont créées pour correspondre au contenu AdaptationSets
+ Des représentations sont créées pour différents niveaux de qualité du contenu publicitaire
+ SegmentTemplate les éléments sont mis à jour pour pointer vers le contenu de l'annonce

La compréhension de ces modifications peut vous aider à résoudre les problèmes liés à vos MediaTailor flux de travail et à garantir une configuration correcte de votre CDN et de votre lecteur.

## Rubriques en relation
<a name="dash-manifest-related-topics"></a>

Pour plus d'informations sur DASH MPDs MediaTailor, consultez les rubriques suivantes :
+ [Types de manifestes DASH](dash-manifest-types.md)- Explication détaillée des types de manifestes DASH
+ [Utilisation d'un CDN pour optimiser la personnalisation des MediaTailor publicités et la diffusion de contenu](integrating-cdn.md)- Informations sur l'utilisation d'un CDN avec MediaTailor
+ [Comment fonctionne MediaTailor l'insertion d'annonces](what-is-flow.md)- Vue d'ensemble du fonctionnement de l'insertion d' MediaTailor annonces
+ Pour des informations complètes sur la structure et la MediaPackage configuration du manifeste DASH, consultez la section du guide de MediaPackage l'utilisateur sur la présentation de DASH.

# Fonction de localisation DASH
<a name="dash-location-feature"></a>

Cette section fournit des informations sur la fonctionnalité d'emplacement pour DASH, qui est activée par défaut dans AWS Elemental MediaTailor. Lisez cette section si vous créez des règles de routage du réseau de diffusion de contenu (CDN) pour accéder aux MediaTailor manifestes. Lisez aussi cette section si vous utilisez le reporting côté serveur avec des lecteurs qui ne prennent pas en charge les redirections HTTP permanentes.

**Qu'est-ce que la fonctionnalité d'emplacement ?**  
La fonctionnalité d'emplacement permet aux lecteurs qui ne prennent pas en charge les redirections HTTP permanentes de fournir un comportement permanent dans leurs demandes de mise à jour du manifeste. 

AWS Elemental MediaTailor utilise une initialisation sans session et nécessite un comportement de redirection HTTP persistant de la part de ses joueurs. Avec les rapports côté serveur, lorsque le joueur demande une mise à jour du manifeste MediaTailor, le service émet une redirection temporaire 302, afin de diriger le joueur vers un point de terminaison pour le manifeste personnalisé. MediaTailor inclut un identifiant de session dans la réponse, en tant que paramètre de requête. L'intention est pour le lecteur de suivre l'URL pendant l'intégralité de la session, mais les lecteurs ne prenant pas en charge les redirections HTTP permanentes abandonnent la redirection et reviennent à l'URL d'origine. Lorsqu'un joueur revient à l'URL d'origine, chaque nouvelle demande MediaTailor crée une nouvelle session au lieu de s'en tenir à la session d'origine. Cela peut entraîner une corruption du manifeste. 

La spécification DASH fournit une solution à ce problème grâce à la fonction de localisation, qui est activée par défaut dans les AWS Elemental MediaTailor configurations. Lorsque cette fonctionnalité est activée, MediaTailor place l'URL absolue dans la `<Location>` balise du manifeste. Les lecteurs qui ne prennent pas en charge les redirections HTTP permanentes peuvent utiliser l'URL fournie dans `<Location>` pour demander les mises à jour au manifeste. 

**Est-ce que j'ai besoin de désactiver la fonctionnalité d'emplacement de ma configuration ?**  
La fonctionnalité d'emplacement remplace les règles de routage CDN que vous configurez pour accéder aux manifestes de AWS Elemental MediaTailor . Par conséquent, vous pouvez avoir besoin de la désactiver. La fonctionnalité d'emplacement n'a pas d'incidence sur la mise en cache CDN du contenu ou des segments de publicité. 

Recherchez votre situation dans la liste suivante pour déterminer si vous avez besoin de désactiver la fonctionnalité d'emplacement dans votre configuration et comment la traiter :
+ Si vous n'avez pas de règles d'acheminement de CDN pour accéder aux manifestes de AWS Elemental MediaTailor , laissez le paramètre d'emplacement activé. 
+ Sinon, utilisez les règles suivantes :
  + Si vous n'utilisez pas le reporting côté serveur ou que vos lecteurs prennent tous en charge les redirections HTTP permanentes, désactivez la fonctionnalité d'emplacement. Pour plus d'informations sur la façon de procéder sur la console, consultez [Création d'une configuration MediaTailor de lecture](configurations-create.md).
  + Dans le cas contraire, contactez [AWS Support](https://aws.amazon.com/premiumsupport/).

**Dois-je utiliser la fonctionnalité d'emplacement ?**  
Vous devez utiliser la fonction de localisation pour les joueurs qui ne supportent pas les redirections HTTP persistantes. Utilisez l'URL fournie dans la balise `<Location>` pour toutes les demandes de mise à jour de votre manifeste. 

**Exemple**  
Exemple URLs et exemple de `<Location>` balise.
+   
**Example Exemple d'URL de demande initiale**  

  ```
  https://777788889999.mediatailor.us-east-1.amazonaws.com/v1/dash/5ca4c1892b1f213a1247fad47b3e34c454a7d490/testLocationTag/index.mpd
  ```
+   
**Example Exemple de réponse 302 redirigée**  

  ```
  /v1/dash/5ca4c1892b1f213a1247fad47b3e34c454a7d490/testLocationTag/index.mpd?aws.sessionId=0e5d9b45-ae97-49eb-901b-893d043e0aa6
  ```
+   
**Example Exemple de balise d'emplacement dans un manifeste**  

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