videojs / video.js

Video.js - open source HTML5 video player
https://videojs.com
Other
38.1k stars 7.45k forks source link

Eternal loading in the Video JS player #8412

Open Darksssq opened 1 year ago

Darksssq commented 1 year ago

Description

In general there is one bug in Video JS player, and we can't find a method to fix it with the programmer. Video in the player through HLS, and sometimes when viewing the user with unstable internet there is a problem, one of the parts of the video is not downloaded due to a broken connection of the user, and he starts eternal download until he clicks on pause and start the video, and only then the fragment will be re-downloaded. That is, the bug occurs exclusively for users with unstable Internet, and as I see, in other players there is no such problem, the video fragment is quietly downloaded when the network is restored. The programmer has made a small fix, listening the twist, if it will spin for more than 10 seconds, the video will pause and then start and everything will go as it should. But it seems to me that this is still not the same, and this problem can be solved in another way (Since on a similar video JS player, I see that the person has everything normal with this). Who can tell me what the problem is? Is it in HLS? Or in the player settings.

Reduced test case

https://drive.google.com/file/d/1uqFsZMmZoWi0Ma8w4_YaIxrpDhDRr6go/view?usp=sharing

Steps to reproduce

1.User watch video in player 2.His internet connection is lost 3.Starting eternal loading as long as user click to pause and start video

Errors

https://site.com/content/stream/video/test/video23/hls/480/segment134.ts ti @ video.min.js:20
  ei @ video.min.js:20
  e @ videojs-http-streaming.min.js:3
  Ri @ videojs-http-streaming.min.js:3
  i.updateTransmuxerAndRequestSegment_ @ videojs-http-streaming.min.js:3
  i.loadSegment_ @ videojs-http-streaming.min.js:3
  i.fillBuffer_ @ videojs-http-streaming.min.js:3
  i.monitorBufferTick_ @ videojs-http-streaming.min.js:3
  setTimeout (async)    
  i.monitorBuffer_ @ videojs-http-streaming.min.js:3
  i.load @ videojs-http-streaming.min.js:3
  (anonymous) @ videojs-http-streaming.min.js:6
  Be.o.dispatcher.o.dispatcher @ video.min.js:12
  je @ video.min.js:12
  ze.dispatchEvent.ze.trigger @ video.min.js:12
  i.media @ videojs-http-streaming.min.js:3
  i.switchMedia_ @ videojs-http-streaming.min.js:6
  i.blacklistCurrentPlaylist @ videojs-http-streaming.min.js:6
  (anonymous) @ videojs-http-streaming.min.js:6
  Be.o.dispatcher.o.dispatcher @ video.min.js:12
  je @ video.min.js:12
  ze.dispatchEvent.ze.trigger @ video.min.js:12
  i.segmentRequestFinished_ @ videojs-http-streaming.min.js:3
  (anonymous) @ videojs-http-streaming.min.js:3
  (anonymous) @ videojs-http-streaming.min.js:3
  Pe @ videojs-http-streaming.min.js:3
  (anonymous) @ videojs-http-streaming.min.js:3
  a @ video.min.js:20
  t @ video.min.js:20
  error (async)    
  ti @ video.min.js:20
  ei @ video.min.js:20
  e @ videojs-http-streaming.min.js:3
  Ri @ videojs-http-streaming.min.js:3
  i.updateTransmuxerAndRequestSegment_ @ videojs-http-streaming.min.js:3
  i.loadSegment_ @ videojs-http-streaming.min.js:3
  i.fillBuffer_ @ videojs-http-streaming.min.js:3
  i.monitorBufferTick_ @ videojs-http-streaming.min.js:3
  setTimeout (async)    
  i.monitorBuffer_ @ videojs-http-streaming.min.js:3
  i.load @ videojs-http-streaming.min.js:3
  i.load @ videojs-http-streaming.min.js:6
  i.setCurrentTime @ videojs-http-streaming.min.js:6
  i.setCurrentTime @ videojs-http-streaming.min.js:6
  (anonymous) @ videojs-http-streaming.min.js:6
  Be.o.dispatcher.o.dispatcher @ video.min.js:12
  seeking (async)    
  (anonymous) @ player.js?v=42:2080
  dispatch @ jquery-3.6.0.min.js:2
  v.handle @ jquery-3.6.0.min.js:2

What version of Video.js are you using?

7.8.4

Video.js plugins used.

http-streaming 1.13.2

What browser(s) including version(s) does this occur with?

Chrome and other

What OS(es) and version(s) does this occur with?

windows 10 and other

video-archivist-bot commented 1 year ago

Hey! We've detected some video files in a comment on this issue. If you'd like to permanently archive these videos and tie them to this project, a maintainer of the project can reply to this issue with the following commands:

welcome[bot] commented 1 year ago

👋 Thanks for opening your first issue here! 👋

If you're reporting a 🐞 bug, please make sure you include steps to reproduce it. We get a lot of issues on this repo, so please be patient and we will get back to you as soon as we can. To help make it easier for us to investigate your issue, please follow the contributing guidelines.