You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

直播流结束后如何清除AWS MediaPackage留存的旧内容

问题根因

你配置的Startover window (sec.)参数作用是控制观众可时移回看历史直播内容的范围,和直播断流后.m3u8播放列表的内容留存逻辑完全无关,因此将其设为0无法解决断流后残留1分钟可播放内容的问题。
MediaPackage HLS终端节点的默认逻辑是:当输入推流中断(直播结束停止推流)后,会在返回的.m3u8文件中保留最后接收到的、时长等于*Manifest Window(播放列表窗口长度)*的分片内容,该参数的默认预设值刚好为60秒,这就是残留1分钟可访问内容的核心原因。

可行解决方案

以下方案均无需删除重建MediaPackage通道或HLS终端节点,不会改变原有播放地址,所有关联播放端无需同步修改配置:

方案1:调整Manifest Window参数(适合直播场景不需要长播放列表窗口的情况)

直接进入MediaPackage对应HLS终端节点的配置页,找到*Manifest Window (seconds)*参数(注意不要和Startover Window参数混淆):

  • 该参数最小有效值为1(设置为0会被系统校验拦截,自动回退到默认60秒配置),如果你需要直播断流后播放列表快速清空无残留,可将该值设为1
  • 配置生效后,当MediaPackage检测到输入流中断超过1秒,返回的.m3u8播放列表就不会保留历史分片内容,客户端访问原有地址会拿到无有效可播分片的列表,自动触发播放结束逻辑
  • 注意:该参数会同时影响正常直播过程中的播放列表长度,如果你正常直播时需要保留较长的播放窗口(比如默认60秒,用来适配弱网客户端缓冲、降低卡顿率),不要使用该方案,选择方案2即可。

方案2:配置输入中断自动清空规则(优先推荐,适配绝大多数场景)

在MediaPackage对应通道的HLS终端节点配置中,找到输入中断处理相关设置:

  • 将Input Loss Action策略设置为CLEAR
  • 配置输入丢失判定阈值为你可接受的最短延迟(比如1000毫秒,即推流中断1秒后触发规则)
  • 规则触发后,MediaPackage会主动清空当前播放列表内的所有缓存分片,同时按照HLS规范返回播放结束标识,客户端会正常识别直播结束事件,不会反复重试拉流
  • 该方案不会影响正常直播时的Manifest Window配置,既可以保留长播放列表适配弱网场景,又能在直播结束推流后快速清空播放列表残留内容。

方案3:推流结束前主动插入流结束标识(适合有推流端完整控制权限的场景)

如果你可以控制MediaLive的输出逻辑,可以在直播结束准备停推前做如下配置:

  • 在MediaLive对应频道的输出配置中,设置输入丢失动作自动插入HLS规范的#EXT-X-ENDLIST结束标签,插入标签后等待1-2秒再切断推流
  • MediaPackage接收到带ENDLIST标签的流后,会直接标记该直播流为结束状态,不会继续保留窗口内的分片缓存,客户端拿到带结束标签的播放列表会直接终止播放,不会出现内容残留问题。
配置避坑提示
  • 不要混淆Startover Window和Manifest Window的作用:前者控制时移回看的内容范围,后者控制实时播放列表保留的分片时长,两个参数逻辑完全独立
  • 不要尝试通过删除重建通道、终端节点的方式解决问题,这类操作会变更播放地址,导致所有客户端需要同步更新配置,完全没有必要
  • 不要将Manifest Window设置为0,该值不符合参数校验规则,不会生效。

内容的提问来源于stack exchange,提问作者Richy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 21:51:37