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

Artifacts in the bottom of the video #1774

Closed rauldelperal closed 6 years ago

rauldelperal commented 6 years ago
Environment
Steps to reproduce
  1. Please provide clear steps to reproduce your problem Seconds after playing the stream through streambox hls.js player, artifacts in the bottom of the video appears. The same stream played in Bitmovin HLS Demo player doesn´t show any type of artifacts (http://bitmovin.com/hls-mpeg-dash-test-player/).
  2. Whenever possible, share a demo/example page which reproduces the problem you are having with the least amount of code possible. image
  3. If the bug is intermittent, give a rough frequency if possible Yes, the bug is intermittent. But always appears after some seconds.
    Expected behavior

    Artifacts should not appear in hls.js.

    Actual behavior

    Some artifacts in the bottom of the video. https://github.com/jwplayer/jwplayer/issues/2951

Console output
Paste the contents of the browser console here.

logger.js:37 [log] > loadSource:http://kissfm-cires21-video.secure.footprint.net/hittv/master.m3u8 logger.js:37 [log] > trigger BUFFER_RESET logger.js:37 [log] > set autoLevelCapping:-1 logger.js:37 [log] > attachMedia logger.js:37 [log] > media source opened logger.js:37 [log] > manifest loaded,4 level(s) found, first bitrate:396000 logger.js:37 [log] > startLoad(-1) logger.js:37 [log] > switching to level 0 logger.js:37 [log] > main stream:STOPPED->IDLE logger.js:37 [log] > audio tracks updated logger.js:37 [log] > subtitle tracks updated logger.js:37 [log] > live playlist, reload in 9986 ms logger.js:37 [log] > level 0 loaded [152871117,152871121],duration:50 logger.js:37 [log] > live playlist - first load, unknown sliding logger.js:37 [log] > configure startPosition to 20 logger.js:37 [log] > Loading 152871119 of [152871117 ,152871121],level 0, currentTime:20.000,bufferEnd:20.000 logger.js:37 [log] > demuxing in webworker logger.js:37 [log] > main stream:IDLE->FRAG_LOADING main.js:319 parsing level duration :1300us,count:1 logger.js:37 [log] > Loaded 152871119 of [152871117 ,152871121],level 0 logger.js:37 [log] > main stream:FRAG_LOADING->PARSING logger.js:37 [log] > Parsing 152871119 of [152871117 ,152871121],level 0, cc 0 logger.js:37 [log] > main:discontinuity detected logger.js:37 [log] > main:switch detected blob:http://streambox.fr/045ac883-bc33-4569-9905-476acac1e2ac:520 [log] > manifest codec:mp4a.40.2,ADTS data:type:2,sampleingIndex:3[48000Hz],channelConfig:2 blob:http://streambox.fr/045ac883-bc33-4569-9905-476acac1e2ac:520 [log] > parsed codec:mp4a.40.5,rate:48000,nb channel:2 blob:http://streambox.fr/045ac883-bc33-4569-9905-476acac1e2ac:520 [log] > last AAC PES packet truncated,might overlap between fragments blob:http://streambox.fr/045ac883-bc33-4569-9905-476acac1e2ac:520 [log] > audio sampling rate : 48000 logger.js:37 [log] > InitPTS for cc: 0 found from video track: -977959266 logger.js:37 [log] > creating sourceBuffer(audio/mp4;codecs=mp4a.40.2) logger.js:37 [log] > creating sourceBuffer(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:[20.016,30.000],DTS:[20.016/30.000],nb:468,dropped:0 logger.js:37 [log] > Parsed video,PTS:[20.000,30.000],DTS:[20.000/30.000],nb:250,dropped:0 logger.js:37 [log] > main stream:PARSING->PARSED logger.js:37 [log] > main buffered : [20.015,29.999] logger.js:37 [log] > latency/loading/parsing/append/kbps:14/44/104/5/24913 logger.js:37 [log] > main stream:PARSED->IDLE logger.js:37 [log] > Loading 152871120 of [152871117 ,152871121],level 0, currentTime:30.000,bufferEnd:30.000 logger.js:37 [log] > main stream:IDLE->FRAG_LOADING logger.js:37 [log] > target start position not buffered, seek to buffered.start(0) 20 from current time0 logger.js:37 [log] > media seeking to 20.000 logger.js:37 [log] > media seeked to 20.000 logger.js:37 [log] > Loaded 152871120 of [152871117 ,152871121],level 0 logger.js:37 [log] > main stream:FRAG_LOADING->PARSING logger.js:37 [log] > Parsing 152871120 of [152871117 ,152871121],level 0, cc 0 logger.js:37 [log] > Parsed audio,PTS:[30.000,40.005],DTS:[30.000/40.005],nb:469,dropped:0 logger.js:37 [log] > Parsed video,PTS:[30.000,40.000],DTS:[30.000/40.000],nb:250,dropped:0 logger.js:37 [log] > main stream:PARSING->PARSED logger.js:37 [log] > main buffered : [20.015,40.000] logger.js:37 [log] > latency/loading/parsing/append/kbps:9/52/25/2/52138 logger.js:37 [log] > main stream:PARSED->IDLE logger.js:37 [log] > switching to level 3 logger.js:37 [log] > main stream:IDLE->WAITING_LEVEL logger.js:37 [log] > live playlist, reload in 9989 ms logger.js:37 [log] > level 3 loaded [152871117,152871121],duration:50 logger.js:37 [log] > live playlist - first load, unknown sliding logger.js:37 [log] > main stream:WAITING_LEVEL->IDLE logger.js:37 [log] > live playlist, switching playlist, load frag with next SN: 152871121 logger.js:37 [log] > Loading 152871121 of [152871117 ,152871121],level 3, currentTime:20.025,bufferEnd:40.000 logger.js:37 [log] > main stream:IDLE->FRAG_LOADING main.js:319 parsing level duration :950us,count:2 logger.js:37 [log] > Loaded 152871121 of [152871117 ,152871121],level 3 logger.js:37 [log] > main stream:FRAG_LOADING->PARSING logger.js:37 [log] > Parsing 152871121 of [152871117 ,152871121],level 3, cc 0 logger.js:37 [log] > main:switch detected blob:http://streambox.fr/045ac883-bc33-4569-9905-476acac1e2ac:520 [log] > manifest codec:mp4a.40.2,ADTS data:type:2,sampleingIndex:3[48000Hz],channelConfig:2 blob:http://streambox.fr/045ac883-bc33-4569-9905-476acac1e2ac:520 [log] > parsed codec:mp4a.40.5,rate:48000,nb channel:2 blob:http://streambox.fr/045ac883-bc33-4569-9905-476acac1e2ac:520 [log] > last AAC PES packet truncated,might overlap between fragments blob:http://streambox.fr/045ac883-bc33-4569-9905-476acac1e2ac:520 [log] > audio sampling rate : 48000 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:[40.005,49.989],DTS:[40.005/49.989],nb:468,dropped:0 logger.js:37 [log] > Parsed video,PTS:[40.000,50.000],DTS:[40.000/50.000],nb:250,dropped:0 logger.js:37 [log] > main stream:PARSING->PARSED logger.js:37 [log] > main buffered : [20.015,49.989] logger.js:37 [log] > latency/loading/parsing/append/kbps:93/83/74/22/98360 logger.js:37 [log] > main stream:PARSED->IDLE logger.js:37 [log] > live playlist, reload in 9980 ms logger.js:37 [log] > level 3 loaded [152871118,152871122],duration:50 logger.js:37 [log] > live playlist sliding:10.000 logger.js:37 [log] > Updating Media Source duration to 60.000 logger.js:37 [log] > Loading 152871122 of [152871118 ,152871122],level 3, currentTime:30.020,bufferEnd:49.989 logger.js:37 [log] > main stream:IDLE->FRAG_LOADING main.js:319 parsing level duration :767us,count:3 logger.js:37 [log] > Loaded 152871122 of [152871118 ,152871122],level 3 logger.js:37 [log] > main stream:FRAG_LOADING->PARSING logger.js:37 [log] > Parsing 152871122 of [152871118 ,152871122],level 3, cc 0 blob:http://streambox.fr/045ac883-bc33-4569-9905-476acac1e2ac:520 [log] > last AAC PES packet truncated,might overlap between fragments logger.js:37 [log] > Parsed audio,PTS:[49.989,59.994],DTS:[49.989/59.994],nb:469,dropped:0 logger.js:37 [log] > Parsed video,PTS:[50.000,60.000],DTS:[50.000/60.000],nb:250,dropped:0 logger.js:37 [log] > main stream:PARSING->PARSED logger.js:37 [log] > main buffered : [20.015,59.994] logger.js:37 [log] > latency/loading/parsing/append/kbps:51/335/64/14/65591 logger.js:37 [log] > main stream:PARSED->IDLE logger.js:37 [log] > live playlist, reload in 9103 ms logger.js:37 [log] > level 3 loaded [152871119,152871123],duration:50 logger.js:37 [log] > live playlist sliding:20.000 logger.js:37 [log] > Updating Media Source duration to 70.000 logger.js:37 [log] > Loading 152871123 of [152871119 ,152871123],level 3, currentTime:40.897,bufferEnd:59.994 logger.js:37 [log] > main stream:IDLE->FRAG_LOADING main.js:319 parsing level duration :650us,count:4 logger.js:37 [log] > Loaded 152871123 of [152871119 ,152871123],level 3 logger.js:37 [log] > main stream:FRAG_LOADING->PARSING logger.js:37 [log] > Parsing 152871123 of [152871119 ,152871123],level 3, cc 0 blob:http://streambox.fr/045ac883-bc33-4569-9905-476acac1e2ac:520 [log] > last AAC PES packet truncated,might overlap between fragments logger.js:37 [log] > Parsed audio,PTS:[59.994,70.000],DTS:[59.994/70.000],nb:469,dropped:0 logger.js:37 [log] > Parsed video,PTS:[60.000,70.000],DTS:[60.000/70.000],nb:250,dropped:0 logger.js:37 [log] > main stream:PARSING->PARSED logger.js:37 [log] > main buffered : [20.015,69.999] logger.js:37 [log] > latency/loading/parsing/append/kbps:219/497/61/13/34689 logger.js:37 [log] > main stream:PARSED->IDLE logger.js:37

For media errors reported on Chrome browser, please also paste the output of chrome://media-internals 
rauldelperal commented 6 years ago

Another screenshot: image

tchakabam commented 6 years ago

Hi

You didn't put the browser name/version in the initial issue form here. We have no idea what browser this is :) Also, what is this link for? (http://streambox.fr/mse/hls.js-0.9.1/demo/)

rauldelperal commented 6 years ago

I´m sorry. I have detected this issue in all players that implement hls.js 0.9 or later versions: JWPlayer 8.3.3 -- http://demo.jwplayer.com/developer-tools/http-stream-tester/?playerversion=8 StreamBox Demo Player -- http://streambox.fr/mse/hls.js-0.9.1/demo/

tchakabam commented 6 years ago

@rauldelperal Do you also see it in Safari browsers' built-in HLS support, or when playing the stream using QuickTime or iTunes?

rauldelperal commented 6 years ago

Hello @tchakabam, I don´t see these artifacts in Safari browsers´ built-in HLS support. I only have detected these artifacts in the players I shared with you in the previous comments.

rauldelperal commented 6 years ago

Hello team, do you have any news about this issue?

tchakabam commented 6 years ago

It could be an issue related to encoding and the decoding capabilities of the browser, or an issue in our transmuxing. It needs investigation from a contributor.

rauldelperal commented 6 years ago

Hello team, can we help you in order to debug the issue?

angelsenra commented 6 years ago

This error seems to be caused by the demuxer ignoring PES without timestamp which seem resultant of PES bigger than 2^16 that are split into multiple PES and only the first one has a timestamp.

rauldelperal commented 6 years ago

Does it means that the issue is in the new hls.js code? Or the issue is in the video?

stale[bot] commented 6 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. Thank you for your contributions.