

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Integrazione di una sorgente MPEG-DASH
<a name="manifest-dash"></a>

AWS Elemental MediaTailor supporta manifesti `.mpd` live e video on demand (VOD) che seguono le linee guida per il profilo dinamico DASH. MediaTailor accetta input manifest multiperiodo e a periodo singolo conformi a DASH e fornisce output manifest conformi a DASH multiperiodo. 

I manifest di input devono avere quanto segue:
+ Flussi di eventi SCTE-35 con impostazioni delle informazioni sui collegamenti per `splice insert ` o per ` time signal`. Le impostazioni possono essere fornite in XML o in file binari con codifica Base64. 
+ `Segment templates` con `segment timelines`. 

Per i manifesti pubblicati, richiede che gli aggiornamenti dal server di origine lascino invariati i seguenti elementi: MediaTailor 
+ Tempi di inizio periodo, specificati nell'attributo `start`. 
+ Valori di `presentationTimeOffset` nei modelli di segmento delle rappresentazioni dei periodi. 

È consigliabile che l'annuncio abbia le stesse `Representation` impostazioni `AdaptationSet` e le stesse impostazioni dei periodi di streaming dei contenuti. AWS Elemental MediaTailor utilizza queste impostazioni per transcodificare gli annunci in modo che corrispondano al flusso di contenuti, per passare agevolmente da uno all'altro.

Le sezioni seguenti forniscono ulteriori informazioni su come MediaTailor gestisce gli annunci nei manifesti DASH.

**Topics**
+ [DASH e marker](dash-ad-markers.md)
+ [DASH e durata di Avail](dash-ad-avail-duration.md)
+ [Numerazione dei segmenti del manifesto DASH](dash-manifest-segment-numbering.md)
+ [Esempi DASH MPD](manifest-dash-example.md)
+ [funzione di localizzazione DASH](dash-location-feature.md)

# DASH e marker
<a name="dash-ad-markers"></a>

MediaTailor 

AWS Elemental MediaTailor utilizza i marcatori cue-out SCTE-35 per identificare e utilizzare nel manifesto DASH utilizzando la seguente logica: 
+ **DASH multiperiodico**: MediaTailor inserisce gli annunci per primi di ciascuno di essi che contiene uno o più marcatori cue-out. `Event` `Period` `SpliceInsert` `TimeSignal` MediaTailorignora i marker aggiuntivi in. `Event` `Period`
+ **DASH a periodo singolo**: MediaTailor inserisce ciascuno `Event` degli annunci `Period` che contengono uno o più marcatori. `SpliceInsert` `TimeSignal`

Per impostazione predefinita, AWS Elemental MediaTailor gestisce i manifesti DASH come manifesti multiperiodici. È possibile modificare la configurazione per gestire i manifest DASH a singolo periodo dal server di origine. Per informazioni, consulta [Creazione di una configurazione di riproduzione MediaTailor](configurations-create.md).

Le sezioni seguenti forniscono ulteriori dettagli sulla gestione dei marker pubblicitari di DASH e forniscono manifesti decorati fin dall'origine.

## Requisiti XML del manifesto di origine DASH
<a name="dash-ad-markers-examples"></a>

I marker pubblicitari nei manifesti DASH a partire dall'origine devono essere formattati correttamente per MediaTailor identificare le interruzioni pubblicitarie. I seguenti argomenti descrivono questi requisiti di formattazione in XML chiaro.

### `SpliceInsert`in XML chiaro
<a name="dash-splice-xml"></a>

`SpliceInsert`i marcatori di annunci in formato XML chiaro devono contenere quanto segue:
+ `EventStream`deve avere il seguente attributo: `schemeIdUri=urn:scte:scte35:2013:xml`
+ `Event`deve tenere `scte35:SpliceInfoSection` 
+ `scte35:SpliceInfoSection`deve tenere `scte35:SpliceInsert` 
+ `scte35:SpliceInsert`deve avere il seguente attributo: `outOfNetworkIndicator="true"`

**Example `SpliceInsert`in XML**  
Nell'esempio seguente, i marcatori SCTE richiesti sono in grassetto.   

```
<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`in formato XML chiaro
<a name="dash-signal-xml"></a>

`TimeSignal`i marcatori di annunci in formato XML chiaro devono contenere quanto segue:
+ `EventStream`deve avere il seguente attributo: `schemeIdUri=urn:scte:scte35:2013:xml`
+ `Event`deve tenere `scte35:SpliceInfoSection`
+ `scte35:SpliceInfoSection`deve tenere `scte35:TimeSignal`
+ `scte35:SpliceInfoSection`deve anche tenere `scte35:SegmentationDescriptor`
+ `scte35:SegmentationDescriptor`deve avere il seguente attributo, dove il valore è valido[Numeri cue-out](#dash-signal-xml-values): `segmentationTypeId="xx"`
+ `scte35:SegmentationDescriptor`deve contenere `scte35:SegmentationUpid` 
<a name="dash-signal-xml-values"></a>
**Numeri cue-out**  
Di seguito sono riportati i numeri di cue-out supportati per. `segmentationTypeId`


| Messaggio di segmentazione | segmentationTypeId value | Valore esadecimale | 
| --- | --- | --- | 
| Fine dell'annuncio del distributore | 51 | 0x51 | 
| Inizio della pubblicità del distributore | 50 | 0x32 | 
| Fine dell'opportunità di collocamento dei distributori | 55 | 0x37 | 
| Inizio dell'opportunità di collocamento dei distributori | 54 | 0x36 | 
| Interruzione finale | 35 | 0x23 | 
| Fine della pubblicità del provider | 49 | 0x31 | 
| Inizio della pubblicità del fornitore | 48 | 0x30 | 
| Fine dell'opportunità di collocamento in overlay del provider | 57 | 0x39 | 
| Inizio dell'opportunità di posizionamento in overlay del provider | 56 | 0x38 | 
| Fine dell'opportunità di collocamento del fornitore | 53 | 0x35 | 
| Inizio dell'opportunità di collocamento del fornitore | 52 | 0x34 | 
| Inizia la pausa | 34 | 0x22 | 

**Example `TimeSignal`in XML**  
Nell'esempio seguente, i marcatori SCTE richiesti sono in grassetto.   

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

## Requisiti binari con codifica base64 del manifesto di origine DASH
<a name="dash-base64"></a>

I marker pubblicitari nei manifesti DASH a partire dall'origine devono essere formattati correttamente per identificare le interruzioni pubblicitarie. MediaTailor I seguenti argomenti descrivono questi requisiti di formattazione in un file binario con codifica base64.

Entrambi gli indicatori `SpliceInsert` pubblicitari nei `TimeSignal` manifesti con codifica in base64 devono contenere quanto segue:
+ `EventStream`deve avere il seguente attributo: `urn:scte:scte35:2014:xml+bin`
+ `Event`deve tenere `scte35:Signal`
+ `scte35:Signal`deve contenere un file `scte35:Binary` binario con codifica base64. 

Il file binario decodificato deve fornire `splice_info_section` le stesse informazioni richieste per i marcatori di annunci XML chiari.
+ Il tipo di comando deve essere o `splice_insert()` `time_signal()`
+ Le impostazioni aggiuntive devono essere conformi a quelle descritte in [`TimeSignal`in formato XML chiaro](#dash-signal-xml) e[`SpliceInsert`in XML chiaro](#dash-splice-xml).

 Il file binario decodificato deve fornire un elemento `splice_info_section` con lo stesso set di informazioni che il file XML fornirebbe in un elemento `scte35:SpliceInfoSection`. Il tipo di comando deve essere `splice_insert()` o `time_signal()` e le impostazioni aggiuntive devono rispettare quelle descritte in precedenza per la creazione del file XML. 

L'esempio seguente mostra questa opzione con i contrassegni richiesti in grassetto.

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

Di seguito è riportato il file binario decodificato per il primo evento elencato nell'esempio precedente. L'impostazione per `splice_command_type` è 5, che 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 e durata di Avail
<a name="dash-ad-avail-duration"></a>

Durante la riproduzione, quando AWS Elemental MediaTailor rileva un annuncio pubblicitario, lo sostituisce in tutto o in parte con annunci pubblicitari. MediaTailor avvia la sostituzione degli annunci all'inizio della pubblicazione dell'annuncio e include gli annunci come segue: 
+ Se l'annuncio prevede una durata, MediaTailor include tutti gli annunci che rientrano nel limite di durata, senza sovrascrivere i contenuti che seguono. 
+ Se non viene fornita alcuna durata, MediaTailor include gli annunci fino al termine del periodo di disponibilità dell'annuncio. Per i manifest multi-periodo, si tratta della fine del periodo. Per i manifesti a periodo singolo, questa è la fine dell'evento. MediaTailor non riproduce gli annunci dopo la fine del periodo di disponibilità dell'annuncio e, quando raggiunge la fine, tronca l'annuncio corrente anziché sovrascrivere il contenuto successivo. 

**How cerca la durata della disponibilità dell'annuncio AWS Elemental MediaTailor**  
AWS Elemental MediaTailor cerca un'impostazione di durata nell'ordine seguente: 

1. `Event` `duration`

1. Per l’inserimento di collegamenti, `scte35:BreakDuration` `duration`

1. Per il segnale temporale, `scte35:SegmentationDescriptor` `segmentationDuration`

Se AWS Elemental MediaTailor non trova nessuna di queste impostazioni, gestisce l'inclusione degli annunci senza una durata. 

L'esempio seguente mostra un elemento `Event` con `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'esempio seguente mostra lo spazio pubblicitario senza una durata specificata. L’elemento `Event` non contiene `duration` e l'elemento `scte35:SpliceInsert` non contiene un elemento figlio `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>
            ...
```

# Numerazione dei segmenti del manifesto DASH
<a name="dash-manifest-segment-numbering"></a>

MediaTailor supporta i segmenti multimediali definiti utilizzando l'attributo `<SegmentTimeline>` and. `<SegmentTemplate>` `media` Puoi specificare l'elenco di segmenti multimediali nell’attributo `media` utilizzando l’identificatore `$Number$` o `$Time$`.

 L'esempio seguente mostra `SegmentTemplate` con un’impostazione dell’attributo `media` che usa l’identificatore `$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'esempio seguente mostra `SegmentTemplate` con un’impostazione dell’attributo `media` che usa l’identificatore `$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>
```

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

Le sezioni seguenti forniscono esempi di origine MPDs e personalizzazione di DASH. MPDs La comprensione di questi esempi può aiutarti a configurare e risolvere i tuoi flussi di lavoro. MediaTailor

Per informazioni su come i parametri di query vengono applicati ai manifesti e ai segmenti DASH, consulta. [MediaTailor inizializzazione implicita della sessione DASH](manifest-query-parameters-dash-implicit-session-initialization.md)

## Comprensione della struttura DASH MPD
<a name="dash-mpd-overview"></a>

Dynamic Adaptive Streaming over HTTP (DASH) utilizza un manifesto MPD (Media Presentation Description) per distribuire contenuti in streaming. L'MPD è un documento XML che descrive la struttura e la disponibilità dei contenuti multimediali.

MPD (descrizione della presentazione multimediale)  
L'MPD è il file manifest principale dello streaming DASH che descrive la struttura e la disponibilità dei contenuti multimediali. Contiene informazioni su periodi, set di adattamento, rappresentazioni e segmenti che compongono il contenuto in streaming.  
Questo tipo di manifesto è noto anche con diversi altri nomi in vari contesti, tra cui DASH manifest, DASH MPD, master manifest (se confrontato con HLS) o manifesto di presentazione.  
Nei MediaTailor flussi di lavoro, l'MPD è il punto di ingresso per le richieste di riproduzione ed è qui che inizia la personalizzazione degli annunci.

Periodo  
Un periodo è una sezione temporale di una presentazione DASH. Ogni periodo contiene uno o più set di adattamenti e rappresenta un periodo di tempo multimediale. Nei flussi di lavoro di inserimento degli annunci, in genere vengono utilizzati periodi separati per distinguere tra contenuti e annunci.  
Nei MediaTailor flussi di lavoro, i periodi vengono utilizzati per separare i contenuti principali dai contenuti degli annunci, e ogni annuncio è in genere rappresentato dal proprio periodo.

AdaptationSet  
An AdaptationSet raggruppa un insieme di versioni codificate intercambiabili di uno o più componenti di contenuti multimediali. Ad esempio, uno AdaptationSet potrebbe contenere più livelli di qualità video, mentre un altro potrebbe contenere più opzioni di lingua audio.  
Nei MediaTailor flussi di lavoro, AdaptationSets vengono conservati durante l'inserimento degli annunci per mantenere tipi di media coerenti tra contenuti e annunci.

Rappresentazione  
Una rappresentazione è una versione codificata specifica del contenuto multimediale all'interno di un. AdaptationSet Ogni rappresentazione si differenzia in genere per bitrate, risoluzione o altri parametri di codifica, permettendo ai client di selezionare la versione più appropriata in base alle condizioni di rete e alle funzionalità del dispositivo.  
Nei MediaTailor flussi di lavoro, le rappresentazioni nei periodi degli annunci vengono abbinate il più possibile alle rappresentazioni nei periodi di contenuto per garantire un'esperienza di visualizzazione fluida.

Per informazioni più dettagliate sui tipi di manifest DASH, consulta. [Tipi di manifesto DASH](dash-manifest-types.md)

Per informazioni sulla struttura e sulla configurazione del manifesto DASH in AWS Elemental MediaPackage, consulta la sezione Guida per l' MediaPackage utente sulla panoramica di DASH.

## Esempi live di DASH MPD
<a name="dash-manifest-live-examples"></a>

Questa sezione fornisce esempi di DASH live. MPDs Ogni esempio elenca un MPD ricevuto dal server di origine e successivamente MediaTailor ha personalizzato l'MPD con annunci.

### Esempio di inserto di giunzione DASH MPD
<a name="dash-manifest-splice-insert-example"></a>

**Esempio di MPD di origine DASH per l'inserimento di giunzioni**  
L'esempio seguente tratto da un MPD mostra un annuncio pubblicitario in un manifesto ricevuto da DASH dall'origine del contenuto. Questo esempio utilizza il `SpliceInsert` marker per indicare la disponibilità di un annuncio.

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

In questo esempio MPD di origine:
+ L'`<EventStream>`elemento contiene marcatori SCTE-35 che indicano e utilizza
+ L'`<scte35:SpliceInsert>`elemento fornisce dettagli sulla disponibilità dell'annuncio
+ L'`<scte35:BreakDuration>`elemento specifica la durata dell'interruzione pubblicitaria
+ Gli `<AdaptationSet>` elementi definiscono i flussi video e audio disponibili

**Esempio di MPD personalizzato DASH per l'inserimento di giunzioni**  
AWS Elemental MediaTailor personalizza l'annuncio avvalendosi di specifiche pubblicitarie. Le personalizzazioni rispecchiano i dati relativi allo spettatore ricevuti dal lettore e le campagne pubblicitarie attualmente in corso. 

L'esempio seguente mostra un annuncio avail dopo averlo personalizzato. AWS Elemental MediaTailor 

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

In questo esempio di MPD personalizzato:
+ MediaTailor ha creato un nuovo periodo per il contenuto dell'annuncio
+ L'`<BaseURL>`elemento rimanda alla posizione del contenuto dell'annuncio
+ Gli `<AdaptationSet>` elementi mantengono una struttura simile al contenuto
+ Gli `<Representation>` elementi offrono diversi livelli di qualità per il contenuto dell'annuncio

### Esempio di segnale orario DASH MPD
<a name="dash-manifest-time-signal-example"></a>

**Esempio MPD di origine DASH per il segnale orario**  
L'esempio seguente tratto da un MPD mostra un annuncio pubblicitario in un manifesto ricevuto da DASH dall'origine del contenuto. Questo esempio utilizza il `TimeSignal` marker per indicare la disponibilità di un annuncio.

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

In questo esempio MPD di origine:
+ L'`<scte35:TimeSignal>`elemento viene utilizzato al posto di `<scte35:SpliceInsert>`
+ `<scte35:SegmentationDescriptor>`Fornisce informazioni aggiuntive sulla disponibilità dell'annuncio

**Esempio di MPD personalizzato DASH per segnale orario**  
AWS Elemental MediaTailor personalizza l'annuncio utilizzando specifiche pubblicitarie. Le personalizzazioni rispecchiano i dati relativi allo spettatore ricevuti dal lettore e le campagne pubblicitarie attualmente in corso. 

L'esempio seguente mostra un annuncio avail dopo averlo personalizzato. AWS Elemental MediaTailor 

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

L'MPD personalizzato per Time Signal è simile a quello per Splice Insert, con la MediaTailor creazione di un nuovo Period per il contenuto dell'annuncio.

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

Questa sezione fornisce esempi di video on demand (VOD) DASH. MPDs Ogni esempio elenca un MPD ricevuto dal server di origine e successivamente MediaTailor ha personalizzato l'MPD con annunci pubblicitari.

I VOD DASH MPDs seguono la stessa struttura di live MPDs, ma in genere hanno un `type="static"` attributo nell'elemento MPD e possono contenere più periodi per diversi segmenti di contenuto.

Per esempi di VOD DASH MPDs, consultate la documentazione su. MediaTailor [DASH e marker](dash-ad-markers.md)

## Principali differenze nella personalizzazione MPDs
<a name="dash-manifest-key-differences"></a>

Quando MediaTailor personalizza DASH MPDs, apporta diverse modifiche importanti:

Gestione del periodo  
+ Vengono creati nuovi periodi per i contenuti degli annunci
+ Gli orari di inizio dei periodi vengono modificati per mantenere la continuità della cronologia
+ EventStream gli elementi con marcatori SCTE-35 vengono elaborati e rimossi

AdaptationSet e gestione delle rappresentazioni  
+ AdaptationSets negli annunci I periodi vengono creati in base ai contenuti AdaptationSets
+ Le rappresentazioni vengono create per diversi livelli di qualità del contenuto dell'annuncio
+ SegmentTemplate gli elementi vengono aggiornati in modo che rimandino al contenuto dell'annuncio

La comprensione di queste modifiche può aiutarvi a risolvere i problemi nei MediaTailor flussi di lavoro e a garantire una corretta configurazione del CDN e del lettore.

## Argomenti correlati
<a name="dash-manifest-related-topics"></a>

Per ulteriori informazioni su DASH MPDs e MediaTailor, consulta i seguenti argomenti:
+ [Tipi di manifesto DASH](dash-manifest-types.md)- Spiegazione dettagliata dei tipi di manifest DASH
+ [Utilizzo di un CDN per ottimizzare la personalizzazione MediaTailor degli annunci e la distribuzione dei contenuti](integrating-cdn.md)- Informazioni sull'utilizzo di un CDN con MediaTailor
+ [Come funziona MediaTailor l'inserimento degli annunci](what-is-flow.md)- Panoramica di come funziona l'inserimento MediaTailor degli annunci
+ Per informazioni complete sulla struttura e la MediaPackage configurazione del manifesto DASH, consulta la sezione Guida per l' MediaPackage utente sulla panoramica di DASH.

# funzione di localizzazione DASH
<a name="dash-location-feature"></a>

Questa sezione fornisce informazioni sulla funzionalità di posizione per DASH, che è abilitata per impostazione predefinita in AWS Elemental MediaTailor. Leggi questa sezione se crei regole di routing della rete di distribuzione dei contenuti (CDN) per l'accesso ai MediaTailor manifesti. Questa sezione è utile anche se usi il reporting lato server con lettori che non supportano i reindirizzamenti HTTP persistenti.

**Che cos'è la funzionalità di posizione?**  
La funzionalità di posizione consente ai lettori che non supportano i reindirizzamenti HTTP persistenti di fornire un comportamento persistente nelle relative richieste di aggiornamento dei manifest. 

AWS Elemental MediaTailor utilizza l'inizializzazione senza sessione e richiede un comportamento persistente di reindirizzamento HTTP da parte dei suoi giocatori. Con la segnalazione lato server, quando il giocatore richiede un aggiornamento del manifesto, il servizio emette un reindirizzamento temporaneo 302 MediaTailor, per indirizzare il giocatore a un endpoint per il manifesto personalizzato. MediaTailor include un ID di sessione nella risposta, come parametro di interrogazione. L'obiettivo è fare in modo che il lettore segua l'URL per tutta la sessione, ma i lettori che non supportano i reindirizzamenti HTTP persistenti eliminano il reindirizzamento e tornano all'URL originale. Quando un giocatore torna all'URL originale, per ogni nuova richiesta MediaTailor crea una nuova sessione anziché rimanere con la sessione originale. Questo può causare il danneggiamento del manifest. 

La specifica DASH fornisce una soluzione a questo problema nella funzionalità di localizzazione, che è abilitata di default nelle AWS Elemental MediaTailor configurazioni. Quando questa funzione è abilitata, MediaTailor inserisce l'URL assoluto nel tag manifest`<Location>`. I lettori che non supportano i reindirizzamenti HTTP persistenti possono utilizzare l'URL fornito in `<Location>` per richiedere aggiornamenti al manifest. 

**È necessario disabilitare la funzionalità di posizione nella configurazione?**  
La funzionalità di posizione sostituisce tutte le regole di instradamento CDN configurate per l'accesso ai manifest AWS Elemental MediaTailor , per cui può essere necessario disabilitarla. La funzionalità di posizione non incide sulla memorizzazione dei segmenti di contenuto e annunci nella cache CDN. 

Trova la tua situazione nell'elenco seguente per stabilire se devi disabilitare la funzionalità di posizione per la configurazione e come gestirla:
+ Se non hai configurato le regole di instradamento CDN per l'accesso ai manifest AWS Elemental MediaTailor , lascia abilitata l'impostazione relativa alla posizione. 
+ In caso contrario, usa le regole seguenti:
  + Se non usi il reporting lato server o se tutti i lettori supportano i reindirizzamenti HTTP persistenti, disabilita la funzionalità di posizione. Per informazioni su come effettuare questa operazione nella console, consulta [Creazione di una configurazione di riproduzione MediaTailor](configurations-create.md).
  + Altrimenti, contatta [AWS Support](https://aws.amazon.com/premiumsupport/).

**È necessario usare la funzionalità di posizione?**  
Devi utilizzare la funzione di localizzazione per i giocatori che non supportano i reindirizzamenti HTTP permanenti. Utilizza l'URL specificato nel tag `<Location>` per tutte le richieste di aggiornamento di manifest. 

**Esempio**  
Esempio URLs e tag di esempio. `<Location>`
+   
**Example Esempio: URL di richiesta iniziale**  

  ```
  https://777788889999.mediatailor.us-east-1.amazonaws.com/v1/dash/5ca4c1892b1f213a1247fad47b3e34c454a7d490/testLocationTag/index.mpd
  ```
+   
**Example Esempio: risposta 302 reindirizzata**  

  ```
  /v1/dash/5ca4c1892b1f213a1247fad47b3e34c454a7d490/testLocationTag/index.mpd?aws.sessionId=0e5d9b45-ae97-49eb-901b-893d043e0aa6
  ```
+   
**Example Esempio: tag di posizione in un manifest**  

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