【问题标题】:MPEG-DASH: standard "available time" parameter in manifests for "live-dvr"MPEG-DASH:“live-dvr”清单中的标准“可用时间”参数
【发布时间】:2025-12-01 00:20:06
【问题描述】:

相关:Terminology: "live-dvr" in mpeg-dash streaming

我对 MPEG-DASH 标准和一个用例有点困惑。我想知道是否有一种方法可以在 MPEG-DASH 清单中为“live-dvr”设置指定用于在播放器中回溯的可用时间量。

也就是说,例如,如果“live-dvr”流有 30' 的媒体可用于重播,那么在清单中指定这一点的标准方法是什么。

我知道我可以为给定的播放器配置所需的行为。我的问题不是关于玩家,而是关于清单。

我还不完全明白这个用例是否在标准中正式解决(请参阅相关链接)。我猜@timeShiftBufferDepth 和@presentationTimeOffset 之间的关系应该有效,但我对它应该如何管理“过去时间”而不是“长度”或“持续时间”等术语感到困惑。

提前致谢。

【问题讨论】:

    标签: streaming manifest mpeg-dash mpd


    【解决方案1】:

    是的 - 你在正确的路线上。

    MPEG DASH 实施指南提供了这个公式(我的粗体字):

    CheckTime 是在 MPD 记录的媒体时间轴上定义的;当客户端的播放时间达到 CheckTime - MPD@minBufferTime 它应该获取一个新的 MPD。

    然后,Media Segment列表进一步受到CheckTime和MPD属性MPD@timeShiftBufferDepth的限制,使得只有Media Segment的开始时间和Period开始时间之和落入的Media Segments包括区间 [NOW- MPD@timeShiftBufferDepth - @duration, min(CheckTime, NOW)]

    完整的指南可在以下网址获得:

    【讨论】:

    • 经过几次实验,MPD@timeShiftBufferDepth 确实可以在播放器中显示固定时间栏。但是,在选择视频开始之前的时间时,他们都没有真正寻找;如果让播放,可以搜索播放时间,但不能搜索过去时间。所有玩家似乎都使用该时间线作为可用的缓冲区,当缓冲区为空时,没有人解析远程块。所以,我正在寻找一种方法来强制玩家解析块,而不仅仅是显示缓冲区处理程序。鉴于所有玩家的行为方式相同,因此必须有一个标准的方式。
    最近更新 更多