MediaConvert
用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

将设置变量与流输出结合使用

作业中的变量(也称作格式标识符)对 Apple HLS 和 DASH ISO 输出组中的输出的功能不同。差异如下:

对于 Apple HLS 输出

当您在 Segment modifier (段修饰符) 设置中使用日期和时间格式标识符($dt$$t$$d$)时,这些格式标识符将解析为每个段的完成时间而非作业的开始时间。

注意

对于使用加速转码的作业,各个段可能将同时完成。这意味着日期和时间格式标识符并不总是解析为唯一值。

对于 DASH ISO 输出

您可以在 Name modifier (名称标识符) 设置中使用两个额外的格式标识符。它们将影响 DASH 清单以及输出文件名。以下是标识符:

$Number$

在您的输出文件名中,$Number$ 将解析为一系列数字(从 1 开始递增)。这将替换段文件名中默认的九位段编号。例如:

  • 如果您为 Name modifier (名称标识符) 指定 video_$Number$,则该服务将创建段文件,这些文件名为 video_1.mp4video_2.mp4,以此类推。

  • 如果您仅为 Name modifier (名称标识符) 指定 video_,则该服务将创建段文件,这些文件名为 video_000000001.mp4video_000000002.mp4,以此类推。

在您的 DASH 清单中,AWS Elemental MediaConvert 在 SegmentTemplate 元素中包含 durationstartNumber,与以下内容类似:<SegmentTemplate timescale="90000" media="main_video_$Number$.mp4" initialization="main_video_$Number$init.mp4" duration="3375000"/>

注意

如果您在一个输出中使用 $Number$ 格式标识符,则也必须在输出组的所有其他输出中使用该标识符。

$Bandwidth$

在您的输出文件名中,$Bandwidth$ 将解析为输出中 Video Bitrate (视频比特率) 的值以及 Audio Bitrate (音频比特率) 的值。无论您是否包含此格式标识符,该服务都会在段文件名中使用九位段编号。

例如,假设您指定以下值:

  • Video (视频) Bitrate (bits/s) (比特率(位/秒))50000000

  • Audio (音频) Bitrate (kbits/s) ( 比特率(千位/秒))96.0(96000 位/秒)

  • Name modifier (名称修饰符)video_$Bitrate$

$Bitrate$ 的值解析为 50096000。该服务将创建段文件,这些文件名为 video_50096000_000000001.mp4video_50096000_000000002.mp4,以此类推。

在清单中,AWS Elemental MediaConvert 在 SegmentTemplate 元素中包含 durationstartNumber,与以下内容类似:<SegmentTemplate timescale="90000" media="main_video_$Bandwidth$.mp4" initialization="main_video_$Bandwidth$init.mp4" duration="3375000"/>

$Time$

在您的输出文件名中,$Time$ 将解析为段的持续时间(以毫秒为单位)。在包含此格式标识符时,该服务不会在段文件名中使用默认的九位段编号。

例如,如果您为 Name modifier (名称标识符) 指定 video180__$Time$,则该服务将创建段文件,这些文件名为 video180__345600.mp4video180__331680.mp4,以此类推。在这些示例中,段持续时间为 345600 毫秒和 331680 毫秒。

在清单中,AWS Elemental MediaConvert 在 SegmentTemplate 元素中包含 SegmentTimeline,与以下内容类似:

<Representation id="5" width="320" height="180" bandwidth="200000" codecs="avc1.4d400c"> <SegmentTemplate media="video180_$Time$.mp4" initialization="videovideo180_init.mp4"> <SegmentTimeline> <S t="0" d="345600" r="2"/> <S t="1036800" d="316800"/> </SegmentTimeline> </SegmentTemplate> </Representation>

注意

如果您在一个输出中使用 $Time$ 格式标识符,则也必须在输出组的所有其他输出中使用该标识符。