

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.

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