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

HLS.js does not play a specific VoD stream #661

Closed totoCZ closed 8 years ago

totoCZ commented 8 years ago
Environment

Frag Loop Loading Error,cannot recover, last media error recovery failed ... toggle playback controls

Console output
Failed to load resource: the server responded with a status of 404 (Not Found)
http://localhost:8001/ Failed to load resource: net::ERR_CONNECTION_REFUSED
logger.js:37 [log] > loadSource:http://x/vod/22_JJhcKf_576p.mp4/index.m3u8
logger.js:37 [log] > trigger BUFFER_RESET
logger.js:37 [log] > set autoLevelCapping:-1
logger.js:37 [log] > attachMedia
logger.js:37 [log] > manifest loaded,1 level(s) found, first bitrate:285000
logger.js:37 [log] > 2 sourceBuffer(s) expected
logger.js:37 [log] > startLoad
logger.js:37 [log] > engine state transition from undefined to STOPPED
logger.js:37 [log] > demuxing in webworker
logger.js:37 [log] > engine state transition from STOPPED to STARTING
logger.js:37 [log] > switching to level 0
logger.js:37 [log] > (re)loading playlist for level 0
logger.js:37 [log] > engine state transition from STARTING to WAITING_LEVEL
logger.js:37 [log] > audio tracks updated
logger.js:37 [log] > level 0 loaded [0,15],duration:62
logger.js:37 [log] > engine state transition from WAITING_LEVEL to IDLE
logger.js:37 [log] > media source opened
logger.js:37 [log] > startLoad
logger.js:37 [log] > engine state transition from IDLE to STOPPED
logger.js:37 [log] > demuxing in webworker
logger.js:37 [log] > engine state transition from STOPPED to STARTING
logger.js:37 [log] > engine state transition from STARTING to WAITING_LEVEL
logger.js:37 [log] > configure startPosition @-1
logger.js:37 [log] > engine state transition from WAITING_LEVEL to IDLE
logger.js:37 [log] > Loading 0 of [0 ,15],level 0, currentTime:-1,bufferEnd:-1.000
logger.js:37 [log] > engine state transition from IDLE to FRAG_LOADING
logger.js:37 [log] > Loaded  0 of level 0
logger.js:37 [log] > engine state transition from FRAG_LOADING to PARSING
logger.js:37 [log] > Demuxing 0 of [0 ,15],level 0, cc 0
logger.js:37 [log] > creating sourceBuffer with mimeType:audio/mp4;codecs=mp4a.40.2
logger.js:37 [log] > creating sourceBuffer with mimeType:video/mp4;codecs=avc1.4d001f
logger.js:37 [log] > main track:audio,container:audio/mp4,codecs[level/parsed]=[mp4a.40.2/mp4a.40.5]
logger.js:37 [log] > main track:video,container:video/mp4,codecs[level/parsed]=[avc1.4d001f/avc1.4d401f]
logger.js:37 [log] > parsed audio,PTS:[0.000,603.367],DTS:[0.000/603.367],nb:25985,dropped:0
logger.js:37 [log] > parsed video,PTS:[600.000,604.000],DTS:[600.000/604.000],nb:100,dropped:0
logger.js:37 [log] > engine state transition from PARSING to PARSED
logger.js:37 [log] > main buffered : [600,603.30213]
logger.js:37 [log] > engine state transition from PARSED to IDLE
logger.js:37 [log] > Loading 1 of [0 ,15],level 0, currentTime:604,bufferEnd:604.000
logger.js:37 [log] > engine state transition from IDLE to FRAG_LOADING
logger.js:37 [log] > target start position:-1
logger.js:37 [log] > target start position not buffered, seek to buffered.start(0) 600
logger.js:37 [log] > adjust currentTime from 0 to 600
logger.js:37 [log] > media seeking to 600
logger.js:37 [log] > media seeked to 600
logger.js:37 [log] > Loaded  1 of level 0
logger.js:37 [log] > engine state transition from FRAG_LOADING to PARSING
logger.js:37 [log] > Demuxing 1 of [0 ,15],level 0, cc 0
logger.js:37 [log] > parsed video,PTS:[604.000,608.000],DTS:[604.000/608.000],nb:100,dropped:0
logger.js:37 [log] > engine state transition from PARSING to PARSED
logger.js:37 [log] > main buffered : [600,603.30213]
logger.js:37 [log] > engine state transition from PARSED to IDLE
logger.js:37 [log] > Loading 0 of [0 ,15],level 0, currentTime:600.03244,bufferEnd:603.302
logger.js:37 [log] > engine state transition from IDLE to FRAG_LOADING
logger.js:37 [log] > Loaded  0 of level 0
logger.js:37 [log] > engine state transition from FRAG_LOADING to PARSING
logger.js:37 [log] > Demuxing 0 of [0 ,15],level 0, cc 0
logger.js:37 [log] > parsed audio,PTS:[0.000,603.367],DTS:[0.000/603.367],nb:25985,dropped:0
logger.js:37 [log] > parsed video,PTS:[600.000,604.000],DTS:[600.000/604.000],nb:100,dropped:0
logger.js:37 [log] > engine state transition from PARSING to PARSED
logger.js:37 [log] > main buffered : [600,603.30213]
logger.js:37 [log] > engine state transition from PARSED to IDLE
logger.js:37 [log] > SN just loaded, load next one: 1
logger.js:37 [log] > Loading 1 of [0 ,15],level 0, currentTime:600.452194,bufferEnd:603.302
logger.js:37 [log] > engine state transition from IDLE to FRAG_LOADING
logger.js:37 [log] > Loaded  1 of level 0
logger.js:37 [log] > engine state transition from FRAG_LOADING to PARSING
logger.js:37 [log] > Demuxing 1 of [0 ,15],level 0, cc 0
logger.js:37 [log] > parsed video,PTS:[604.000,608.000],DTS:[604.000/608.000],nb:100,dropped:0
logger.js:37 [log] > engine state transition from PARSING to PARSED
logger.js:37 [log] > main buffered : [600,603.30213]
logger.js:37 [log] > engine state transition from PARSED to IDLE
logger.js:37 [log] > Loading 0 of [0 ,15],level 0, currentTime:600.471167,bufferEnd:603.302
logger.js:37 [log] > engine state transition from IDLE to FRAG_LOADING
logger.js:37 [log] > Loaded  0 of level 0
logger.js:37 [log] > engine state transition from FRAG_LOADING to PARSING
logger.js:37 [log] > Demuxing 0 of [0 ,15],level 0, cc 0
logger.js:37 [log] > parsed audio,PTS:[0.000,603.367],DTS:[0.000/603.367],nb:25985,dropped:0
logger.js:37 [log] > parsed video,PTS:[600.000,604.000],DTS:[600.000/604.000],nb:100,dropped:0
logger.js:37 [log] > engine state transition from PARSING to PARSED
logger.js:37 [log] > main buffered : [600,603.30213]
logger.js:37 [log] > engine state transition from PARSED to IDLE
logger.js:37 [log] > SN just loaded, load next one: 1
logger.js:37 [log] > Loading 1 of [0 ,15],level 0, currentTime:601.085442,bufferEnd:603.302
logger.js:37 [log] > engine state transition from IDLE to FRAG_LOADING
logger.js:37 [log] > Loaded  1 of level 0
logger.js:37 [log] > engine state transition from FRAG_LOADING to PARSING
logger.js:37 [log] > Demuxing 1 of [0 ,15],level 0, cc 0
logger.js:37 [log] > parsed video,PTS:[604.000,608.000],DTS:[604.000/608.000],nb:100,dropped:0
logger.js:37 [log] > engine state transition from PARSING to PARSED
logger.js:37 [log] > main buffered : [600,603.30213]
logger.js:37 [log] > engine state transition from PARSED to IDLE
logger.js:37 [log] > Loading 0 of [0 ,15],level 0, currentTime:601.101882,bufferEnd:603.302
logger.js:37 [error] > cannot recover fragLoopLoadingError error(anonymous function) @ logger.js:37
logger.js:37 [log] > engine state transition from IDLE to ERROR
logger.js:37 [warn] > mediaController: fragLoopLoadingError while loading frag,switch to ERROR state ...
logger.js:37 [log] > recoverMediaError
logger.js:37 [log] > detachMedia
logger.js:37 [log] > media source detaching
logger.js:37 [log] > engine state transition from ERROR to STOPPED
logger.js:37 [log] > attachMedia
?src=http%3A%2F%2F%3A81%2Fvod%2F22_JJhcKf_576p.mp4%2Findex.m3u8&enableStreamin…:543 MediaSource detached...
logger.js:37 [log] > engine state transition from STOPPED to ERROR
logger.js:37 [warn] > mediaController: fragLoopLoadingError while loading frag,switch to ERROR state ...
logger.js:37 [log] > swapAudioCodec
logger.js:37 [log] > recoverMediaError
logger.js:37 [log] > detachMedia
logger.js:37 [log] > media source detaching
logger.js:37 [log] > engine state transition from ERROR to STOPPED
logger.js:37 [log] > attachMedia
?src=http%3A%2F%2F%3A81%2Fvod%2F22_JJhcKf_576p.mp4%2Findex.m3u8&enableStreamin…:543 MediaSource detached...
logger.js:37 [log] > media source opened
logger.js:37 [log] > startLoad
logger.js:37 [log] > demuxing in webworker
logger.js:37 [log] > configure startPosition @601.099966
logger.js:37 [log] > resuming video
logger.js:37 [log] > engine state transition from STOPPED to IDLE
logger.js:37 [log] > switching to level 0
logger.js:37 [log] > Loading 0 of [0 ,15],level 0, currentTime:601.099966,bufferEnd:601.100
logger.js:37 [log] > engine state transition from IDLE to FRAG_LOADING
logger.js:37 [log] > configure startPosition @-1
logger.js:37 [log] > Loaded  0 of level 0
logger.js:37 [log] > engine state transition from FRAG_LOADING to PARSING
logger.js:37 [log] > swapping playlist audio codec
logger.js:37 [log] > Demuxing 0 of [0 ,15],level 0, cc 0
?src=http%3A%2F%2F%3A81%2Fvod%2F22_JJhcKf_576p.mp4%2Findex.m3u8&enableStreamin…:783 Uncaught InvalidStateError: Failed to read the 'buffered' property from 'SourceBuffer': This SourceBuffer has been removed from the parent media source.
logger.js:37 [log] > swapping playlist audio codec
logger.js:37 [log] > creating sourceBuffer with mimeType:audio/mp4;codecs=mp4a.40.5
logger.js:37 [log] > creating sourceBuffer with mimeType:video/mp4;codecs=avc1.4d001f
logger.js:37 [log] > main track:audio,container:audio/mp4,codecs[level/parsed]=[mp4a.40.5/mp4a.40.5]
logger.js:37 [log] > main track:video,container:video/mp4,codecs[level/parsed]=[avc1.4d001f/avc1.4d401f]
logger.js:37 [log] > parsed audio,PTS:[0.000,603.367],DTS:[0.000/603.367],nb:25985,dropped:0
logger.js:37 [log] > parsed video,PTS:[600.000,604.000],DTS:[600.000/604.000],nb:100,dropped:0
logger.js:37 [log] > engine state transition from PARSING to PARSED
logger.js:37 [log] > main buffered : [600,603.30213]
logger.js:37 [log] > engine state transition from PARSED to IDLE
logger.js:37 [log] > Loading 1 of [0 ,15],level 0, currentTime:604,bufferEnd:604.000
logger.js:37 [log] > engine state transition from IDLE to FRAG_LOADING
logger.js:37 [log] > target start position:601.099966
logger.js:37 [log] > adjust currentTime from 0 to 601.099966
logger.js:37 [log] > media seeking to 601.099966
logger.js:37 [log] > Loaded  1 of level 0
logger.js:37 [log] > engine state transition from FRAG_LOADING to PARSING
logger.js:37 [log] > swapping playlist audio codec
logger.js:37 [log] > Demuxing 1 of [0 ,15],level 0, cc 0
logger.js:37 [log] > parsed video,PTS:[604.000,608.000],DTS:[604.000/608.000],nb:100,dropped:0
logger.js:37 [log] > engine state transition from PARSING to PARSED
logger.js:37 [log] > main buffered : [600,603.30213]
logger.js:37 [log] > engine state transition from PARSED to IDLE
logger.js:37 [log] > Loading 0 of [0 ,15],level 0, currentTime:601.099966,bufferEnd:603.302
logger.js:37 [log] > engine state transition from IDLE to FRAG_LOADING
logger.js:37 [log] > Loaded  0 of level 0
logger.js:37 [log] > engine state transition from FRAG_LOADING to PARSING
logger.js:37 [log] > swapping playlist audio codec
logger.js:37 [log] > Demuxing 0 of [0 ,15],level 0, cc 0
logger.js:37 [log] > media seeked to 601.099966
logger.js:37 [log] > parsed audio,PTS:[0.000,603.367],DTS:[0.000/603.367],nb:25985,dropped:0
logger.js:37 [log] > parsed video,PTS:[600.000,604.000],DTS:[600.000/604.000],nb:100,dropped:0
logger.js:37 [log] > engine state transition from PARSING to PARSED
logger.js:37 [log] > main buffered : [600,603.30213]
logger.js:37 [log] > engine state transition from PARSED to IDLE
logger.js:37 [log] > SN just loaded, load next one: 1
logger.js:37 [log] > Loading 1 of [0 ,15],level 0, currentTime:601.529226,bufferEnd:603.302
logger.js:37 [log] > engine state transition from IDLE to FRAG_LOADING
logger.js:37 [log] > Loaded  1 of level 0
logger.js:37 [log] > engine state transition from FRAG_LOADING to PARSING
logger.js:37 [log] > swapping playlist audio codec
logger.js:37 [log] > Demuxing 1 of [0 ,15],level 0, cc 0
logger.js:37 [log] > parsed video,PTS:[604.000,608.000],DTS:[604.000/608.000],nb:100,dropped:0
logger.js:37 [log] > engine state transition from PARSING to PARSED
logger.js:37 [log] > main buffered : [600,603.30213]
logger.js:37 [log] > engine state transition from PARSED to IDLE
logger.js:37 [log] > Loading 0 of [0 ,15],level 0, currentTime:601.546407,bufferEnd:603.302
logger.js:37 [log] > engine state transition from IDLE to FRAG_LOADING
logger.js:37 [log] > Loaded  0 of level 0
logger.js:37 [log] > engine state transition from FRAG_LOADING to PARSING
logger.js:37 [log] > swapping playlist audio codec
logger.js:37 [log] > Demuxing 0 of [0 ,15],level 0, cc 0
logger.js:37 [log] > parsed audio,PTS:[0.000,603.367],DTS:[0.000/603.367],nb:25985,dropped:0
logger.js:37 [log] > parsed video,PTS:[600.000,604.000],DTS:[600.000/604.000],nb:100,dropped:0
logger.js:37 [log] > engine state transition from PARSING to PARSED
logger.js:37 [log] > main buffered : [600,603.30213]
logger.js:37 [log] > engine state transition from PARSED to IDLE
logger.js:37 [log] > SN just loaded, load next one: 1
logger.js:37 [log] > Loading 1 of [0 ,15],level 0, currentTime:602.14255,bufferEnd:603.302
logger.js:37 [log] > engine state transition from IDLE to FRAG_LOADING
logger.js:37 [log] > Loaded  1 of level 0
logger.js:37 [log] > engine state transition from FRAG_LOADING to PARSING
logger.js:37 [log] > swapping playlist audio codec
logger.js:37 [log] > Demuxing 1 of [0 ,15],level 0, cc 0
logger.js:37 [log] > parsed video,PTS:[604.000,608.000],DTS:[604.000/608.000],nb:100,dropped:0
logger.js:37 [log] > engine state transition from PARSING to PARSED
logger.js:37 [log] > main buffered : [600,603.30213]
logger.js:37 [log] > engine state transition from PARSED to IDLE
logger.js:37 [log] > Loading 0 of [0 ,15],level 0, currentTime:602.151798,bufferEnd:603.302
logger.js:37 [error] > cannot recover fragLoopLoadingError error(anonymous function) @ logger.js:37
logger.js:37 [log] > engine state transition from IDLE to ERROR
logger.js:37 [warn] > mediaController: fragLoopLoadingError while loading frag,switch to ERROR state ...
2?src=http%3A%2F%3A81%2Fvod%2F22_JJhcKf_576p.mp4%2Findex.m3u8&enableStreamin…:543 Frag Loop Loading Error,cannot recover, last media error recovery failed ...
logger.js:37 [log] > playback seems stuck @603.300424
For media errors reported on Chrome browser, please also paste the output of chrome://media-internals 
00:00:00 00 pipeline_state  kCreated
00:00:00 00 event   WEBMEDIAPLAYER_CREATED
00:00:00 00 url blob:http://dailymotion.github.io/9fe4cb63-81a8-4834-8160-a1053b166fd3
00:00:00 00 pipeline_state  kInitDemuxer
00:00:00 205    info    Audio codec: mp4a.40.2. Sampling frequency: 44100Hz. Sampling frequency(Extension): 88200Hz. Channel layout: 3.
00:00:00 205    found_audio_stream  true
00:00:00 205    audio_codec_name    aac
00:00:00 205    duration    62
00:00:00 206    info    Video codec: avc1.4D401F
00:00:00 206    found_video_stream  true
00:00:00 206    video_codec_name    h264
00:00:00 206    pipeline_state  kInitRenderer
00:00:00 206    audio_dds   false
00:00:00 206    audio_decoder   FFmpegAudioDecoder
00:00:00 222    video_dds   false
00:00:00 222    video_decoder   GpuVideoDecoder
00:00:00 222    pipeline_state  kPlaying
00:00:00 523    debug   Detected AAC midstream configuration change PTS:0 Sample Rate: 44100 vs 88200, ChannelLayout: 3 vs 3, Channels: 2 vs 2
00:00:00 524    duration    338.121903
00:00:00 566    duration    603.30213
00:00:00 569    duration    603.6
00:00:00 570    duration    604
00:00:00 571    pipeline_state  kSeeking
00:00:00 573    pipeline_state  kPlaying
00:00:00 597    duration    607.6
00:00:00 598    duration    608
00:00:00 653    event   PLAY
00:00:01 39 debug   Skipping splice frame generation: first new buffer at 0us begins at or before existing buffer at 0us.
00:00:01 121    debug   Skipping splice frame generation: first new buffer at 338121904us begins at or before existing buffer at 338121904us.
00:00:01 651    debug   Skipping splice frame generation: first new buffer at 0us begins at or before existing buffer at 0us.
00:00:01 738    debug   Skipping splice frame generation: first new buffer at 338121904us begins at or before existing buffer at 338121904us.
totoCZ commented 8 years ago

We have a testing page at http:/// (links from the VoD) as well - try the JW player or the last one. Bitmovin plays them fine, so I suppose it should not be a problem with the HLS generation.

The same file streamed with wowza works fine Compare with http:///vod/_definst_/mp4:kavka-lab-2/22_JJhcKf_576p.mp4/playlist.m3u8

We do not think it's a bug with the HLS stream as it works in VLC.

mangui commented 8 years ago

@TomHetmer should be fixed now plz recheck http://dailymotion.github.io/hls.js/demo/?src=http%3A%2F%2Fwowza2-kavka.cdn77.eu%3A81%2Fvod%2F22_JJhcKf_576p.mp4%2Findex.m3u8&enableStreaming=true&autoRecoverError=true&enableWorker=true&levelCapping=-1&defaultAudioCodec=undefined

totoCZ commented 8 years ago

Awesome! Works fine, thanks.