本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
SegmentTemplate
中的 media
属性
SegmentTemplate
属性中的 media
属性定义播放设备在其中发送段请求的 URL。默认情况下,此 URL 使用 $Number$
变量来确定所请求的特定段。当播放设备请求段时,它将该变量替换为段的数字标识符。对于表示形式中的第一个段,将此标识符替换为 SegmentTemplate
属性中 startNumber
的值。每个额外的段增一。
当段改由指示何时可以播放的时间戳来标识时,某些播放器可以更好地在段之间导航。为了支持此用例,MediaPackage 使用 $Time$
变量,而不是 media
属性 URL 中的 $Number$
。当播放设备请求段时,它将该变量替换为段可供使用的开始时间。此开始时间在 SegmentTimeline
对象中的段 (S
) 属性的 t
值中确定。有关示例,请参阅工作方式。
$Time$
变量的工作原理
通过 DASH 端点上的段模板格式设置启用 $Time$
变量,如 创建 DASH 端点 中所述。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