自适应流媒体播放器播放列表更新间隔

Sil*_*via 3 video-streaming playlist http-live-streaming mpeg-dash

关于自适应流媒体播放器的行为(具体地说我对HLS和DASH感兴趣),它应该多久重新加载播放列表?这是指定还是由播放器实现?

当它重新加载播放列表时,是仅针对所谓的变体播放列表还是每次重新加载主节点?

这对于直播和点播内容有何不同?

aer*_*tal 9

对于HLS看到一般客户Responsabilities的草案。请注意,这是最新版本,如果您需要旧版本,请检查其他版本。

一些相关摘录:

您只重新加载LIVEEVENT没有EXT-X-ENDLIST 媒体播放列表(因此没有主重新加载)

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

重装:

当客户端第一次加载播放列表文件或重新加载播放列表文件并发现它自上次加载以来已发生更改时,客户端必须至少等待目标持续时间, 然后再尝试重新加载播放列表文件,测量从客户端上次开始加载播放列表文件开始。

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


Chr*_*ler 5

在MPEG-DASH的情况下,MPD指定minimumUpdatePeriod属性,该属性向客户端发信号通知MPD的潜在变化之间的最小时段.这有助于客户端应用程序确定更新/重新下载MPD的频率.例如,如果minimumUpdatePeriod是10秒,你可以每10秒更新/重新下载MPD,你应该没问题.

HLS不包含特定属性(据我所知 - >草稿更改),但您可以根据段持续时间更新M3U8,例如,如果播放列表包含10s的段,则应每10秒更新一次(每个10s如果是实时流,则可以使用新的段.如果段持续时间不同,您可以根据已下载的段计算平均值,并在该时间间隔内更新.

您还可以查看现有的实现,例如JWPlayerbitdash,它们都支持HLS和DASH.如果你想生成HLS和DASH内容测试你可以使用的ffmpeg&mp4box或服务,如bitcodin.