您使用的西瓜播放器版本是多少? What version of xgplayer are you using?
3.0.24
您使用的操作系统和浏览器分别是? What OS and browser are you using?
操作系统 macOS 15.7.4
浏览器 chrome 147.0.7727.102
如何复现问题? How to reproduce the problem?
由于播放地址无法公开,只能举个例子
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-TARGETDURATION:25
#EXTINF:0.000,
1777336201688.ts
#EXT-X-DISCONTINUITY
#EXTINF:9.212,
1777336201859.ts
#EXTINF:0.000,
1777336206079.ts
#EXT-X-DISCONTINUITY
#EXTINF:9.213,
1777336206118.ts
#EXTINF:0.000,
1777336214075.ts
#EXT-X-DISCONTINUITY
#EXTINF:9.214,
1777336214115.ts
#EXTINF:0.000,
1777336222075.ts
#EXT-X-DISCONTINUITY
#EXTINF:9.215,
1777336222115.ts
#EXTINF:0.000,
1777336230074.ts
#EXT-X-DISCONTINUITY
#EXTINF:9.215,
1777336230111.ts
#EXTINF:0.000,
1777336238074.ts
#EXT-X-DISCONTINUITY
#EXTINF:9.216,
1777336238111.ts
#EXTINF:0.000,
1777336246080.ts
#EXT-X-DISCONTINUITY
#EXTINF:9.217,
1777336246121.ts
#EXTINF:0.000,
1777336254072.ts
#EXT-X-DISCONTINUITY
#EXTINF:9.219,
1777336254110.ts?
#EXT-X-ENDLIST
现象
点播中video.buffered 多块孤岛、preloadTime采用默认值,仍持续按清单顺序往后加载,网络压力很大。
实际行为
Network:在未播放很远时已缓冲大量后续孤岛,_loadSegment 仍不停触发。
调试:Buffer.info(...).remaining 偏小,但总 buffered 区间之和已经很长。
期望行为
在「多块 discontinuity 缓冲」场景下,预加载停止条件可更符合「已囤积足够后续媒体时长」,避免无节制往后扫清单(或可配置)。
点播停止预加载:仅用 bInfo.remaining(当前 playback 所在单一连续 buffered 的末端);多块孤岛时 remaining 长期小于 preloadTime → 一直加载。(相关:xgplayer-streaming-shared Buffer.info、hls/index.js _loadSegment)
可能的改进方向(建议
点播预加载:可选地用 currentTime 之后所有 buffered 区间并集长度(或增加配置项)参与「是否达到 preloadTime」判断。
您使用的西瓜播放器版本是多少? What version of xgplayer are you using?
3.0.24
您使用的操作系统和浏览器分别是? What OS and browser are you using?
操作系统 macOS 15.7.4
浏览器 chrome 147.0.7727.102
如何复现问题? How to reproduce the problem?
由于播放地址无法公开,只能举个例子
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-TARGETDURATION:25
#EXTINF:0.000,
1777336201688.ts
#EXT-X-DISCONTINUITY
#EXTINF:9.212,
1777336201859.ts
#EXTINF:0.000,
1777336206079.ts
#EXT-X-DISCONTINUITY
#EXTINF:9.213,
1777336206118.ts
#EXTINF:0.000,
1777336214075.ts
#EXT-X-DISCONTINUITY
#EXTINF:9.214,
1777336214115.ts
#EXTINF:0.000,
1777336222075.ts
#EXT-X-DISCONTINUITY
#EXTINF:9.215,
1777336222115.ts
#EXTINF:0.000,
1777336230074.ts
#EXT-X-DISCONTINUITY
#EXTINF:9.215,
1777336230111.ts
#EXTINF:0.000,
1777336238074.ts
#EXT-X-DISCONTINUITY
#EXTINF:9.216,
1777336238111.ts
#EXTINF:0.000,
1777336246080.ts
#EXT-X-DISCONTINUITY
#EXTINF:9.217,
1777336246121.ts
#EXTINF:0.000,
1777336254072.ts
#EXT-X-DISCONTINUITY
#EXTINF:9.219,
1777336254110.ts?
#EXT-X-ENDLIST
现象
点播中video.buffered 多块孤岛、preloadTime采用默认值,仍持续按清单顺序往后加载,网络压力很大。
实际行为
Network:在未播放很远时已缓冲大量后续孤岛,_loadSegment 仍不停触发。
调试:Buffer.info(...).remaining 偏小,但总 buffered 区间之和已经很长。
期望行为
在「多块 discontinuity 缓冲」场景下,预加载停止条件可更符合「已囤积足够后续媒体时长」,避免无节制往后扫清单(或可配置)。
点播停止预加载:仅用 bInfo.remaining(当前 playback 所在单一连续 buffered 的末端);多块孤岛时 remaining 长期小于 preloadTime → 一直加载。(相关:xgplayer-streaming-shared Buffer.info、hls/index.js _loadSegment)
可能的改进方向(建议
点播预加载:可选地用 currentTime 之后所有 buffered 区间并集长度(或增加配置项)参与「是否达到 preloadTime」判断。