2015-10-14 69 views
1

关于自适应流媒体播放器(具体而言,我对HLS和DASH感兴趣)的行为,应该多长时间重新载入播放列表?这是指定还是由玩家执行?Adaptive Streaming播放器播放列表更新间隔

当它重新加载播放列表时,是仅对所谓的变体播放列表完成,还是每次重新加载主设备?

这是不同的生活和点播内容?

回答

4

在MPEG-DASH的情况下,MPD指定minimumUpdatePeriod属性,它向客户端报告MPD潜在变化之间的最短时间段。这有助于客户端应用程序确定它应该更新/重新下载MPD的频率。如果例如minimumUpdatePeriod为10秒,则可以每10秒更新/重新下载MPD,并且您应该没问题。

HLS并未包含特定属性(据我所知 - >草稿更改),但您可以根据片段持续时间更新M3U8,例如,如果播放列表包含您应该更新的片段每10秒一次(每10秒一个新的分段可用于直播的情况下)。如果分段持续时间不同,您可以根据您已经下载并在该时间段更新的分段计算平均值。

你也可以看看现有的实现,如JWPlayerbitdash,它们都支持HLS和DASH。如果您想生成HLS和DASH内容以进行测试,则可以使用mp4box或服务,例如bitcodin

+0

因此,对于HLS中的实时流,如果我理解正确,则播放列表更新之间的最小间隔将是段持续时间。但是,实际上是这样做的,在请求新块之前更新,在现有播放器中进行更新还是在播放列表包含多个段时不需要这么短的时间? – Silvia

+0

我认为aergistal引用了草案中的正确部分,它描述了这一点。然而,我在其他球员看到的是,他们只是基于片段持续时间(平均)进行更新,并且如果球员更接近生涯边缘,则看起来频率将会增加,例如,一些球员更新M3U8,然后每500ms。我认为flashhls(https://github.com/mangui/flashls)就是这样做的。 –

2

对于HLS请参阅草稿中的General Client Responsabilities。请注意,这是最新版本,如果您需要更旧的版本,请检查其他版本。

一些相关摘录:

你只有重装LIVEEVENT没有EXT-X-ENDLIST媒体播放列表(所以没有主机重载)

客户端必须定期重新加载媒体播放列表文件,以了解 什么媒体目前可用,,除非它包含值为VOD的EXT-X- PLAYLIST-TYPE标签,或值EVENT并且还存在 EXT-X-ENDLIST标签。

重装:

当客户端加载首次播放列表文件或重新加载 播放列表文件,发现它已经改变,因为它最后一次 加载,客户端必须等待至少在目标持续时间 再次尝试重新加载播放列表文件之前,从上次客户端开始加载播放列表文件时测量的 。

如果客户端重新加载播放列表文件,并发现它没有 改变那么它必须等待一段一半的目标 时间重试前的。