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

时间:2015-10-14 11:03:11

标签: video-streaming playlist hls mpeg-dash

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

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

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

2 个答案:

答案 0 :(得分:5)

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

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

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

答案 1 :(得分:4)

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

一些相关的摘录:

您只能在没有LIVE 媒体播放列表的情况下重新加载EVENTEXT-X-ENDLIST(所以没有主重新加载)

  

客户端必须定期重新加载媒体播放列表文件以进行学习      当前可用的媒体,除非它包含值为VOD的EXT-X-PLAYLIST-TYPE标记,或EVENT的值和      EXT-X-ENDLIST标记也存在。

重新加载:

  

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

     

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