

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

# 中的多期間 DASH AWS Elemental MediaPackage
<a name="multi-period"></a>

您可以在 中同時為 VOD 和即時資訊清單中插入多個期間 AWS Elemental MediaPackage。

期間是 DASH 資訊清單中的一種內容區塊，由開始時間和持續時間所定義。根據預設，整個資訊清單會包含在一個期間，但 MediaPackage 可以將 DASH 資訊清單分割成多個期間，以指出廣告和主要內容之間的界限。例如，如果您使用 MediaPackage 搭配下游廣告服務， AWS Elemental MediaTailor請選擇 MediaPackage 中 MPEG-DASH 端點上的**廣告觸發新期間**。此選項會告知 MediaPackage DASH 資訊清單要格式化為多個期間。
+ 如需 的詳細資訊 AWS Elemental MediaTailor，請參閱 [https://docs.aws.amazon.com/mediatailor/latest/ug/](https://docs.aws.amazon.com/mediatailor/latest/ug/)。
+ 如需 MediaPackage 中 DASH-ISO 端點的資訊，請參閱 [建立 DASH 端點](endpoints-dash.md)。
+ 如需多期間 DASH 如何在 MediaPackage 中運作的詳細資訊，請參閱下列*運作方式*一節。

## 多期間 DASH 的運作方式
<a name="how-mp-works"></a>

若要使用多期間 DASH 功能，MediaPackage 的輸入必須具有 SCTE-35 廣告標記訊息。這些訊息會通知 MediaPackage 在何處建立期間界限。這就是 MediaPackage 處理這些訊息的方式：

1. MediaPackage 從輸入來源偵測 SCTE-35 訊息。

1. MediaPackage 使用 SCTE-35 訊息的屬性，計算邊界介於主要內容結尾和廣告之間的位置。此計算為 (scte35 `ptsAdjustment`\+ scte35 `ptsTime`)/(EventStream `timescale`)。  
**Example**  

   在下列範例中，該期間的開始為 44.075 秒，因為 (183003 \+ 3783780)/90000 = 44.075：

   ```
   <Period start="PT44.075S" id="21">
       <EventStream timescale="90000" schemeIdUri="urn:scte:scte35:2013:xml">
         <Event>
           <scte35:SpliceInfoSection protocolVersion="0" ptsAdjustment="183003" tier="4095">
             <scte35:SpliceInsert spliceEventId="1000" spliceEventCancelIndicator="false" outOfNetworkIndicator="true" spliceImmediateFlag="false" uniqueProgramId="7" availNum="1" availsExpected="4">
               <scte35:Program><scte35:SpliceTime ptsTime="3783780"/></scte35:Program>
             </scte35:SpliceInsert>
           </scte35:SpliceInfoSection>
         </Event>
       </EventStream>
        .
        .
   </Period>
   ```

1. MediaPackage 會將具有額外資訊的 `EventStream`、 `Event`和 `scte35`標籤插入資訊清單中，並使用`Period`標籤包圍廣告期間，如上述範例所示。MediaPackage 將所有調整集在第一個廣告期間之前分組為一段期間，並在廣告分組為一段期間之後的任何後續調整集，直到下一個 SCTE-35 標記為止。以下是擁有多重期間的完整資訊清單範例。它使用了 `SpliceInsert` SCTE-35 廣告標記：  
**Example**  

   ```
   <?xml version="1.0" encoding="utf-8"?>
   <MPD>
     <Period start="PT0.000S" id="0" duration="PT44.075S">
       <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=1528413503" initialization="index_video_1_0_init.mp4?m=1528413503" startNumber="6" presentationTimeOffset="0">
             <SegmentTimeline>
               <S t="361301" d="60060" r="15"/>
             </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=1528413503" initialization="index_audio_2_0_init.mp4?m=1528413503" startNumber="6" presentationTimeOffset="0">
             <SegmentTimeline>
               <S t="578305" d="96256" r="3"/>
               <S t="963329" d="95232"/>
               <S t="1058561" d="96256" r="5"/>
               <S t="1636097" d="95232"/>
               <S t="1731329" d="96256" r="3"/>
             </SegmentTimeline>
           </SegmentTemplate>
         </Representation>
       </AdaptationSet>
     </Period>
     <Period start="PT44.075S" id="21">
       <EventStream timescale="90000" schemeIdUri="urn:scte:scte35:2013:xml">
         <Event>
           <scte35:SpliceInfoSection protocolVersion="0" ptsAdjustment="183003" tier="4095">
             <scte35:SpliceInsert spliceEventId="1000" spliceEventCancelIndicator="false" outOfNetworkIndicator="true" spliceImmediateFlag="false" uniqueProgramId="7" availNum="1" availsExpected="4">
               <scte35:Program><scte35:SpliceTime ptsTime="3783780"/></scte35:Program>
             </scte35:SpliceInsert>
           </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=1528413503" initialization="index_video_1_0_init.mp4?m=1528413503" startNumber="22" presentationTimeOffset="1322261">
             <SegmentTimeline>
               <S t="1322261" d="60060" r="13"/>
             </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=1528413503" initialization="index_audio_2_0_init.mp4?m=1528413503" startNumber="22" presentationTimeOffset="2115617">
             <SegmentTimeline>
               <S t="2116353" d="96256"/>
               <S t="2212609" d="95232"/>
               <S t="2307841" d="96256" r="5"/>
               <S t="2885377" d="95232"/>
               <S t="2980609" d="96256" r="4"/>
             </SegmentTimeline>
           </SegmentTemplate>
         </Representation>
       </AdaptationSet>
     </Period>
   </MPD>
   ```

   如果您的輸入有 `TimeSignal` SCTE-35 廣告標記，而不是 `SpliceInsert`，則廣告期間的 EventStream 會如下所示：

   ```
   <EventStream timescale="90000" schemeIdUri="urn:scte:scte35:2013:xml">
     <Event>
       <scte35:SpliceInfoSection protocolVersion="0" ptsAdjustment="183265" tier="4095">
         <scte35:TimeSignal>
           <scte35:SpliceTime ptsTime="1350000"/>
         </scte35:TimeSignal>
         <scte35:SegmentationDescriptor segmentationEventId="1073741825" segmentationEventCancelIndicator="false" segmentationDuration="450000">
           <scte35:DeliveryRestrictions webDeliveryAllowedFlag="false" noRegionalBlackoutFlag="true" archiveAllowedFlag="true" deviceRestrictions="3"/>
           <scte35:SegmentationUpid segmentationUpidType="1" segmentationUpidLength="3" segmentationTypeId="48" segmentNum="0" segmentsExpected="0">012345</scte35:SegmentationUpid>
         </scte35:SegmentationDescriptor>
       </scte35:SpliceInfoSection>
     </Event>
   </EventStream>
   ```

   MediaPackage 也會將`scte35:SpliceInsert`訊息內嵌為個別影片區段中的中繼資料。

如果您使用的是下游廣告服務，該服務會在 MediaPackage 提供的清單中尋找 SCTE-35 標記，並根據這些標記插入廣告。