如何在hls.js流媒体播放时延长fragment时长或增大fragment加载大小
hls.js流媒体播放调整fragment加载参数方案
延长加载fragment时长
你可以通过自定义fragment对象的duration属性来调整单片段的时长,可在hls实例的FRAG_LOADED事件回调中获取当前加载的frag对象,直接修改属性即可生效,fragment对象的基础结构参考如下:
{ "frag": { "_byteRange": null, "_url": "", "baseurl": "", "relurl": "", "elementaryStreams": { "audio": {...}, "video": null, "audiovideo": null }, "duration": 4.017052154195895, "sn": 15, ... } }
调高duration的数值即可延长单fragment的加载时长,注意调整后的时长不要超过HLS规范的推荐上限,避免出现播放卡顿、起播慢的问题。
增大单次加载的fragment大小
可通过以下配置调整:
- 初始化hls实例时调高
maxBufferSize参数,提升缓冲区的最大字节限制,允许加载体积更大的单片段 - 同步调整服务端的HLS切片配置,增大单切片的体积,配合客户端配置生效
- 适当调高
maxFragmentLoadingAttempts参数,避免大分片弱网下加载失败时重试次数不足的问题
内容的提问来源于stack exchange,提问作者Sravan
相关产品推荐
相关产品推荐

