

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 多时段 DASH 进入 AWS Elemental MediaPackage
<a name="multi-period"></a>

 AWS Elemental MediaPackage提供在 DASH 清单中为 VOD 和实时内容插入多个周期的功能。

周期是 DASH 清单中的大量内容，由起始时间和持续时间定义。默认情况下，整个清单包含在一个句点中，但 MediaPackage 可以将 DASH 清单分成多个时段，以指示广告和主要内容之间的界限。例如，如果您使用 MediaPackage 的是下游广告服务，例如，请在中的 MPEG-DASH **终端节点上选择在广告上触发新时段**。 AWS Elemental MediaTailor MediaPackage此选项 MediaPackage 表明 DASH 清单将使用多个句点进行格式化。
+ 有关的信息 AWS Elemental MediaTailor，请参阅《[https://docs.aws.amazon.com/mediatailor/latest/ug/](https://docs.aws.amazon.com/mediatailor/latest/ug/)。
+ 有关中的 DASH-ISO 端点的信息 MediaPackage，请参阅。[创建 DASH 端点](endpoints-dash.md)
+ 有关多周期 DASH 如何运作的更多信息 MediaPackage，请参阅以下 “*其工作原理*” 部分。

## 多周期 DASH 的工作原理
<a name="how-mp-works"></a>

要使用多时段 DASH 功能，输入的内容 MediaPackage 必须包含 SCTE-35 广告标记消息。这些消息告知 MediaPackage 在何处创建周期边界。以下是 MediaPackage 处理这些消息的方式：

1. MediaPackage 检测来自输入源的 SCTE-35 消息。

1. 使用 SCTE-35 消息的属性， MediaPackage 计算主内容末尾和广告之间的界限。这个计算结果是 (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`消息作为元数据嵌入到各个视频片段中。

如果您使用的是下游广告服务，则该服务会在清单中查找 SCTE-35 标记，并根据这些标记 MediaPackage 提供和插入广告。