

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# DASH 廣告標記
<a name="dash-ad-markers"></a>

MediaTailor 

AWS Elemental MediaTailor 使用以下邏輯，使用 SCTE-35 提示輸出標記來識別 DASH 資訊清單中的廣告時段：
+ **多期間 DASH**：MediaTailor `TimeSignal` 會在每個包含 `SpliceInsert`或提示輸出標記`Period`的第一個 `Event` 中插入廣告。MediaTailor 會忽略 中的其他`Event`標記`Period`。
+ **單一期間 DASH**：MediaTailor `TimeSignal` 會在 `Event`中插入每個包含 `SpliceInsert`或提示輸出標記`Period`的廣告。

根據預設， 會將 DASH 資訊清單 AWS Elemental MediaTailor 管理為多期間資訊清單。您可以變更您的組態，以處理來自您的原始伺服器的單一期間 DASH 資訊清單。如需相關資訊，請參閱[建立 MediaTailor 播放組態](configurations-create.md)。

下列各節提供 DASH 廣告標記處理的其他詳細資訊，並提供來自原始伺服器的裝飾資訊清單。

## DASH 原始清單檔案 XML 要求
<a name="dash-ad-markers-examples"></a>

原始伺服器 DASH 資訊清單中的廣告標記必須正確格式化，MediaTailor 才能識別廣告休息時間。下列主題以清晰的 XML 描述這些格式要求。

### `SpliceInsert` 以清晰的 XML 顯示
<a name="dash-splice-xml"></a>

`SpliceInsert` 清晰 XML 中的廣告標記必須包含下列項目：
+ `EventStream` 必須具有下列屬性： `schemeIdUri=urn:scte:scte35:2013:xml`
+ `Event` 必須保留 `scte35:SpliceInfoSection` 
+ `scte35:SpliceInfoSection` 必須保留 `scte35:SpliceInsert` 
+ `scte35:SpliceInsert` 必須具有下列屬性： `outOfNetworkIndicator="true"`

**Example `SpliceInsert` 以 XML 顯示**  
在下列範例中，必要的 SCTE 標記以粗體顯示。  

```
<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` 以清晰的 XML 顯示
<a name="dash-signal-xml"></a>

`TimeSignal` 清晰 XML 中的廣告標記必須包含下列項目：
+ `EventStream` 必須具有下列屬性： `schemeIdUri=urn:scte:scte35:2013:xml`
+ `Event` 必須保留 `scte35:SpliceInfoSection`
+ `scte35:SpliceInfoSection` 必須保留 `scte35:TimeSignal`
+ `scte35:SpliceInfoSection` 也必須保留 `scte35:SegmentationDescriptor`
+ `scte35:SegmentationDescriptor` 必須具有下列屬性，其中 值是有效的 [Cue-out 號碼](#dash-signal-xml-values)： `segmentationTypeId="xx"`
+ `scte35:SegmentationDescriptor` 必須保留 `scte35:SegmentationUpid` 
<a name="dash-signal-xml-values"></a>
**Cue-out 號碼**  
以下是 支援的提示號碼`segmentationTypeId`。


| 分割訊息 | segmentationTypeId 值 | 十六進位值 | 
| --- | --- | --- | 
| 經銷商公告結束 | 51 | 0x51 | 
| 經銷商公告開始 | 50 | 0x32 | 
| 經銷商置放機會結束 | 55 | 0x37 | 
| 經銷商置放機會開始 | 54 | 0x36 | 
| 結束休息時間 | 35 | 0x23 | 
| 供應商公告結束 | 49 | 0x31 | 
| 供應商公告開始 | 48 | 0x30 | 
| 提供者浮水印置放機會結束 | 57 | 0x39 | 
| 供應商浮水印置放機會開始 | 56 | 0x38 | 
| 提供者置放機會結束 | 53 | 0x35 | 
| 供應商置放機會開始 | 52 | 0x34 | 
| 開始休息時間 | 34 | 0x22 | 

**Example `TimeSignal` XML 中的**  
在下列範例中，必要的 SCTE 標記以粗體顯示。  

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

## DASH 原始清單檔案 base64 編碼的二進位需求
<a name="dash-base64"></a>

原始伺服器 DASH 資訊清單中的廣告標記必須正確格式化，MediaTailor 才能識別廣告休息時間。下列主題說明 base64 編碼二進位檔中的這些格式需求。

base64 編碼資訊清單中的 `SpliceInsert` `TimeSignal`和廣告標記都必須包含下列項目：
+ `EventStream` 必須具有下列屬性： `urn:scte:scte35:2014:xml+bin`
+ `Event` 必須保留 `scte35:Signal`
+ `scte35:Signal` 必須保留包含 base64 編碼二進位檔`scte35:Binary`的 。

解碼的二進位檔必須提供`splice_info_section`與清晰 XML 廣告標記所需資訊相同的資訊。
+ 命令類型必須是 `splice_insert()`或 `time_signal()`
+ 其他設定必須符合 [`TimeSignal` 以清晰的 XML 顯示](#dash-signal-xml)和 中所述的設定[`SpliceInsert` 以清晰的 XML 顯示](#dash-splice-xml)。

 解碼的二進位必須提供 `splice_info_section`，其具有與 `scte35:SpliceInfoSection` 元素中 Clear XML 將提供的一組相同資訊。此命令類型必須是 `splice_insert()` 或 `time_signal()`，並且其他設定必須遵守前述針對 Clear XML 交付所述的資訊。

以下範例顯示此選項，必要標記以粗體表示。

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

以下是前述範例中所列第一個事件解碼的二進位檔。`splice_command_type` 的設定為 5，這表示 `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
        }
      }
```