本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用时移视图 CDNs
要在提供开始时间或启动程序时实现滑动窗口,请将开始时间或启动程序值 MediaTailor 转换为适当的时间延迟。该时间延迟的值取决于玩家或 CDN 请求清单的时间。因此,在使用带有开始时间或启动程序参数 MediaTailor的 CDN 时,必须在 CDN 上配置适当的缓存行为。
要使用此功能,请按照中的步骤操作启用时移查看。
HLS 示例
假设您使用如下所示的 URL 请求一份带有开始时间的 HLS 主清单:
https://<some prefix>.channel-assembly.mediatailor.us-west-2.amazonaws.com/v1/channel/ExampleChannel/index_hls.m3u8?aws.mediatailor.channel.startTime=2017-12-19T13:00:28-08:00
MediaTailor 使用包含子清单上的延时参数的清单 URLs进行响应。例如,如果您在请求的开始时间2017-12-19T13:20:28-08:00
后 1200 秒请求清单,则会使用如下所示的主清单进行 MediaTailor 响应:
#EXTM3U #EXT-X-VERSION:6 #EXT-X-STREAM-INF:CODECS="avc1.4D401F,mp4a.40.2",AVERAGE-BANDWIDTH=1426714,RESOLUTION=852x480,FRAME-RATE=30.0,BANDWIDTH=1493368 index_hls/1.m3u8?
aws.mediatailor.channel.timeDelay=1200
#EXT-X-STREAM-INF:CODECS="avc1.4D401E,mp4a.40.2",AVERAGE-BANDWIDTH=986714,RESOLUTION=640x360,FRAME-RATE=30.0,BANDWIDTH=1024034 index_hls/2.m3u8?aws.mediatailor.channel.timeDelay=1200
#EXT-X-STREAM-INF:CODECS="avc1.4D400D,mp4a.40.2",AVERAGE-BANDWIDTH=476305,RESOLUTION=320x240,FRAME-RATE=30.0,BANDWIDTH=498374 index_hls/3.m3u8?aws.mediatailor.channel.timeDelay=1200
达世币示例
假设您使用如下所示的 URL 请求带有开始时间的 DASH 清单:
https://<some prefix>.channel-assembly.mediatailor.us-west-2.amazonaws.com/v1/channel/ExampleChannel/index_dash.mpd?aws.mediatailor.channel.startTime=2017-12-19T13:00:28-08:00
MediaTailor 响应时会重定向到同一个清单,但延迟时间而不是开始时间。例如,如果您在请求的开始时间后 1200 秒请求清单2017-12-19T13:20:28-08:00
,则以 HTTP 状态302 Found
和带有值的Location
标头进行 MediaTailor 响应./index_dash.mpd?aws.mediatailor.channel.timeDelay=1200
。
CDN 配置要求
在 CDN 中使用时移查询参数时,我们建议您按以下方式配置 CDN:
如果您使用任何时移查询参数,请将这些参数包含在 CDN 的缓存密钥中。此外,如果您使用任何时移参数,请在 CDN 的缓存密钥中加入延时查询参数。
如果您使用启动时间或启动程序查询参数之一,则以下条件适用:
对于 HLS,请将您的 CDN 配置为在频道上缓存主清单的时间不超过典型的片段时长。
对于 DASH,请将您的 CDN 配置为缓存状态为 HTTP 302 的重定向,时间不超过频道上的典型片段时长,并将此类重定向转发给玩家。
有关如何在 Amazon 上配置缓存的信息 CloudFront,请参阅CloudFront 开发者指南中的管理内容在缓存中的保留时间(过期)。有关 Amazon 如何 CloudFront 处理重定向的信息,请参阅如何 CloudFront 处理来自您的来源的 HTTP 3xx 状态代码。 在CloudFront 开发者指南中。