This was inspired by the fact that my MacBook Pro 2010 uses over 100% CPU and starts lagging when trying to play 1080p60 videos on YouTube. Safari slows down, the video freezes, the audio glitches and the browser feels like it is going to crash, all while the "VTDecoderXPCService" process uses all the CPU since my laptop hasn't got any hardware decoding support for 60FPS H.264!
So... I've created a solution which switches all of YouTube's high-FPS videos back to 30FPS. It completely solved the issue for me. In fact, going back to 30FPS will actually reduce your CPU and battery usage no matter how fast your laptop is. So even modern laptop users may want this, if they don't see the point in wasting CPU and bandwidth on high-FPS videos. Enjoy!
Disable YouTube 60 FPS (Force 30 FPS)
* Download Here: https://greasyfork.org/en/scripts/23329-disable-youtube-60-fps-force-30-fps
This script tells YouTube that your browser only supports 30FPS or less, which means that you will see regular 30FPS versions of all HD videos.
WHY DO THIS?:
For my six year old laptop, switching from 1080p60 to 1080p30 reduces the CPU usage by 2-4x, and removes all CPU overloads that used to make my browser and video playback freeze! This means longer battery life, and a much happier video watching experience!
(Furthermore, most older graphics cards only support hardware acceleration of 1080p30 or lower, which means that using this script may allow your graphics card to perform the video decoding for great battery savings!)
INSTALLATION:
Install the Tampermonkey (https://tampermonkey.net) extension for your specific browser, and then install this script into Tampermonkey.
This script has been tested and confirmed working in Safari 9 for Mac and Google Chrome for Mac. But it should work in allbrowsers and OS's that support the Tampermonkey extension - on Windows, Mac and Linux!
(This script does NOT work via Chrome's own basic built-in script support!)
IMPORTANT NOTE TO ALL USERS:
We DO NOT affect embedded YouTube videos, because embedded players only check for high-FPS support, so blocking those queries would mean completely losing all HD resolutions for embedded videos!
I suggest clicking the "Watch on YouTube" button to play embedded high-FPS videos directly on YouTube in 30FPS instead!
VERY IMPORTANT NOTE FOR SAFARI BROWSER USERS:
This script contains a workaround for a Safari bug. The Safari browser uses "lazy" extension loading, which means that your extensions (such as Tampermonkey) don't start running in new tabs until you actually visit a webpage in your new tab. And if the first page you visit in your new tab is YouTube, it may perform its codec check before the extension has been fully loaded, in which case YouTube will revert to giving you high-FPS videos in that tab. This "too late extension loading" will happen every time you write/paste a YouTube video URL in a brand new empty tab, or right-click a video link and choose "open in new tab/window", or use the History menu to browse to a video page. In other words, it's quite rare but common enough to be annoying. Our chosen workaround is that whenever we detect that Safari has loaded Tampermonkey too late in the current tab, we perform a very quick reload of the current YouTube page so that the extension can run before YouTube does its codec check. This reloading is automatic and happens so quickly that most people won't even notice anything at all. I just mention it here for the few people who pay attention to such things.
So... I've created a solution which switches all of YouTube's high-FPS videos back to 30FPS. It completely solved the issue for me. In fact, going back to 30FPS will actually reduce your CPU and battery usage no matter how fast your laptop is. So even modern laptop users may want this, if they don't see the point in wasting CPU and bandwidth on high-FPS videos. Enjoy!
Disable YouTube 60 FPS (Force 30 FPS)
* Download Here: https://greasyfork.org/en/scripts/23329-disable-youtube-60-fps-force-30-fps
This script tells YouTube that your browser only supports 30FPS or less, which means that you will see regular 30FPS versions of all HD videos.
WHY DO THIS?:
For my six year old laptop, switching from 1080p60 to 1080p30 reduces the CPU usage by 2-4x, and removes all CPU overloads that used to make my browser and video playback freeze! This means longer battery life, and a much happier video watching experience!
(Furthermore, most older graphics cards only support hardware acceleration of 1080p30 or lower, which means that using this script may allow your graphics card to perform the video decoding for great battery savings!)
INSTALLATION:
Install the Tampermonkey (https://tampermonkey.net) extension for your specific browser, and then install this script into Tampermonkey.
This script has been tested and confirmed working in Safari 9 for Mac and Google Chrome for Mac. But it should work in allbrowsers and OS's that support the Tampermonkey extension - on Windows, Mac and Linux!
(This script does NOT work via Chrome's own basic built-in script support!)
IMPORTANT NOTE TO ALL USERS:
We DO NOT affect embedded YouTube videos, because embedded players only check for high-FPS support, so blocking those queries would mean completely losing all HD resolutions for embedded videos!
I suggest clicking the "Watch on YouTube" button to play embedded high-FPS videos directly on YouTube in 30FPS instead!
VERY IMPORTANT NOTE FOR SAFARI BROWSER USERS:
This script contains a workaround for a Safari bug. The Safari browser uses "lazy" extension loading, which means that your extensions (such as Tampermonkey) don't start running in new tabs until you actually visit a webpage in your new tab. And if the first page you visit in your new tab is YouTube, it may perform its codec check before the extension has been fully loaded, in which case YouTube will revert to giving you high-FPS videos in that tab. This "too late extension loading" will happen every time you write/paste a YouTube video URL in a brand new empty tab, or right-click a video link and choose "open in new tab/window", or use the History menu to browse to a video page. In other words, it's quite rare but common enough to be annoying. Our chosen workaround is that whenever we detect that Safari has loaded Tampermonkey too late in the current tab, we perform a very quick reload of the current YouTube page so that the extension can run before YouTube does its codec check. This reloading is automatic and happens so quickly that most people won't even notice anything at all. I just mention it here for the few people who pay attention to such things.
Attachments
Last edited: