本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
SegmentTemplate
中的 media
屬性
SegmentTemplate
屬性 (Property) 中的 media
屬性 (Attribute) 定義可讓播放裝置傳送區段請求的 URL。根據預設,此 URL 會使用$Number$
變數來識別要求的特定區段。當播放裝置請求該區段時,它會將變數取代為區段的數字識別符。對於呈現中的第一個區段,請將此識別符以來自 SegmentTemplate
屬性的 startNumber
的值取代。每個額外的區段會以一的增量遞增。
在播放可用時,若改為以時間戳記識別區段,有些播放程式能夠更順利地導覽區段。為了支援此使用案例,在 media
屬性的 URL 中, MediaPackage 會使用 $Time$
變數,而不是 $Number$
。當播放裝置請求區段時,它會將此變數換成區段的可用開始時間。此開始時間可在 SegmentTimeline
物件中區段 (S
) 屬性的 t
值中識別。如需範例,請參閱運作方式。
$Time$
變數的運作方式
透過 DASH 端點上的區段範本格式設定啟用$Time$
變數,如中所述建立破折號端點。 AWS Elemental MediaPackage會執行下列動作:
-
MediaPackage 產生 DASH 資訊清單時,它會在
SegmentTemplate
物件的media
值中使用$Time$
變數,如下列範例所示:<SegmentTemplate timescale="30" media="index_video_1_0_
$Time$
.mp4?m=1122792372" initialization="index_video_1_0_init.mp4?m=1122792372" startNumber="2937928"> -
當播放裝置要求區段時,它會使用
media
屬性中定義的 URL,並以要求之區段的可用性開始時間取代變數。重要
取代該變數的值,必須是區段確切的
t
值。如果請求使用任意時間戳記,則 MediaPackage 不會尋求最接近的區段。以下是來自某個簡報的區段範本範例。它使用
$Time$
變數。<SegmentTemplate timescale="30000" media="155_video_1_2_$Time$.mp4?m=1545421124" initialization="155_video_1_2_init.mp4?m=1545421124" startNumber="710"> <SegmentTimeline> <S t="255197799" d="360360" r="8"/> <S t="258441039" d="334334"/> </SegmentTimeline> </SegmentTemplate>
第一個區段的請求 URL 為
155_video_1_2_
。有了 360360 的持續時間,下一個區段請求為255197799
.mp4155_video_1_2_
,以此類推,一直到第九個區段。255558159
.mp4最後一個區段請求為
155_video_1_2_
。258441039
.mp4