ParticleCore / Particle

Home of the extension YouTube Plus that allows you to experience more on YouTube
Other
1.06k stars 228 forks source link

Default video quality doesn't work followup(extreme conditions) #584

Closed kilara1988 closed 7 years ago

kilara1988 commented 7 years ago

@ParticleCore This is a followup on issue #570 .

I am using Greasemonkey + Script v1.9.2 on FF 55.0.3(32 bit)/Windows 10(64 bit).

Ok i managed to make it happen again and i think i have steps to reproduce it.

-I just opened 90 or so tabs with YouTube videos. -This maxed out my Download speed for my connection for a few minutes while all those videos were buffering(but not playing.I have enabled the FF flag to not auto-play videos in background tabs). -During this time(background tabs still buffering) i tried to load a video on my current tab. -The video in the current tab would load with low resolution and at some point might go back to the set default resolution. -Refreshing the active tab video(during the intense background buffering) would still result in low resolution(i think few times i got different resolutions, but still lower than default). -Switching to a background tab and starting the video would result in the video playing in low resolution for the entire video. -After all the background videos finished buffering and my Download speed was no longer maxed i refreshed the active or background tab video and still kept getting low resolution. -Manually selecting 1080p from the player controls(on any of the videos) resulted in subsequent refreshes of active tab or background tab videos correctly starting with 1080p resolution.

Before v1.9.2 this would happen in much less extreme scenarios.It would even happen when just opening a video in the active tab with no Download speed saturation or anything.

It seems that maybe when my download speed is saturated the script can't be loaded/injected fast enough and YouTube's default auto resolution kicks in and sets the videos to the lowest resolutions since i have a very slow connection speed to their servers during this time.No idea why this situation remains when there is no download speed saturation any more though.No idea if any of my conclusions are true or even close to the truth.

Let me know if you need more information.

ParticleCore commented 7 years ago

It seems that maybe when my download speed is saturated the script can't be loaded/injected fast enough

If that is the case then there is absolutely nothing I can do about that. I will investigate it following your detailed explanation.

ParticleCore commented 7 years ago

I have been unable to replicate this. By your description it sounds like a limitation at the userscript manager level (Greasemonkey, in this case). Have you or can you try the same tests with Tampermonkey? I doubt it improves, but just in case it does it might be useful for other users in the same situation.

kilara1988 commented 7 years ago

I haven't had any issues since then with my normal browsing.I might try to replicate the issue with Tampermonkey and report back.

kilara1988 commented 7 years ago

I just tested Tampermonkey and could reproduce the same issue.I even used an experimental option in Tampermonkey labeled Inject mode and set it to instant(instead of default), but it made no difference.

After loading a lot of videos in background tabs and my Download connection is maxed, reloading any of the first videos(the first videos generally start at the set quality) or starting any of the later ones results in low resolutions. I think i noticed that videos that don't start at the begining(i watched it before and now Youtube starts it from a set time) start with the proper quality(could be wrong tho). Also note that i was using this pref in FF55 : media.block-autoplay-until-in-foreground which is now enabled by default in FF56.It prevents videos in background tabs from autoplaying.

The issue is more easily reproduced when FF is restarted and loads all those tabs at start.

The good thing is that i haven't had such issues with normal browsing after v1.9.2.

EDIT: I haven't tried the addon version yet.I will test it tomorrow and report back. EDIT 2: Something just occurred to me.Could the reason for this issue be that when i load a lot of videos i am making a ton of connections and requests to YouTube servers and YouTube reports back lower resolutions as the max resolution temporarily?On the other hand i can see all resolutions in the player controls and can manually change to them.

ParticleCore commented 7 years ago

I'm going to store this as a wontfix, mostly because this sounds like something out of my control. The browser could be causing the script to load too late when there are too many tabs opening or the pc is being taxed too much, which means it fails to intercept early events required for the normal function of certain features. I've seen this before, but it was a bug with Tampermonkey which was really causing the script to run too late.

I will still pay attention to this, but for now I cannot see a way to work it out. I am sorry for that.