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.89k stars 2.58k forks source link

Slide-show concat based HLS fails to play on load due to lack of AUDs #999

Closed derek-se closed 7 years ago

derek-se commented 7 years ago
Environment
Steps to reproduce

Run the demo page with the provided m3u8

Source mp4 that the m3u8 was generated from can be found here: http://panoptoscratch.s3.amazonaws.com/dsessions/hlsjs-slideshow-issue/source.m4v

M3U8 + mp4 play in VLC without errors

It was a test file generated via ffmpeg with the concat demuxer to combine JPEGs together and then encoded via x264. A example command line can be provided if it's helpful.

Expected behavior

Stream plays smoothly

Actual behavior

Froze after loading before playing more than the first frame (or apparent first frame)

Console output

[log] > Loading 0 of [0 ,4],level 0, currentTime:0.000,bufferEnd:0.125 logger.js:39 [log] > main stream:IDLE->FRAG_LOADING logger.js:39 [log] > Loaded 0 of [0 ,4],level 0 logger.js:39 [log] > main stream:FRAG_LOADING->PARSING logger.js:39 [log] > swapping playlist audio codec logger.js:39 [log] > Parsing 0 of [0 ,4],level 0, cc 0 logger.js:39 [log] > Parsed video,PTS:[0.000,0.000],DTS:[0.000/0.000],nb:1,dropped:0 logger.js:39 [log] > main stream:PARSING->PARSED logger.js:39 [log] > main buffered : [0.000,0.125] logger.js:39 [log] > main stream:PARSED->IDLE logger.js:39 [log] > SN just loaded, load next one: 1 logger.js:39 [log] > Loading 1 of [0 ,4],level 0, currentTime:0.000,bufferEnd:0.125 logger.js:39 [log] > main stream:IDLE->FRAG_LOADING logger.js:39 [log] > Loaded 1 of [0 ,4],level 0 logger.js:39 [log] > main stream:FRAG_LOADING->PARSING logger.js:39 [log] > swapping playlist audio codec logger.js:39 [log] > Parsing 1 of [0 ,4],level 0, cc 0 blob:http://dailymotion.github.io/2e754c34-a73f-4493-9d42-ccaa50483f15:4863 [log] > AVC:9000 ms hole between fragments detected,filling it blob:http://dailymotion.github.io/2e754c34-a73f-4493-9d42-ccaa50483f15:4863 [log] > Video/PTS/DTS adjusted: 8900/0,delta:9000 ms logger.js:39 [log] > Parsed video,PTS:[8.900,8.900],DTS:[0.000/0.000],nb:1,dropped:0 logger.js:39 [log] > main stream:PARSING->PARSED logger.js:39 [log] > main buffered : [0.000,0.125] logger.js:39 [log] > main stream:PARSED->IDLE logger.js:39 [log] > Loading 0 of [0 ,4],level 0, currentTime:0.000,bufferEnd:0.125 (index):583 fatal error :fragLoopLoadingError (index):596 Frag Loop Loading Error,cannot recover, last media error recovery failed ... logger.js:39 [log] > main stream:IDLE->ERROR (index):583 fatal error :fragLoopLoadingError (index):596 Frag Loop Loading Error,cannot recover, last media error recovery failed ...


For media errors reported on Chrome browser, please also paste the output of chrome://media-internals 
duration    43.81
event   WEBMEDIAPLAYER_CREATED
found_video_stream  true
info    Video codec: avc1.4D4029
pipeline_state  kSuspended
player_id   76
render_id   1207
url blob:http://dailymotion.github.io/b87a2efd-14e4-4b98-b4b9-6adc3ab4309e
video_codec_name    h264
video_dds   false
video_decoder   GpuVideoDecoder

00:00:00 00 pipeline_state  kCreated
00:00:00 00 event   WEBMEDIAPLAYER_CREATED
00:00:00 00 url blob:http://dailymotion.github.io/b87a2efd-14e4-4b98-b4b9-6adc3ab4309e
00:00:00 00 pipeline_state  kStarting
00:00:00 153    info    Video codec: avc1.4D4029
00:00:00 153    found_video_stream  true
00:00:00 153    video_codec_name    h264
00:00:00 153    duration    43.81
00:00:00 156    video_dds   false
00:00:00 156    video_decoder   GpuVideoDecoder
00:00:00 156    pipeline_state  kPlaying
00:00:00 169    pipeline_state  kSeeking
00:00:00 172    pipeline_state  kPlaying
00:00:15 03 pipeline_state  kSuspending
00:00:15 03 pipeline_state  kSuspended

Let me know if you need anything else, thanks!
derek-se commented 7 years ago

I tracked down a fix to this on my side, looks like AUDs were not properly getting issued in the MP4 generation. I'll leave this open in case you believe this is worth following up on regardless, otherwise please feel free to close it out. Thanks and sorry for the noise!

mangui commented 7 years ago

closing as stream related