本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWS Elemental MediaPackage 中的多重期間 DASH
在中提供在 DASH 資訊清單中為 VOD 和即時通訊清單插入多個句點的功能。AWS Elemental MediaPackage
期間是 DASH 資訊清單中的一種內容區塊,由開始時間和持續時間所定義。根據預設,整個資訊清單包含在一個期間,但 MediaPackage 可以將 DASH 資訊清單分割為多個期間,以指出廣告與主要內容之間的界限。舉例來說,如果您要 MediaPackage 搭配下游廣告服務 (例如) 使用AWS Elemental MediaTailor,請在中的 MPEG-DASH 端點上選擇 [觸發新的廣告期間]。 MediaPackage此選項告 MediaPackage 訴 DASH 資訊清單將使用多個句點進行格式化。
如需 AWS Elemental MediaTailor 的詳細資訊,請參閱 AWS Elemental MediaTailor 使用者指南。
-
若要取得有關中的 DAS-ISO 端點的資訊 MediaPackage,請參閱。建立破折號端點
-
有關多週期 DASH 如何工作的更多信息 MediaPackage,請參閱下面的工作原理部分。
多週期 DASH 如何工作
若要使用多週期 DASH 功能, MediaPackage 必須輸入 SCTE-35 廣告標記訊息。這些訊息會告知 MediaPackage 要在何處建立週期邊界。這是 MediaPackage 處理這些消息的方式:
-
MediaPackage 偵測來自輸入來源的 SCTE-35 訊息。
-
使用 SCTE-35 訊息的屬性, MediaPackage 計算主要內容結尾與廣告之間的界限。此計算方式為 (節點 35
ptsAdjustment
+ 節點 35)/(ptsTime
)。EventStreamtimescale
在下列範例中,該期間的開始為 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>
-
MediaPackage 將包含其他資訊的
EventStream
Event
、和scte35
標記插入資訊清單中,並以Period
標記圍住廣告期間,如上述範例所示。 MediaPackage 將第一個廣告期間之前的所有適應集分組為一個時段,廣告後的任何後續適應集都會分組為一個時段,直到下一個 SCTE-35 標記為止。以下是擁有多重期間的完整資訊清單範例。它使用了SpliceInsert
SCTE-35 廣告標記:<?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 提供並插入廣告。