Toolkit for YouTube. Settings panels for easy customization. Features include: export transcripts to LLMs or download it as text files, prevent autoplay, hide shorts, hide ad slots on home, disable play on hover, square design, auto theater mode, auto close chat window, adjust number of videos per row, display remaining time under a video adjusted for playback speed, persistent progress bar with chapter markers and SponsorBlock support, links in the header, and change or hide various ui elements
Thank you for your review and suggestions! I appreciate you taking the time to provide feedback.
Regarding accessing the other settings panels: You can open the additional settings menus—"Links in Header," "Features & CSS," and "Color Code Videos"—by clicking on their respective buttons. These are located near the lower half of the settings panel, between the "Important for Chrome!" toggle and the "ChatGPT Prompt" text field. Please ensure you're using the latest version.
For your request to automatically open the transcript panel: This feature has been added in the latest version (v7.4.) You can enable it by navigating to "Features & CSS" > then toggle "Automatically Open Transcript Panels." Once activated, the script will automatically open the transcript panel for easier access.
Thanks again for your input and support of the script!
I had another idea while using the script everyday.
It seems that the *Display Remaining Time* portion of the script is using the full length of the video to countdown from and derive the time remaining (including with playback speed multipliers). It is nice, and excellent to see it update as you change playback speed.
However, since you do have some compatibility with SponsorBlock in the progress bar, wouldn't it make sense to use the SponsorBlock length of the video? It takes into account the portions you will skip per your SponsorBlock preferences and gives a time shorter than the actual length of hte video. So a 10:00 min video could have intros/outros you skip, promotional content that you skip, and brings the watchable length down to 8:00 minutes for example. With a playback speed multiplier of 1.5x, you could finish this video in less than 8 minutes.
SponsorBlock puts the calculated length next to YT's total length of the video in (). Perhaps a secondary, maybe optional, *Display Remaining Time* near the original one, can show the sponsorblock total length, elapsed, sponsorblock watched %, and sponsorblock remaining time (playback speed multiplier). It wouldn't replace Alchemy's original one but add to it, like how SponsorBlock itself only adds its length in () near the YT length in the player UI.
I have probably overthought this as I typed this more came into my head. It's just a thought and not insistence. Let me know what you think if it's a good idea/bad idea or just plain too complex (I think it is, now that I given it more thought)
The remaining time is calculated via the HTMLMediaElement API, which makes it a simple arithmetic calculation. Integrating SponsorBlock data, however, adds some complexity. A SponsorBlock-adjusted time involves subtracting segments that are ahead while re-adding them once they're passed to the total duration of a video . Additionally, SponsorBlock only provides segment info as percentages in the HTML, which I have to convert into seconds while also accounting for overlapping segments.
That said, I've got a working version that's sometimes off by a second or two. Not sure yet if that comes from converting percentages into time or from the HTML5 Media API providing only seconds, while SponsorBlock works with milliseconds in their database.
I might release a beta version next week.
Great extension with a lot of features that you might miss because of the understated name. I use the ChatGPT button to get things explained further. The only thing I can't figure out is how to get to the other settings menus that are not transcript related.
Some ideas:
- Compatibility of the Persistent Progress Bar with the extension "Enhancer for YouTube" mini player. So that when you scroll down, the enhancer extension's mini player shows your script's Persistent Progress Bar there too.
- Auto open Transcript box (useful to ctrl-f through and jump to specific parts in video). This script stops other userscripts from loading the transcript box (I tried loading those ones first, before Transcript Exporter)
- In incognito, the Settings icon for this script is right near the YT settings 3 dot icon. Could be spaced better. I changed the settings icon to a Gear to differentiate between them
Great job