video-dev / hls.js

HLS.js is a JavaScript library that plays HLS in browsers with support for MSE.
https://hlsjs.video-dev.org/demo
Other
14.93k stars 2.59k forks source link

Playback stucks after seek #2634

Closed write2art closed 4 years ago

write2art commented 4 years ago

What version of Hls.js are you using?

0.13.2

What browser and OS are you using?

macOS Catalina 10.15.3, Chrome/Safari/Firefox

Test stream:

Sorry for the adult content, it's censored as much as possible, but still..

https://cdn.ntvplus.tv/hl-hls/broadcasts/v/a1/va1e3759e3d3a9665aa2c9f8db3f8b277_portal_LQ.mp4.m3u8

Checklist

Steps to reproduce

  1. Start playing the provided stream on any official demo page (https://hls-js.netlify.com/demo)
  2. Seek on the timeline

Expected behaviour

Video continues to play from chosen point

Actual behaviour

Actually there are two possible outcomes:

  1. Player loads two last segments and then just gets stuck
  2. Player continuously loads two last segments, something like 532, then 531, then 532, then 531...

I've provided the log for both outcomes. The log starts with normal playback from the start, then i've added 2 logs after seek. Sometimes it works as expected though.

Console output

PLAYBACK START:

[log] > attachMedia
[log] > media source opened
[log] > loadSource:http://tapi.ntvplus.tv/broadcasts/getPlaylist.m3u8?broadcastId=5e3c60bdf5fe810d977717e3&appType=ios
[log] > trigger BUFFER_RESET
[log] > manifest loaded,4 level(s) found, first bitrate:850000
[log] > 1 bufferCodec event(s) expected
[log] > set firstLevel:0
[log] > set autoLevelCapping:3
[log] > startLoad(-1)
[log] > switching to level 0
[log] > main stream-controller: STOPPED->IDLE
[log] > audio tracks updated
[log] > set loadLevel:0
[log] > subtitle tracks updated
2[log] > set autoLevelCapping:3
[log] > level 0 loaded [1,1246],duration:4981.007
[log] > Loading key for 1 of [1 ,1246],level 0
[log] > main stream-controller: IDLE->KEY_LOADING
[log] > main stream-controller: KEY_LOADING->IDLE
[log] > Loading 1 of [1 ,1246],level 0, currentTime:0.000,bufferEnd:0.000
[log] > demuxing in webworker
[log] > main stream-controller: IDLE->FRAG_LOADING
[log] > set autoLevelCapping:3
[log] > Loaded 1 of [1 ,1246],level 0
[log] > Parsing 1 of [1 ,1246],level 0, cc 0
[log] > main stream-controller: FRAG_LOADING->PARSING
[log] > main:discontinuity detected
[log] > main:switch detected
[log] > WebCrypto AES decrypt
[log] > manifest codec:mp4a.40.2,ADTS data:type:2,sampleingIndex:4[44100Hz],channelConfig:1
[log] > parsed codec:mp4a.40.5,rate:44100,nb channel:1
[log] > audio sampling rate : 44100
[log] > InitPTS for cc: 0 found from video track: 9090
[log] > creating sourceBuffer(audio/mp4;codecs=mp4a.40.2)
[log] > creating sourceBuffer(video/mp4;codecs=avc1.42e01e)
[log] > main track:audio,container:audio/mp4,codecs[level/parsed]=[mp4a.40.2/mp4a.40.5]
[log] > main track:video,container:video/mp4,codecs[level/parsed]=[avc1.42e01e/avc1.42c015]
[log] > Parsed audio,PTS:[0.000,4.017],DTS:[0.000/4.017],nb:173,dropped:0
[log] > Parsed video,PTS:[0.000,4.000],DTS:[0.000/4.000],nb:100,dropped:0
[log] > main stream-controller: PARSING->PARSED
[log] > main buffered : [0.000,4.000]
[log] > latency/loading/parsing/append/kbps:888/1/22/5/3444
[log] > main stream-controller: PARSED->IDLE
[log] > Loading key for 2 of [1 ,1246],level 0
[log] > main stream-controller: IDLE->KEY_LOADING
[log] > main stream-controller: KEY_LOADING->IDLE
[log] > Updating Media Source duration to 4981.007
[log] > Loading 2 of [1 ,1246],level 0, currentTime:0.000,bufferEnd:4.000
[log] > main stream-controller: IDLE->FRAG_LOADING
[log] > Loaded 2 of [1 ,1246],level 0
[log] > Parsing 2 of [1 ,1246],level 0, cc 0
[log] > main stream-controller: FRAG_LOADING->PARSING
[log] > Parsed audio,PTS:[4.017,8.011],DTS:[4.017/8.011],nb:172,dropped:0
[log] > Parsed video,PTS:[4.000,8.000],DTS:[4.000/8.000],nb:100,dropped:0
[log] > main stream-controller: PARSING->PARSED
[log] > main buffered : [0.000,8.000]
[log] > latency/loading/parsing/append/kbps:617/1/16/2/4846
[log] > main stream-controller: PARSED->IDLE
[log] > Loading key for 3 of [1 ,1246],level 0
[log] > main stream-controller: IDLE->KEY_LOADING
[log] > main stream-controller: KEY_LOADING->IDLE
[log] > Loading 3 of [1 ,1246],level 0, currentTime:0.535,bufferEnd:8.000
[log] > main stream-controller: IDLE->FRAG_LOADING
[log] > set autoLevelCapping:3
[log] > Loaded 3 of [1 ,1246],level 0
[log] > Parsing 3 of [1 ,1246],level 0, cc 0
[log] > main stream-controller: FRAG_LOADING->PARSING
[log] > Parsed audio,PTS:[8.011,12.005],DTS:[8.011/12.005],nb:172,dropped:0
[log] > Parsed video,PTS:[8.000,12.000],DTS:[8.000/12.000],nb:100,dropped:0
[log] > main stream-controller: PARSING->PARSED
[log] > main buffered : [0.000,12.000]
[log] > latency/loading/parsing/append/kbps:917/1/13/2/2970
[log] > main stream-controller: PARSED->IDLE
[log] > Loading key for 4 of [1 ,1246],level 0
[log] > main stream-controller: IDLE->KEY_LOADING
[log] > main stream-controller: KEY_LOADING->IDLE
[log] > Loading 4 of [1 ,1246],level 0, currentTime:1.471,bufferEnd:12.000
[log] > main stream-controller: IDLE->FRAG_LOADING
[log] > set autoLevelCapping:3
[log] > Loaded 4 of [1 ,1246],level 0
[log] > Parsing 4 of [1 ,1246],level 0, cc 0
[log] > main stream-controller: FRAG_LOADING->PARSING
[log] > Parsed audio,PTS:[12.005,16.022],DTS:[12.005/16.022],nb:173,dropped:0
[log] > Parsed video,PTS:[12.000,16.000],DTS:[12.000/16.000],nb:100,dropped:0
[log] > main stream-controller: PARSING->PARSED
[log] > main buffered : [0.000,16.000]
[log] > latency/loading/parsing/append/kbps:907/1/8/2/3960
[log] > main stream-controller: PARSED->IDLE
[log] > Loading key for 5 of [1 ,1246],level 0
[log] > main stream-controller: IDLE->KEY_LOADING
[log] > main stream-controller: KEY_LOADING->IDLE
[log] > Loading 5 of [1 ,1246],level 0, currentTime:2.392,bufferEnd:16.000
[log] > main stream-controller: IDLE->FRAG_LOADING
[log] > set autoLevelCapping:3
[log] > Loaded 5 of [1 ,1246],level 0
[log] > Parsing 5 of [1 ,1246],level 0, cc 0
[log] > main stream-controller: FRAG_LOADING->PARSING
[log] > Parsed audio,PTS:[16.022,20.016],DTS:[16.022/20.016],nb:172,dropped:0
[log] > Parsed video,PTS:[16.000,20.000],DTS:[16.000/20.000],nb:100,dropped:0
[log] > main stream-controller: PARSING->PARSED
[log] > main buffered : [0.000,20.000]
[log] > latency/loading/parsing/append/kbps:942/1/10/2/3908
[log] > main stream-controller: PARSED->IDLE
[log] > Loading key for 6 of [1 ,1246],level 0
[log] > main stream-controller: IDLE->KEY_LOADING
[log] > main stream-controller: KEY_LOADING->IDLE
[log] > Loading 6 of [1 ,1246],level 0, currentTime:3.350,bufferEnd:20.000
[log] > main stream-controller: IDLE->FRAG_LOADING
[log] > set autoLevelCapping:3
[log] > Loaded 6 of [1 ,1246],level 0
[log] > Parsing 6 of [1 ,1246],level 0, cc 0
[log] > main stream-controller: FRAG_LOADING->PARSING
[log] > Parsed audio,PTS:[20.016,24.009],DTS:[20.016/24.009],nb:172,dropped:0
[log] > Parsed video,PTS:[20.000,24.000],DTS:[20.000/24.000],nb:100,dropped:0
[log] > main stream-controller: PARSING->PARSED
[log] > main buffered : [0.000,24.000]
[log] > latency/loading/parsing/append/kbps:668/1/8/2/4547
[log] > main stream-controller: PARSED->IDLE
[log] > Loading key for 7 of [1 ,1246],level 0
[log] > main stream-controller: IDLE->KEY_LOADING
[log] > main stream-controller: KEY_LOADING->IDLE
[log] > Loading 7 of [1 ,1246],level 0, currentTime:4.031,bufferEnd:24.000
[log] > main stream-controller: IDLE->FRAG_LOADING
[log] > set autoLevelCapping:3
[log] > Loaded 7 of [1 ,1246],level 0
[log] > Parsing 7 of [1 ,1246],level 0, cc 0
[log] > main stream-controller: FRAG_LOADING->PARSING
[log] > Parsed audio,PTS:[24.009,28.003],DTS:[24.009/28.003],nb:172,dropped:0
[log] > Parsed video,PTS:[24.000,28.000],DTS:[24.000/28.000],nb:100,dropped:0
[log] > main stream-controller: PARSING->PARSED
[log] > main buffered : [0.000,28.000]
[log] > latency/loading/parsing/append/kbps:761/1/7/2/4061
[log] > main stream-controller: PARSED->IDLE
[log] > Loading key for 8 of [1 ,1246],level 0
[log] > main stream-controller: IDLE->KEY_LOADING
[log] > main stream-controller: KEY_LOADING->IDLE
[log] > Loading 8 of [1 ,1246],level 0, currentTime:4.806,bufferEnd:28.000
[log] > main stream-controller: IDLE->FRAG_LOADING
[log] > Loaded 8 of [1 ,1246],level 0
[log] > Parsing 8 of [1 ,1246],level 0, cc 0
[log] > main stream-controller: FRAG_LOADING->PARSING
[log] > Parsed audio,PTS:[28.003,32.020],DTS:[28.003/32.020],nb:173,dropped:0
[log] > Parsed video,PTS:[28.000,32.000],DTS:[28.000/32.000],nb:100,dropped:0
[log] > main stream-controller: PARSING->PARSED
[log] > main buffered : [0.000,32.000]
[log] > latency/loading/parsing/append/kbps:724/1/6/2/4139
[log] > main stream-controller: PARSED->IDLE
[log] > Loading key for 9 of [1 ,1246],level 0
[log] > main stream-controller: IDLE->KEY_LOADING
[log] > main stream-controller: KEY_LOADING->IDLE
[log] > Loading 9 of [1 ,1246],level 0, currentTime:5.542,bufferEnd:32.000
[log] > main stream-controller: IDLE->FRAG_LOADING
[log] > set autoLevelCapping:3
[log] > Loaded 9 of [1 ,1246],level 0
[log] > Parsing 9 of [1 ,1246],level 0, cc 0
[log] > main stream-controller: FRAG_LOADING->PARSING
[log] > Parsed audio,PTS:[32.020,36.014],DTS:[32.020/36.014],nb:172,dropped:0
[log] > Parsed video,PTS:[32.000,36.000],DTS:[32.000/36.000],nb:100,dropped:0
[log] > main stream-controller: PARSING->PARSED
[log] > main buffered : [0.000,36.000]
[log] > latency/loading/parsing/append/kbps:569/2/11/2/7308
[log] > main stream-controller: PARSED->IDLE
[log] > Loading key for 10 of [1 ,1246],level 0
[log] > main stream-controller: IDLE->KEY_LOADING
[log] > main stream-controller: KEY_LOADING->IDLE
[log] > Loading 10 of [1 ,1246],level 0, currentTime:6.128,bufferEnd:36.000
[log] > main stream-controller: IDLE->FRAG_LOADING
[log] > set autoLevelCapping:3
[log] > Loaded 10 of [1 ,1246],level 0
[log] > Parsing 10 of [1 ,1246],level 0, cc 0
[log] > main stream-controller: FRAG_LOADING->PARSING
[log] > Parsed audio,PTS:[36.014,40.008],DTS:[36.014/40.008],nb:172,dropped:0
[log] > Parsed video,PTS:[36.000,40.000],DTS:[36.000/40.000],nb:100,dropped:0
[log] > main stream-controller: PARSING->PARSED
[log] > main buffered : [0.000,40.000]
[log] > latency/loading/parsing/append/kbps:778/1/8/2/4734
[log] > main stream-controller: PARSED->IDLE
[log] > Loading key for 11 of [1 ,1246],level 0
[log] > main stream-controller: IDLE->KEY_LOADING
[log] > main stream-controller: KEY_LOADING->IDLE
[log] > Loading 11 of [1 ,1246],level 0, currentTime:6.920,bufferEnd:40.000
[log] > main stream-controller: IDLE->FRAG_LOADING
[log] > Loaded 11 of [1 ,1246],level 0
[log] > Parsing 11 of [1 ,1246],level 0, cc 0
[log] > main stream-controller: FRAG_LOADING->PARSING
[log] > Parsed audio,PTS:[40.008,44.002],DTS:[40.008/44.002],nb:172,dropped:0
[log] > Parsed video,PTS:[40.000,44.000],DTS:[40.000/44.000],nb:100,dropped:0
[log] > main stream-controller: PARSING->PARSED
[log] > main buffered : [0.000,44.000]
[log] > latency/loading/parsing/append/kbps:382/1/5/2/5252
[log] > main stream-controller: PARSED->IDLE
[log] > Loading key for 12 of [1 ,1246],level 0
[log] > main stream-controller: IDLE->KEY_LOADING
[log] > main stream-controller: KEY_LOADING->IDLE
[log] > Loading 12 of [1 ,1246],level 0, currentTime:7.312,bufferEnd:44.000
[log] > main stream-controller: IDLE->FRAG_LOADING
[log] > set autoLevelCapping:3
[log] > Loaded 12 of [1 ,1246],level 0
[log] > Parsing 12 of [1 ,1246],level 0, cc 0
[log] > main stream-controller: FRAG_LOADING->PARSING
[log] > Parsed audio,PTS:[44.002,48.019],DTS:[44.002/48.019],nb:173,dropped:0
[log] > Parsed video,PTS:[44.000,48.000],DTS:[44.000/48.000],nb:100,dropped:0
[log] > main stream-controller: PARSING->PARSED
[log] > main buffered : [0.000,48.000]
[log] > latency/loading/parsing/append/kbps:437/1/7/2/7547
[log] > main stream-controller: PARSED->IDLE
[log] > Loading key for 13 of [1 ,1246],level 0
[log] > main stream-controller: IDLE->KEY_LOADING
[log] > main stream-controller: KEY_LOADING->IDLE
[log] > Loading 13 of [1 ,1246],level 0, currentTime:7.762,bufferEnd:48.000
[log] > main stream-controller: IDLE->FRAG_LOADING
[log] > Loaded 13 of [1 ,1246],level 0
[log] > Parsing 13 of [1 ,1246],level 0, cc 0
[log] > main stream-controller: FRAG_LOADING->PARSING
[log] > Parsed audio,PTS:[48.019,52.013],DTS:[48.019/52.013],nb:172,dropped:0
[log] > Parsed video,PTS:[48.000,52.000],DTS:[48.000/52.000],nb:100,dropped:0
[log] > main stream-controller: PARSING->PARSED
[log] > main buffered : [0.000,52.000]
[log] > latency/loading/parsing/append/kbps:381/1/8/2/8747
[log] > main stream-controller: PARSED->IDLE
[log] > Loading key for 14 of [1 ,1246],level 0
[log] > main stream-controller: IDLE->KEY_LOADING
[log] > main stream-controller: KEY_LOADING->IDLE
[log] > Loading 14 of [1 ,1246],level 0, currentTime:8.156,bufferEnd:52.000
[log] > main stream-controller: IDLE->FRAG_LOADING
[log] > Loaded 14 of [1 ,1246],level 0
[log] > Parsing 14 of [1 ,1246],level 0, cc 0
[log] > main stream-controller: FRAG_LOADING->PARSING
[log] > Parsed audio,PTS:[52.013,56.007],DTS:[52.013/56.007],nb:172,dropped:0
[log] > Parsed video,PTS:[52.000,56.000],DTS:[52.000/56.000],nb:100,dropped:0
[log] > main stream-controller: PARSING->PARSED
[log] > main buffered : [0.000,56.000]
[log] > latency/loading/parsing/append/kbps:393/1/7/1/7297
[log] > main stream-controller: PARSED->IDLE
[log] > Loading key for 15 of [1 ,1246],level 0
[log] > main stream-controller: IDLE->KEY_LOADING
[log] > main stream-controller: KEY_LOADING->IDLE
[log] > Loading 15 of [1 ,1246],level 0, currentTime:8.562,bufferEnd:56.000
[log] > main stream-controller: IDLE->FRAG_LOADING
[log] > set autoLevelCapping:3
[log] > Loaded 15 of [1 ,1246],level 0
[log] > Parsing 15 of [1 ,1246],level 0, cc 0
[log] > main stream-controller: FRAG_LOADING->PARSING
[log] > Parsed audio,PTS:[56.007,60.000],DTS:[56.007/60.000],nb:172,dropped:0
[log] > Parsed video,PTS:[56.000,60.000],DTS:[56.000/60.000],nb:100,dropped:0
[log] > main stream-controller: PARSING->PARSED
[log] > main buffered : [0.000,60.000]
[log] > latency/loading/parsing/append/kbps:412/1/7/2/8891
[log] > main stream-controller: PARSED->IDLE
[log] > Loading key for 16 of [1 ,1246],level 0
[log] > main stream-controller: IDLE->KEY_LOADING
[log] > main stream-controller: KEY_LOADING->IDLE
[log] > Loading 16 of [1 ,1246],level 0, currentTime:8.987,bufferEnd:60.000
[log] > main stream-controller: IDLE->FRAG_LOADING
[log] > Loaded 16 of [1 ,1246],level 0
[log] > Parsing 16 of [1 ,1246],level 0, cc 0
[log] > main stream-controller: FRAG_LOADING->PARSING
[log] > Parsed audio,PTS:[60.000,64.017],DTS:[60.000/64.017],nb:173,dropped:0
[log] > Parsed video,PTS:[60.000,64.000],DTS:[60.000/64.000],nb:100,dropped:0
[log] > main stream-controller: PARSING->PARSED
[log] > main buffered : [0.000,64.000]
[log] > latency/loading/parsing/append/kbps:485/1/7/2/6809
[log] > main stream-controller: PARSED->IDLE
[log] > Loading key for 17 of [1 ,1246],level 0
[log] > main stream-controller: IDLE->KEY_LOADING
[log] > main stream-controller: KEY_LOADING->IDLE
[log] > Loading 17 of [1 ,1246],level 0, currentTime:9.485,bufferEnd:64.000
[log] > main stream-controller: IDLE->FRAG_LOADING
[log] > set autoLevelCapping:3

OUTCOME 1:

[log] > media seeking to 1386.679
[log] > seeking outside of buffer while fragment load in progress, cancel fragment load
[log] > main stream-controller: FRAG_LOADING->IDLE
[log] > Loading key for 347 of [1 ,1246],level 0
[log] > main stream-controller: IDLE->KEY_LOADING
[log] > main stream-controller: KEY_LOADING->IDLE
[log] > media seeking to 1386.679
[log] > Loading 347 of [1 ,1246],level 0, currentTime:1386.679,bufferEnd:1386.679
[warn] > abort previous fragment loader for type: main
eval @ hls.js?./node_modules/babel-loader/lib:3418
onFragLoading @ hls.js?./node_modules/babel-loader/lib:1386
onEventGeneric @ hls.js?./node_modules/babel-loader/lib:1233
onEvent @ hls.js?./node_modules/babel-loader/lib:1233
emit @ hls.js?./node_modules/babel-loader/lib:95
trigger @ hls.js?./node_modules/babel-loader/lib:1516
_loadFragment @ hls.js?./node_modules/babel-loader/lib:1826
_fetchPayloadOrEos @ hls.js?./node_modules/babel-loader/lib:1790
_doTickIdle @ hls.js?./node_modules/babel-loader/lib:1785
doTick @ hls.js?./node_modules/babel-loader/lib:1763
tick @ hls.js?./node_modules/babel-loader/lib:1734
setTimeout (async)
tick @ hls.js?./node_modules/babel-loader/lib:1737
onMediaSeeking @ hls.js?./node_modules/babel-loader/lib:1752
seeking (async)
Gui.setPlaybackPosition @ gui.js?./node_modules/exports-loader?Gui!./node_modules/babel-loader/lib:528
eval @ gui.js?./node_modules/exports-loader?Gui!./node_modules/babel-loader/lib:537
[log] > main stream-controller: IDLE->FRAG_LOADING
[warn] > frag loader destroy or aborted, disarm abandonRules
eval @ hls.js?./node_modules/babel-loader/lib:3418
_abandonRulesCheck @ hls.js?./node_modules/babel-loader/lib:2076
setInterval (async)
onFragLoading @ hls.js?./node_modules/babel-loader/lib:2069
onEventGeneric @ hls.js?./node_modules/babel-loader/lib:1233
onEvent @ hls.js?./node_modules/babel-loader/lib:1233
emit @ hls.js?./node_modules/babel-loader/lib:95
trigger @ hls.js?./node_modules/babel-loader/lib:1516
_loadFragment @ hls.js?./node_modules/babel-loader/lib:1826
_fetchPayloadOrEos @ hls.js?./node_modules/babel-loader/lib:1790
_doTickIdle @ hls.js?./node_modules/babel-loader/lib:1785
doTick @ hls.js?./node_modules/babel-loader/lib:1763
tick @ hls.js?./node_modules/babel-loader/lib:1734
setTimeout (async)
tick @ hls.js?./node_modules/babel-loader/lib:1737
_checkAppendedParsed @ hls.js?./node_modules/babel-loader/lib:1924
onBufferAppended @ hls.js?./node_modules/babel-loader/lib:1922
onEventGeneric @ hls.js?./node_modules/babel-loader/lib:1233
onEvent @ hls.js?./node_modules/babel-loader/lib:1233
emit @ hls.js?./node_modules/babel-loader/lib:95
trigger @ hls.js?./node_modules/babel-loader/lib:1516
BufferController._this._onSBUpdateEnd @ hls.js?./node_modules/babel-loader/lib:2162
3[log] > set autoLevelCapping:3
[log] > Loaded 347 of [1 ,1246],level 0
[log] > Parsing 347 of [1 ,1246],level 0, cc 0
[log] > main stream-controller: FRAG_LOADING->PARSING
[log] > Parsed audio,PTS:[1384.002,1388.019],DTS:[1384.002/1388.019],nb:173,dropped:0
[log] > main stream-controller: PARSING->PARSED
[log] > main buffered : [0.000,64.000]
[log] > latency/loading/parsing/append/kbps:1545/2094/6/1/733
[log] > main stream-controller: PARSED->IDLE
[log] > Re-loading fragment with SN: 348
[log] > Loading key for 348 of [1 ,1246],level 0
[log] > main stream-controller: IDLE->KEY_LOADING
[log] > main stream-controller: KEY_LOADING->IDLE
[log] > Re-loading fragment with SN: 348
[log] > Loading 348 of [1 ,1246],level 0, currentTime:1386.679,bufferEnd:1386.679
[log] > main stream-controller: IDLE->FRAG_LOADING
11[log] > set autoLevelCapping:3
[log] > Loaded 348 of [1 ,1246],level 0
[log] > Parsing 348 of [1 ,1246],level 0, cc 0
[log] > main stream-controller: FRAG_LOADING->PARSING
[log] > AVC: 1324000 ms hole between fragments detected,filling it
[log] > Video: PTS/DTS adjusted: 64000/64000, delta: 1324000 ms
[log] > Parsed audio,PTS:[1388.019,1392.013],DTS:[1388.019/1392.013],nb:172,dropped:0
[log] > Parsed video,PTS:[64.000,1392.000],DTS:[64.000/1392.000],nb:100,dropped:100
[warn] > missing video frame(s), backtracking fragment 348
eval @ hls.js?./node_modules/babel-loader/lib:3418
onFragParsingData @ hls.js?./node_modules/babel-loader/lib:1902
onEventGeneric @ hls.js?./node_modules/babel-loader/lib:1233
onEvent @ hls.js?./node_modules/babel-loader/lib:1233
emit @ hls.js?./node_modules/babel-loader/lib:95
trigger @ hls.js?./node_modules/babel-loader/lib:1516
onWorkerMessage @ hls.js?./node_modules/babel-loader/lib:1526
[log] > main stream-controller: PARSING->IDLE
[log] > Loading 347 of [1 ,1246],level 0, currentTime:1386.679,bufferEnd:1386.679
4[log] > Loading 347 of [1 ,1246],level 0, currentTime:1386.679,bufferEnd:1386.679
[log] > set autoLevelCapping:3
10[log] > Loading 347 of [1 ,1246],level 0, currentTime:1386.679,bufferEnd:1386.679
[log] > set autoLevelCapping:3
10[log] > Loading 347 of [1 ,1246],level 0, currentTime:1386.679,bufferEnd:1386.679
[log] > set autoLevelCapping:3
10[log] > Loading 347 of [1 ,1246],level 0, currentTime:1386.679,bufferEnd:1386.679
[log] > set autoLevelCapping:3
10[log] > Loading 347 of [1 ,1246],level 0, currentTime:1386.679,bufferEnd:1386.679
[log] > set autoLevelCapping:3
10[log] > Loading 347 of [1 ,1246],level 0, currentTime:1386.679,bufferEnd:1386.679
[log] > set autoLevelCapping:3
10[log] > Loading 347 of [1 ,1246],level 0, currentTime:1386.679,bufferEnd:1386.679
[log] > set autoLevelCapping:3
10[log] > Loading 347 of [1 ,1246],level 0, currentTime:1386.679,bufferEnd:1386.679
[log] > set autoLevelCapping:3
10[log] > Loading 347 of [1 ,1246],level 0, currentTime:1386.679,bufferEnd:1386.679
[log] > set autoLevelCapping:3
10[log] > Loading 347 of [1 ,1246],level 0, currentTime:1386.679,bufferEnd:1386.679
[log] > set autoLevelCapping:3
10[log] > Loading 347 of [1 ,1246],level 0, currentTime:1386.679,bufferEnd:1386.679
[log] > set autoLevelCapping:3
10[log] > Loading 347 of [1 ,1246],level 0, currentTime:1386.679,bufferEnd:1386.679
[log] > set autoLevelCapping:3
10[log] > Loading 347 of [1 ,1246],level 0, currentTime:1386.679,bufferEnd:1386.679
[log] > set autoLevelCapping:3
10[log] > Loading 347 of [1 ,1246],level 0, currentTime:1386.679,bufferEnd:1386.679
[log] > set autoLevelCapping:3
10[log] > Loading 347 of [1 ,1246],level 0, currentTime:1386.679,bufferEnd:1386.679
[log] > set autoLevelCapping:3

OUTCOME 2:

[log] > media seeking to 2283.536
[log] > Loading key for 571 of [1 ,1246],level 0
[log] > main stream-controller: IDLE->KEY_LOADING
[log] > main stream-controller: KEY_LOADING->IDLE
[log] > media seeking to 2283.536
[log] > Loading 571 of [1 ,1246],level 0, currentTime:2283.536,bufferEnd:2283.536
[log] > main stream-controller: IDLE->FRAG_LOADING
8[log] > set autoLevelCapping:3
[log] > Loaded 571 of [1 ,1246],level 0
[log] > Parsing 571 of [1 ,1246],level 0, cc 0
[log] > main stream-controller: FRAG_LOADING->PARSING
[log] > Parsed audio,PTS:[2280.014,2284.008],DTS:[2280.014/2284.008],nb:172,dropped:0
[log] > Parsed video,PTS:[2280.640,2284.000],DTS:[2280.640/2284.000],nb:84,dropped:16
[warn] > missing video frame(s), backtracking fragment 571
eval @ hls.js?./node_modules/babel-loader/lib:3418
onFragParsingData @ hls.js?./node_modules/babel-loader/lib:1902
onEventGeneric @ hls.js?./node_modules/babel-loader/lib:1233
onEvent @ hls.js?./node_modules/babel-loader/lib:1233
emit @ hls.js?./node_modules/babel-loader/lib:95
trigger @ hls.js?./node_modules/babel-loader/lib:1516
onWorkerMessage @ hls.js?./node_modules/babel-loader/lib:1526
[log] > main stream-controller: PARSING->IDLE
[warn] > Loaded fragment with dropped frames, backtracking 1 segment to find a keyframe
eval @ hls.js?./node_modules/babel-loader/lib:3418
_findFragment @ hls.js?./node_modules/babel-loader/lib:1822
_fetchPayloadOrEos @ hls.js?./node_modules/babel-loader/lib:1790
_doTickIdle @ hls.js?./node_modules/babel-loader/lib:1785
doTick @ hls.js?./node_modules/babel-loader/lib:1763
tick @ hls.js?./node_modules/babel-loader/lib:1734
onFragParsingData @ hls.js?./node_modules/babel-loader/lib:1905
onEventGeneric @ hls.js?./node_modules/babel-loader/lib:1233
onEvent @ hls.js?./node_modules/babel-loader/lib:1233
emit @ hls.js?./node_modules/babel-loader/lib:95
trigger @ hls.js?./node_modules/babel-loader/lib:1516
onWorkerMessage @ hls.js?./node_modules/babel-loader/lib:1526
[log] > Loading key for 570 of [1 ,1246],level 0
[log] > main stream-controller: IDLE->KEY_LOADING
[log] > main stream-controller: KEY_LOADING->IDLE
[warn] > Loaded fragment with dropped frames, backtracking 1 segment to find a keyframe
eval @ hls.js?./node_modules/babel-loader/lib:3418
_findFragment @ hls.js?./node_modules/babel-loader/lib:1822
_fetchPayloadOrEos @ hls.js?./node_modules/babel-loader/lib:1790
_doTickIdle @ hls.js?./node_modules/babel-loader/lib:1785
doTick @ hls.js?./node_modules/babel-loader/lib:1763
tick @ hls.js?./node_modules/babel-loader/lib:1734
setTimeout (async)
tick @ hls.js?./node_modules/babel-loader/lib:1737
onFragParsingData @ hls.js?./node_modules/babel-loader/lib:1905
onEventGeneric @ hls.js?./node_modules/babel-loader/lib:1233
onEvent @ hls.js?./node_modules/babel-loader/lib:1233
emit @ hls.js?./node_modules/babel-loader/lib:95
trigger @ hls.js?./node_modules/babel-loader/lib:1516
onWorkerMessage @ hls.js?./node_modules/babel-loader/lib:1526
[log] > Loading 570 of [1 ,1246],level 0, currentTime:2283.536,bufferEnd:2283.536
[log] > main stream-controller: IDLE->FRAG_LOADING
7[log] > set autoLevelCapping:3
[log] > Loaded 570 of [1 ,1246],level 0
[log] > Parsing 570 of [1 ,1246],level 0, cc 0
[log] > main stream-controller: FRAG_LOADING->PARSING
[log] > Parsed audio,PTS:[2276.020,2280.014],DTS:[2276.020/2280.014],nb:172,dropped:0
[log] > main stream-controller: PARSING->PARSED
[log] > main buffered : [0.000,64.000]
[log] > latency/loading/parsing/append/kbps:635/5970/7/1/386
[log] > main stream-controller: PARSED->IDLE
[log] > Loading 571 of [1 ,1246],level 0, currentTime:2283.536,bufferEnd:2283.536
[log] > main stream-controller: IDLE->FRAG_LOADING
[log] > Loaded 571 of [1 ,1246],level 0
[log] > Parsing 571 of [1 ,1246],level 0, cc 0
[log] > main stream-controller: FRAG_LOADING->PARSING
[log] > AVC: 4000 ms overlapping between fragments detected
[log] > Video: PTS/DTS adjusted: 2284000/2284000, delta: -4000 ms
[log] > Parsed audio,PTS:[2280.014,2284.008],DTS:[2280.014/2284.008],nb:172,dropped:0
[log] > Parsed video,PTS:[2284.000,2283.960],DTS:[2284.000/2283.960],nb:100,dropped:100
[warn] > Already backtracked on this fragment, appending with the gap 571
eval @ hls.js?./node_modules/babel-loader/lib:3418
onFragParsingData @ hls.js?./node_modules/babel-loader/lib:1905
onEventGeneric @ hls.js?./node_modules/babel-loader/lib:1233
onEvent @ hls.js?./node_modules/babel-loader/lib:1233
emit @ hls.js?./node_modules/babel-loader/lib:95
trigger @ hls.js?./node_modules/babel-loader/lib:1516
onWorkerMessage @ hls.js?./node_modules/babel-loader/lib:1526
[log] > main stream-controller: PARSING->PARSED
[log] > main buffered : [0.000,64.000][2284.000,2284.000]
[log] > latency/loading/parsing/append/kbps:676/1/11/2/5133
[log] > main stream-controller: PARSED->IDLE
[log] > Loading key for 572 of [1 ,1246],level 0
[log] > main stream-controller: IDLE->KEY_LOADING
[log] > main stream-controller: KEY_LOADING->IDLE
[log] > Loading 572 of [1 ,1246],level 0, currentTime:2283.536,bufferEnd:2284.000
[log] > main stream-controller: IDLE->FRAG_LOADING
[warn] > skipping hole, adjusting currentTime from 2283.53645 to 2284.05
eval @ hls.js?./node_modules/babel-loader/lib:3418
_trySkipBufferHole @ hls.js?./node_modules/babel-loader/lib:1684
poll @ hls.js?./node_modules/babel-loader/lib:1656
_checkBuffer @ hls.js?./node_modules/babel-loader/lib:1945
doTick @ hls.js?./node_modules/babel-loader/lib:1766
tick @ hls.js?./node_modules/babel-loader/lib:1734
setTimeout (async)
tick @ hls.js?./node_modules/babel-loader/lib:1737
_checkAppendedParsed @ hls.js?./node_modules/babel-loader/lib:1924
onBufferAppended @ hls.js?./node_modules/babel-loader/lib:1922
onEventGeneric @ hls.js?./node_modules/babel-loader/lib:1233
onEvent @ hls.js?./node_modules/babel-loader/lib:1233
emit @ hls.js?./node_modules/babel-loader/lib:95
trigger @ hls.js?./node_modules/babel-loader/lib:1516
BufferController._this._onSBUpdateEnd @ hls.js?./node_modules/babel-loader/lib:2162
[log] > media seeking to 2284.050
[log] > seeking outside of buffer but within currently loaded fragment range
[log] > media seeking to 2284.050
7[log] > set autoLevelCapping:3
[log] > Loaded 572 of [1 ,1246],level 0
[log] > Parsing 572 of [1 ,1246],level 0, cc 0
[log] > main stream-controller: FRAG_LOADING->PARSING
[log] > AVC: 40 ms hole between fragments detected,filling it
[log] > Video: PTS/DTS adjusted: 2283960/2283960, delta: 40 ms
[log] > Parsed audio,PTS:[2284.008,2288.001],DTS:[2284.008/2288.001],nb:172,dropped:0
[log] > Parsed video,PTS:[2283.960,2288.000],DTS:[2283.960/2288.000],nb:100,dropped:0
[log] > main stream-controller: PARSING->PARSED
[log] > main buffered : [0.000,64.000][2284.000,2284.000]
[log] > latency/loading/parsing/append/kbps:841/5298/9/2/521
[log] > main stream-controller: PARSED->IDLE
[log] > Re-loading fragment with SN: 573
[log] > Loading key for 573 of [1 ,1246],level 0
[log] > main stream-controller: IDLE->KEY_LOADING
[log] > main stream-controller: KEY_LOADING->IDLE
[log] > Re-loading fragment with SN: 573
[log] > Loading 573 of [1 ,1246],level 0, currentTime:2284.050,bufferEnd:2284.050
[log] > main stream-controller: IDLE->FRAG_LOADING
4[log] > set autoLevelCapping:3
[log] > Loaded 573 of [1 ,1246],level 0
[log] > Parsing 573 of [1 ,1246],level 0, cc 0
[log] > main stream-controller: FRAG_LOADING->PARSING
[log] > Parsed audio,PTS:[2288.001,2292.019],DTS:[2288.001/2292.019],nb:173,dropped:0
[log] > Parsed video,PTS:[2288.000,2292.000],DTS:[2288.000/2292.000],nb:100,dropped:0
[log] > main stream-controller: PARSING->PARSED
[log] > main buffered : [0.000,64.000][2284.000,2284.000][2290.640,2292.000]
[log] > latency/loading/parsing/append/kbps:624/3963/9/2/697
[log] > main stream-controller: PARSED->IDLE
[log] > Loading 572 of [1 ,1246],level 0, currentTime:2284.050,bufferEnd:2284.050
[log] > main stream-controller: IDLE->FRAG_LOADING
[log] > set autoLevelCapping:3
[log] > Loaded 572 of [1 ,1246],level 0
[log] > Parsing 572 of [1 ,1246],level 0, cc 0
[log] > main stream-controller: FRAG_LOADING->PARSING
[log] > Parsed audio,PTS:[2284.008,2288.001],DTS:[2284.008/2288.001],nb:172,dropped:0
[log] > main stream-controller: PARSING->PARSED
[log] > main buffered : [0.000,64.000][2284.000,2284.000][2290.640,2292.000]
[log] > latency/loading/parsing/append/kbps:667/1/7/1/4738
[log] > main stream-controller: PARSED->IDLE
[log] > Re-loading fragment with SN: 573
[log] > Loading 573 of [1 ,1246],level 0, currentTime:2284.050,bufferEnd:2284.050
[log] > main stream-controller: IDLE->FRAG_LOADING
[log] > Loaded 573 of [1 ,1246],level 0
[log] > Parsing 573 of [1 ,1246],level 0, cc 0
[log] > main stream-controller: FRAG_LOADING->PARSING
[log] > AVC: 4000 ms overlapping between fragments detected
[log] > Video: PTS/DTS adjusted: 2292000/2292000, delta: -4000 ms
[log] > Parsed audio,PTS:[2288.001,2292.019],DTS:[2288.001/2292.019],nb:173,dropped:0
[log] > Parsed video,PTS:[2292.000,2291.960],DTS:[2292.000/2291.960],nb:100,dropped:100
[warn] > missing video frame(s), backtracking fragment 573
eval @ hls.js?./node_modules/babel-loader/lib:3418
onFragParsingData @ hls.js?./node_modules/babel-loader/lib:1902
onEventGeneric @ hls.js?./node_modules/babel-loader/lib:1233
onEvent @ hls.js?./node_modules/babel-loader/lib:1233
emit @ hls.js?./node_modules/babel-loader/lib:95
trigger @ hls.js?./node_modules/babel-loader/lib:1516
onWorkerMessage @ hls.js?./node_modules/babel-loader/lib:1526
[log] > main stream-controller: PARSING->IDLE
[log] > Loading 572 of [1 ,1246],level 0, currentTime:2284.050,bufferEnd:2284.050
[log] > main stream-controller: IDLE->FRAG_LOADING
[log] > set autoLevelCapping:3
[log] > Loaded 572 of [1 ,1246],level 0
[log] > Parsing 572 of [1 ,1246],level 0, cc 0
[log] > main stream-controller: FRAG_LOADING->PARSING
[log] > Parsed audio,PTS:[2284.008,2288.001],DTS:[2284.008/2288.001],nb:172,dropped:0
[log] > main stream-controller: PARSING->PARSED
[log] > main buffered : [0.000,64.000][2284.000,2284.000][2290.640,2292.000]
[log] > latency/loading/parsing/append/kbps:720/1/9/2/4379
[log] > main stream-controller: PARSED->IDLE
[log] > Re-loading fragment with SN: 573
[log] > Loading 573 of [1 ,1246],level 0, currentTime:2284.050,bufferEnd:2284.050
[log] > main stream-controller: IDLE->FRAG_LOADING
[log] > set autoLevelCapping:3
[log] > Loaded 573 of [1 ,1246],level 0
[log] > Parsing 573 of [1 ,1246],level 0, cc 0
[log] > main stream-controller: FRAG_LOADING->PARSING
[log] > AVC: 3960 ms overlapping between fragments detected
[log] > Video: PTS/DTS adjusted: 2291960/2291960, delta: -3960 ms
[log] > Parsed audio,PTS:[2288.001,2292.019],DTS:[2288.001/2292.019],nb:173,dropped:0
[log] > Parsed video,PTS:[2291.960,2291.960],DTS:[2291.960/2291.960],nb:100,dropped:100
[warn] > Already backtracked on this fragment, appending with the gap 573
eval @ hls.js?./node_modules/babel-loader/lib:3418
onFragParsingData @ hls.js?./node_modules/babel-loader/lib:1905
onEventGeneric @ hls.js?./node_modules/babel-loader/lib:1233
onEvent @ hls.js?./node_modules/babel-loader/lib:1233
emit @ hls.js?./node_modules/babel-loader/lib:95
trigger @ hls.js?./node_modules/babel-loader/lib:1516
onWorkerMessage @ hls.js?./node_modules/babel-loader/lib:1526
[log] > main stream-controller: PARSING->PARSED
[log] > main buffered : [0.000,64.000][2284.000,2284.000][2290.640,2291.960]
[log] > latency/loading/parsing/append/kbps:912/1/8/2/3469
[log] > main stream-controller: PARSED->IDLE
[log] > Loading 572 of [1 ,1246],level 0, currentTime:2284.050,bufferEnd:2284.050
[log] > main stream-controller: IDLE->FRAG_LOADING
[log] > set autoLevelCapping:3
[log] > Loaded 572 of [1 ,1246],level 0
[log] > Parsing 572 of [1 ,1246],level 0, cc 0
[log] > main stream-controller: FRAG_LOADING->PARSING
[log] > Parsed audio,PTS:[2284.008,2288.001],DTS:[2284.008/2288.001],nb:172,dropped:0
[log] > main stream-controller: PARSING->PARSED
[log] > main buffered : [0.000,64.000][2284.000,2284.000][2290.640,2291.960]
[log] > latency/loading/parsing/append/kbps:899/1/7/1/3527
[log] > main stream-controller: PARSED->IDLE
[log] > Re-loading fragment with SN: 573
[log] > Loading 573 of [1 ,1246],level 0, currentTime:2284.050,bufferEnd:2284.050
[log] > main stream-controller: IDLE->FRAG_LOADING
[log] > set autoLevelCapping:3
[log] > Loaded 573 of [1 ,1246],level 0
[log] > Parsing 573 of [1 ,1246],level 0, cc 0
[log] > main stream-controller: FRAG_LOADING->PARSING
[log] > AVC: 3960 ms overlapping between fragments detected
[log] > Video: PTS/DTS adjusted: 2291960/2291960, delta: -3960 ms
[log] > Parsed audio,PTS:[2288.001,2292.019],DTS:[2288.001/2292.019],nb:173,dropped:0
[log] > Parsed video,PTS:[2291.960,2291.960],DTS:[2291.960/2291.960],nb:100,dropped:100
[warn] > Already backtracked on this fragment, appending with the gap 573
eval @ hls.js?./node_modules/babel-loader/lib:3418
onFragParsingData @ hls.js?./node_modules/babel-loader/lib:1905
onEventGeneric @ hls.js?./node_modules/babel-loader/lib:1233
onEvent @ hls.js?./node_modules/babel-loader/lib:1233
emit @ hls.js?./node_modules/babel-loader/lib:95
trigger @ hls.js?./node_modules/babel-loader/lib:1516
onWorkerMessage @ hls.js?./node_modules/babel-loader/lib:1526
[log] > main stream-controller: PARSING->PARSED
[log] > main buffered : [0.000,64.000][2284.000,2284.000][2290.640,2291.960]
[log] > latency/loading/parsing/append/kbps:768/1/9/2/4106
[log] > main stream-controller: PARSED->IDLE
[log] > Loading 572 of [1 ,1246],level 0, currentTime:2284.050,bufferEnd:2284.050
[log] > main stream-controller: IDLE->FRAG_LOADING
[log] > set autoLevelCapping:3
[log] > Loaded 572 of [1 ,1246],level 0
[log] > Parsing 572 of [1 ,1246],level 0, cc 0
[log] > main stream-controller: FRAG_LOADING->PARSING
[log] > Parsed audio,PTS:[2284.008,2288.001],DTS:[2284.008/2288.001],nb:172,dropped:0
[log] > main stream-controller: PARSING->PARSED
[log] > main buffered : [0.000,64.000][2284.000,2284.000][2290.640,2291.960]
[log] > latency/loading/parsing/append/kbps:667/1/7/1/4739
[log] > main stream-controller: PARSED->IDLE
[log] > Re-loading fragment with SN: 573
[log] > Loading 573 of [1 ,1246],level 0, currentTime:2284.050,bufferEnd:2284.050
[log] > main stream-controller: IDLE->FRAG_LOADING
[log] > Loaded 573 of [1 ,1246],level 0
[log] > Parsing 573 of [1 ,1246],level 0, cc 0
[log] > main stream-controller: FRAG_LOADING->PARSING
[log] > AVC: 3960 ms overlapping between fragments detected
[log] > Video: PTS/DTS adjusted: 2291960/2291960, delta: -3960 ms
[log] > Parsed audio,PTS:[2288.001,2292.019],DTS:[2288.001/2292.019],nb:173,dropped:0
[log] > Parsed video,PTS:[2291.960,2291.960],DTS:[2291.960/2291.960],nb:100,dropped:100
[warn] > Already backtracked on this fragment, appending with the gap 573
eval @ hls.js?./node_modules/babel-loader/lib:3418
onFragParsingData @ hls.js?./node_modules/babel-loader/lib:1905
onEventGeneric @ hls.js?./node_modules/babel-loader/lib:1233
onEvent @ hls.js?./node_modules/babel-loader/lib:1233
emit @ hls.js?./node_modules/babel-loader/lib:95
trigger @ hls.js?./node_modules/babel-loader/lib:1516
onWorkerMessage @ hls.js?./node_modules/babel-loader/lib:1526
[log] > main stream-controller: PARSING->PARSED
[log] > main buffered : [0.000,64.000][2284.000,2284.000][2290.640,2291.960]
[log] > latency/loading/parsing/append/kbps:727/1/7/2/4343
[log] > main stream-controller: PARSED->IDLE
[log] > Loading 572 of [1 ,1246],level 0, currentTime:2284.050,bufferEnd:2284.050
[log] > main stream-controller: IDLE->FRAG_LOADING
2[log] > set autoLevelCapping:3
[log] > Loaded 572 of [1 ,1246],level 0
[log] > Parsing 572 of [1 ,1246],level 0, cc 0
[log] > main stream-controller: FRAG_LOADING->PARSING
[log] > Parsed audio,PTS:[2284.008,2288.001],DTS:[2284.008/2288.001],nb:172,dropped:0
[log] > main stream-controller: PARSING->PARSED
[log] > main buffered : [0.000,64.000][2284.000,2284.000][2290.640,2291.960]
[log] > latency/loading/parsing/append/kbps:2107/1/7/1/1514
[log] > main stream-controller: PARSED->IDLE
[log] > Re-loading fragment with SN: 573
[log] > Loading 573 of [1 ,1246],level 0, currentTime:2284.050,bufferEnd:2284.050
[log] > main stream-controller: IDLE->FRAG_LOADING
[log] > set autoLevelCapping:3
[log] > Loaded 573 of [1 ,1246],level 0
[log] > Parsing 573 of [1 ,1246],level 0, cc 0
[log] > main stream-controller: FRAG_LOADING->PARSING
[log] > AVC: 3960 ms overlapping between fragments detected
[log] > Video: PTS/DTS adjusted: 2291960/2291960, delta: -3960 ms
[log] > Parsed audio,PTS:[2288.001,2292.019],DTS:[2288.001/2292.019],nb:173,dropped:0
[log] > Parsed video,PTS:[2291.960,2291.960],DTS:[2291.960/2291.960],nb:100,dropped:100
[warn] > Already backtracked on this fragment, appending with the gap 573
eval @ hls.js?./node_modules/babel-loader/lib:3418
onFragParsingData @ hls.js?./node_modules/babel-loader/lib:1905
onEventGeneric @ hls.js?./node_modules/babel-loader/lib:1233
onEvent @ hls.js?./node_modules/babel-loader/lib:1233
emit @ hls.js?./node_modules/babel-loader/lib:95
trigger @ hls.js?./node_modules/babel-loader/lib:1516
onWorkerMessage @ hls.js?./node_modules/babel-loader/lib:1526
[log] > main stream-controller: PARSING->PARSED
[log] > main buffered : [0.000,64.000][2284.000,2284.000][2290.640,2291.960]
[log] > latency/loading/parsing/append/kbps:672/1/8/2/4689
[log] > main stream-controller: PARSED->IDLE
[log] > Loading 572 of [1 ,1246],level 0, currentTime:2284.050,bufferEnd:2284.050
[log] > main stream-controller: IDLE->FRAG_LOADING
[log] > set autoLevelCapping:3
[log] > Loaded 572 of [1 ,1246],level 0
[log] > Parsing 572 of [1 ,1246],level 0, cc 0
[log] > main stream-controller: FRAG_LOADING->PARSING
[log] > Parsed audio,PTS:[2284.008,2288.001],DTS:[2284.008/2288.001],nb:172,dropped:0
[log] > main stream-controller: PARSING->PARSED
[log] > main buffered : [0.000,64.000][2284.000,2284.000][2290.640,2291.960]
[log] > latency/loading/parsing/append/kbps:789/1/6/1/4015
[log] > main stream-controller: PARSED->IDLE
[log] > Re-loading fragment with SN: 573
[log] > Loading 573 of [1 ,1246],level 0, currentTime:2284.050,bufferEnd:2284.050
[log] > main stream-controller: IDLE->FRAG_LOADING
[log] > set autoLevelCapping:3
[log] > Loaded 573 of [1 ,1246],level 0
[log] > Parsing 573 of [1 ,1246],level 0, cc 0
[log] > main stream-controller: FRAG_LOADING->PARSING
[log] > AVC: 3960 ms overlapping between fragments detected
[log] > Video: PTS/DTS adjusted: 2291960/2291960, delta: -3960 ms
[log] > Parsed audio,PTS:[2288.001,2292.019],DTS:[2288.001/2292.019],nb:173,dropped:0
[log] > Parsed video,PTS:[2291.960,2291.960],DTS:[2291.960/2291.960],nb:100,dropped:100
robwalch commented 4 years ago

Hi @write2art,

[warn] > missing video frame(s), backtracking fragment... indicates that you have segments that do not start with keyframes. I don't think backtracking goes back more than one segment, so you probably have multiple segments without any keyframes, unless there is an issue with decryption or parsing missing/loosing the key/IDR frames.

Can you share how your stream is encoded?

write2art commented 4 years ago

Hi @robwalch Sure, here it is:

ffmpeg -fflags +genpts+igndts -ss {$seek}{$duration} -i $input -y -movflags faststart -g 50 -keyint_min 50 -sc_threshold 0 -c:a aac -c:v libx264 -crf 21 -x264-params \"nal-hrd=cbr\" -filter_complex \
        '[0:v]yadif,format=yuv420p,framerate=fps=25,setpts=N/(25*TB),split=4[v1][v2][v3][v4];[v1]scale=1920:-1[hd];[v2]scale=1280:-1[hq];[v3]scale=640:-1[mq];[v4]scale=512:-1[lq];[0:1]amerge=inputs=1[a];[a]aformat=sample_rates=44100,asetpts=N/SR/TB,asplit=5[a1][a2][a3][a4][a5]' \
        -map '[hd]' -map '[a1]' -b:a 128k -ac 2 -b:v 6000k -minrate 6000k -maxrate 6000k -tune film -profile:v high -f mp4 {$dir}/{$uuid}_portal_HD.mp4 \
        -map '[hq]' -map '[a2]' -b:a 64k  -ac 2 -b:v 4000k -minrate 4000k -maxrate 4000k -tune film -profile:v main -f mp4 {$dir}/{$uuid}_portal_HQ.mp4 \
        -map '[mq]' -map '[a3]' -b:a 64k  -ac 1 -b:v 1500k -minrate 1500k -maxrate 1500k -tune film -profile:v baseline -f mp4 {$dir}/{$uuid}_portal_MQ.mp4 \
        -map '[lq]' -map '[a4]' -b:a 64k  -ac 1 -b:v 700k  -minrate 700k  -maxrate 700k  -tune film -profile:v baseline -f mp4 {$dir}/{$uuid}_portal_LQ.mp4 \
        -map '[a5]' -vn -ac 1 -f mp4 {$dir}/{$uuid}_mobile_AQ.mp4

As you can see, with frame rate 25 i have a keyframe every 2 seconds, which leads to at least two keyframes in every 4 seconds chunk.

stale[bot] commented 4 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.

robwalch commented 4 years ago

As you can see, with frame rate 25 i have a keyframe every 2 seconds, which leads to at least two keyframes in every 4 seconds chunk.

And then how are you packaging into HLS? If the chunks do not start on one of those keyframes, seeking either must drop frames or load two chunks before seeking is complete.

write2art commented 4 years ago

@robwalch the problem was during encoding. My settings applied only to the first out video, and other 3 streams were using the defaults. To make it insert keyframe every 50 frames i should duplicate keyframe settings for every output stream. Now everything works as expected.

Thanks for your replies - your mention about chunks should start from keyframe finally leaded me to a solution.

robwalch commented 4 years ago

That's good. I'm going to close this one out as I'm not making plans to improve support for non-independent segments at the moment.