media中的 属性SegmentTemplate - Amazon Elemental MediaPackage

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

media中的 属性SegmentTemplate

SegmentTemplate 属性中的 media 属性定义播放设备在其中发送段请求的 URL。默认情况下,此 URL 使用 $Number$ 变量来确定所请求的特定段。当播放设备请求段时,它将该变量替换为段的数字标识符。对于表示形式中的第一个段,将此标识符替换为 SegmentTemplate 属性中 startNumber 的值。每个额外的段增一。

当段改由指示何时可以播放的时间戳来标识时,某些播放器可以更好地在段之间导航。为了支持此使用案例,MediaPackage 使用$Time$而不是$Number$的 URLmedia属性。当播放设备请求段时,它将该变量替换为段可供使用的开始时间。此开始时间在 SegmentTimeline 对象中的段 (S) 属性的 t 值中确定。有关示例,请参阅工作方式

操作方法$Time$变量的工作

启用$Time$变量通过段模板格式设置,如创建 DASH 终端节点。AWS Elemental MediaPackage 执行以下操作:

  1. 当 AWS Elemental MediaPackage 成短跑清单时,它会使用$Time$中的变量media的值SegmentTemplate对象执行,如以下示例所示:

    <SegmentTemplate timescale="30" media="index_video_1_0_$Time$.mp4?m=1122792372" initialization="index_video_1_0_init.mp4?m=1122792372" startNumber="2937928">
  2. 当播放设备请求段时,它使用在 media 属性中定义的 URL,并将此变量替换为所请求的段可供使用的开始时间。

    重要

    替换变量的值必须是段的确切 t 值。如果请求使用任意时间戳,AWS Elemental 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_255197799.mp4。使用 360360 持续时间,下一个段请求为 155_video_1_2_255558159.mp4,以此类推,直到第九个段。

    最后一个段请求为 155_video_1_2_258441039.mp4