hls.js
hls.js copied to clipboard
Live Playlist Reload Interval
What version of Hls.js are you using?
v1.1.5
What browser (including version) are you using?
Chrome 105.0.5195.125 (Official Build) (64-bit)
What OS (including version) are you using?
Windows 10
Test stream
https://hls-js.netlify.app/demo/?src=https%3A%2F%2Fraw.githubusercontent.com%2Fmattzucker%2Fhls-test%2Fmain%2Fplaylist.m3u8
Configuration
{debug: true}
Additional player setup steps
No response
Checklist
- [X] The issue observed is not already reported by searching on Github under https://github.com/video-dev/hls.js/issues
- [X] The issue occurs in the stable client (latest release) on https://hls-js.netlify.com/demo and not just on my page
- [X] The issue occurs in the latest client (main branch) on https://hls-js-dev.netlify.com/demo and not just on my page
- [X] The stream has correct Access-Control-Allow-Origin headers (CORS)
- [X] There are no network errors such as 404s in the browser console when trying to play the stream
Steps to reproduce
- Load a live playlist with
#EXT-X-TARGETDURATION:30
. The bug also exists for shorter target durations, but it is less noticeable because frequent playlist refreshes are expected. - Do not update the live playlist. With a target duration of 30 seconds, I do not expect frequent updates to this file. While testing, make no edits to the playlist.
- Observe the Chrome network logs and the debug output.
Expected behaviour
HLS.js should reload the live playlist at an interval of half the target duration, according to the HLS specs. In my example case, that would mean loading every 15 seconds.
What actually happened?
The playlist is reloading initially after 333 ms
, and then each subsequent request happens after a period of lastRequestTime + 333 ms
. The reload time continuously increases beyond the expected interval of 15 seconds.
I am not able to share the video files publicly, and so the example m3u8 file I provided throws 404 errors loading the fragments. But you can still see the relevant logs and network calls to refresh the playlist.
The relevant line from the logs is hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 32967 ms
. That value starts at 333 ms and keeps going up.
#EXTM3U
#EXT-X-TARGETDURATION:30
#EXT-X-VERSION:4
#EXT-X-PROGRAM-DATE-TIME:2015-10-07T06:47:38.088Z
#EXTINF:38.015
segment_0.ts
#EXTINF:37.800000000000004
segment_1.ts
#EXTINF:38.4
segment_2.ts
#EXTINF:38.4
segment_3.ts
#EXTINF:38.4
segment_4.ts
#EXTINF:38.4
segment_5.ts
#EXTINF:38.401
segment_6.ts
Console output
hls.js:25604 [log] >
hls.js:17387 [log] > stopLoad
hls.js:17350 [log] > loadSource:http://localhost:8080/VAT/images/archive.m3u8
hls.js:9789 [log] > [stream-controller]: Trigger BUFFER_RESET
hls.js:17321 [log] > attachMedia
hls.js:8340 [log] > [level-controller]: manifest loaded, 1 level(s) found, first bitrate: 0
hls.js:4296 [log] > 1 bufferCodec event(s) expected
hls.js:17376 [log] > startLoad(-1)
hls.js:8698 [log] > [level-controller]: switching to level 0 from -1
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:4123 [log] > [stream-controller]: STOPPED->IDLE
hls.js:4123 [log] > [subtitle-stream-controller]: STOPPED->IDLE
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 333 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81600000000003
hls.js:3892 [log] > [stream-controller]: Live playlist sliding: 0.00 start-sn: 0->0 prev-sn: na fragments: 7
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 666 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81600000000003
hls.js:24710 [log] > No frag in previous level to align on
hls.js:3892 [log] > [stream-controller]: Live playlist sliding: 0.00 start-sn: 0->0 prev-sn: na fragments: 7
hls.js:4787 [log] > [buffer-controller]: Updating Media Source duration to 267.816
hls.js:4199 [log] > [buffer-controller]: Media source opened
hls.js:3417 [log] > [stream-controller]: Loading fragment 4 cc: 4 of [0-6] level: 0, target: 177.873
hls.js:4123 [log] > [stream-controller]: IDLE->FRAG_LOADING
hls.js:14726 [log] > demuxing in webworker
hls.js:14826 [log] > [transmuxer-interface, main]: Starting new transmux session for sn: 4 p: -1 level: 0 id: 1
discontinuity: true
trackSwitch: true
contiguous: false
accurateTimeOffset: false
timeOffset: 152.615
initSegmentChange: true
hls.js:3228 [log] > [stream-controller]: Loaded fragment 4 of level 0
bef04cdd-51c1-4631-8def-011b101ebed7:603 [log] >
bef04cdd-51c1-4631-8def-011b101ebed7:2702 [log] > [mp4-remuxer]: ISGenerated flag reset
bef04cdd-51c1-4631-8def-011b101ebed7:2691 [log] > [mp4-remuxer]: initPTS & initDTS reset
bef04cdd-51c1-4631-8def-011b101ebed7:938 [log] > [transmuxer.ts]: Flushed fragment 4 of level 0
hls.js:4123 [log] > [stream-controller]: FRAG_LOADING->PARSING
hls.js:10440 [log] > [stream-controller]: Init video buffer, container:video/mp4, codecs[level/parsed]=[/avc1.42801e]
hls.js:4858 [log] > [buffer-controller]: creating sourceBuffer(video/mp4;codecs=avc1.42801e)
hls.js:1648 [log] > [audio-stream-controller]: InitPTS for cc: 4 found from main: 329968149
hls.js:4123 [log] > [stream-controller]: PARSING->PARSED
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 999 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.8159777777778
hls.js:10202 [log] > [stream-controller]: seek to target start position 177.9413999023438 from current time 0
hls.js:3103 [log] > [stream-controller]: media seeking to 177.941, state: PARSED
hls.js:3103 [log] > [audio-stream-controller]: media seeking to 177.941, state: STOPPED
hls.js:3103 [log] > [subtitle-stream-controller]: media seeking to 177.941, state: IDLE
hls.js:3348 [log] > [stream-controller]: Buffered main sn: 4 of level 0 [152.615,191.015]
hls.js:4123 [log] > [stream-controller]: PARSED->IDLE
hls.js:3417 [log] > [stream-controller]: Loading fragment 5 cc: 5 of [0-6] level: 0, target: 191.015
hls.js:4123 [log] > [stream-controller]: IDLE->FRAG_LOADING
hls.js:9780 [log] > [stream-controller]: Media seeked to 177.941
hls.js:3103 [log] > [stream-controller]: media seeking to 237.813, state: FRAG_LOADING
hls.js:3116 [log] > [stream-controller]: seeking outside of buffer while fragment load in progress, cancel fragment load
hls.js:4123 [log] > [stream-controller]: FRAG_LOADING->IDLE
hls.js:3957 [warn] > [stream-controller]: Fragment 5 of level 0 was aborted
handleFragLoadAborted @ hls.js:3957
handleFragLoadError @ hls.js:3470
(anonymous) @ hls.js:3429
Promise.catch (async)
_doFragLoad @ hls.js:3428
_loadFragForPlayback @ hls.js:3208
loadFragment @ hls.js:3188
loadFragment @ hls.js:9615
doTickIdle @ hls.js:9579
doTick @ hls.js:9429
tick @ hls.js:22290
fragBufferedComplete @ hls.js:3350
onFragBuffered @ hls.js:10063
emit @ hls.js:310
emit @ hls.js:17266
trigger @ hls.js:17271
onUnblocked @ hls.js:4637
(anonymous) @ hls.js:4994
Promise.then (async)
blockBuffers @ hls.js:4992
onFragParsed @ hls.js:4649
emit @ hls.js:289
emit @ hls.js:17266
trigger @ hls.js:17271
updateLevelTiming @ hls.js:4097
_handleTransmuxerFlush @ hls.js:3499
onWorkerMessage @ hls.js:14910
hls.js:3103 [log] > [audio-stream-controller]: media seeking to 237.813, state: STOPPED
hls.js:3103 [log] > [subtitle-stream-controller]: media seeking to 237.813, state: IDLE
hls.js:3417 [log] > [stream-controller]: Loading fragment 6 cc: 6 of [0-6] level: 0, target: 237.813
hls.js:4123 [log] > [stream-controller]: IDLE->FRAG_LOADING
hls.js:1233 [warn] > frag loader destroy or aborted, disarm abandonRules
_abandonRulesCheck @ hls.js:1233
setInterval (async)
onFragLoading @ hls.js:1197
emit @ hls.js:310
emit @ hls.js:17266
trigger @ hls.js:17271
_doFragLoad @ hls.js:3424
_loadFragForPlayback @ hls.js:3208
loadFragment @ hls.js:3188
loadFragment @ hls.js:9615
doTickIdle @ hls.js:9579
doTick @ hls.js:9429
tick @ hls.js:22290
fragBufferedComplete @ hls.js:3350
onFragBuffered @ hls.js:10063
emit @ hls.js:310
emit @ hls.js:17266
trigger @ hls.js:17271
onUnblocked @ hls.js:4637
(anonymous) @ hls.js:4994
Promise.then (async)
blockBuffers @ hls.js:4992
onFragParsed @ hls.js:4649
emit @ hls.js:289
emit @ hls.js:17266
trigger @ hls.js:17271
updateLevelTiming @ hls.js:4097
_handleTransmuxerFlush @ hls.js:3499
onWorkerMessage @ hls.js:14910
hls.js:14826 [log] > [transmuxer-interface, main]: Starting new transmux session for sn: 6 p: -1 level: 0 id: 1
discontinuity: true
trackSwitch: false
contiguous: false
accurateTimeOffset: true
timeOffset: 229.41497777777778
initSegmentChange: false
hls.js:3228 [log] > [stream-controller]: Loaded fragment 6 of level 0
bef04cdd-51c1-4631-8def-011b101ebed7:2702 [log] > [mp4-remuxer]: ISGenerated flag reset
bef04cdd-51c1-4631-8def-011b101ebed7:2691 [log] > [mp4-remuxer]: initPTS & initDTS reset
bef04cdd-51c1-4631-8def-011b101ebed7:2696 [log] > [mp4-remuxer]: reset next timestamp
bef04cdd-51c1-4631-8def-011b101ebed7:2702 [log] > [mp4-remuxer]: ISGenerated flag reset
bef04cdd-51c1-4631-8def-011b101ebed7:2691 [log] > [mp4-remuxer]: initPTS & initDTS reset
bef04cdd-51c1-4631-8def-011b101ebed7:938 [log] > [transmuxer.ts]: Flushed fragment 6 of level 0
hls.js:4123 [log] > [stream-controller]: FRAG_LOADING->PARSING
hls.js:10440 [log] > [stream-controller]: Init video buffer, container:video/mp4, codecs[level/parsed]=[/avc1.42801e]
hls.js:1648 [log] > [audio-stream-controller]: InitPTS for cc: 6 found from main: 329968149
hls.js:4123 [log] > [stream-controller]: PARSING->PARSED
hls.js:9780 [log] > [stream-controller]: Media seeked to 237.822
hls.js:3348 [log] > [stream-controller]: Buffered main sn: 6 of level 0 [152.615,191.015][229.415,267.815]
hls.js:4123 [log] > [stream-controller]: PARSED->IDLE
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 1332 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 1665 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 1998 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 2331 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 2664 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:3103 [log] > [stream-controller]: media seeking to 246.413, state: IDLE
hls.js:3103 [log] > [audio-stream-controller]: media seeking to 246.413, state: STOPPED
hls.js:3103 [log] > [subtitle-stream-controller]: media seeking to 246.413, state: IDLE
hls.js:9780 [log] > [stream-controller]: Media seeked to 246.413
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 2997 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 3330 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 3663 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 3996 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 4329 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 4662 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 4995 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 5328 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 5661 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 5994 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 6327 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 6660 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 6993 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 7326 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 7659 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 7992 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 8325 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 8658 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 8991 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 9324 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 9657 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 9990 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 10323 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 10656 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 10989 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 11322 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 11655 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 11988 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 12321 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 12654 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 12987 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 13320 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 13653 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 13986 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 14319 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 14652 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 14985 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 15318 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 15651 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 15984 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 16317 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 16650 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 16983 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 17316 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 17649 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 17982 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 18315 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 18648 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 18981 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 19314 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 19647 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 19980 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 20313 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 20646 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 20979 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 21312 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 21645 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 21978 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 22311 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 22644 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 22977 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 23310 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 23643 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 23976 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 24309 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 24642 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 24975 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 25308 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 25641 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 25974 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 26307 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 26640 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 26973 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 27306 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 27639 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 27972 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 28305 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 28638 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 28971 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 29304 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 29637 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 29970 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 30303 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 30636 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 30969 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 31302 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 31635 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 31968 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 32301 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 32634 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 32967 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
Chrome media internals output
No response
Part of the problem, I think, is in computeReloadInterval
.
var reloadInterval = 1000 * newDetails.levelTargetDuration;
var reloadIntervalAfterMiss = reloadInterval / 2;
var timeSinceLastModified = newDetails.age;
var useLastModified = timeSinceLastModified > 0 && timeSinceLastModified < reloadInterval * 3;
newDetails.age
is a value in seconds, but reloadInterval
is in milliseconds. The comparison of timeSinceLastModified < reloadInterval * 3
will almost always be true because the units do not match.
I multiplied timeSinceLastModified
by 1000 to see what would happen, and I get a similar behavior where it refreshes the playlist at the same increasing rate of 333ms up until it reaches 8658 ms. After that point, it remains constant at 19130 ms.
Partial logs below:
[log] > [level-controller]: reload live playlist 0 in 7659 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 7992 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 8325 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 8658 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 19130 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 19130 ms
hls.js:9852 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 6] duration:267.81506666666667
hls.js:8590 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/VAT/images/archive.m3u8
hls.js:2744 [log] > [level-controller]: live playlist 0 MISSED
hls.js:2821 [log] > [level-controller]: reload live playlist 0 in 19130 ms
newDetails.age is a value in seconds
Good catch.
I get a similar behavior where it refreshes the playlist at the same increasing rate of 333ms https://raw.githubusercontent.com/mattzucker/hls-test/main/playlist.m3u8
Because your stream is static every refresh is a "miss". In response, HLS.js is making frequent requests with the assumption that it will get a playlist update and then can return to a normal interval. This is not spec compliant.
HLS.js does not comply with the spec when it comes to reload intervals after a live refresh "miss". To correct this the useLastModified
logic in these places must be removed:
https://github.com/video-dev/hls.js/blob/v1.2.3/src/controller/level-helper.ts#L450-L461
https://github.com/video-dev/hls.js/blob/v1.2.3/src/controller/level-helper.ts#L469-L479
It is also worth noting that HLS.js uses the average segment duration over the target duration. I think we should use whichever is longer as long as it will not result in a buffer stall (according to the spec, that should always be target duration, but a past decision may have been made in favor of more frequent updates). The problematic code in question is not needed when using Low-Latency HLS or when playing three valid target durations from the end of a live playlist.
By definition, target duration must be an upper bound of the segment durations, but in the example above it is 30 seconds while most segments are 38 seconds in length.
The EXT-X-TARGETDURATION tag specifies the Target Duration, an upper
bound on the duration of all Media Segments in the Playlist. The
EXTINF duration of each Media Segment in a Playlist file, when
rounded to the nearest integer, MUST be less than or equal to the
Target Duration.
Thank you, yes it appears that I have a bug in my playlist regarding EXTINF
exceeding the target duration.
To make sure I'm understanding, if newDetails.age
was changed to milliseconds, then you are saying that the rest of the behavior is intentional? HLS.js will attempt frequent refreshes after a live miss because it expects the playlist to change (which makes sense).
To make sure I'm understanding, if newDetails.age was changed to milliseconds, then you are saying that the rest of the behavior is intentional? HLS.js will attempt frequent refreshes after a live miss because it expects the playlist to change (which makes sense).
That was the idea when it was added to demo Bartos-LHLS. The issue with age
crept in when it replaced use of the modified date header (not readable by default on most streams). I prefer to advocate for HLS spec compliance and when syncing playlist updates with the server is important, suggesting the adoption Low-Latency HLS Blocking Playlist Reloads.
So I think we should remove this code and make sure we use target duration rather than average target duration. That should align requests with the spec and other HLS clients. Let me know what you think and if this is something you'd be willing to contribute a PR for.
Sounds good to me. I would be happy to contribute a PR, and should be able to start work on it shortly.