This is a hassle release, as I am busy with a few other works.
This update contains major changes regarding the YouTube Downloader.
YouTube has been devouring downloaders for a while, and now it is doing it aggressively as it shifts to SABR (Server-Based Adaptive Bitrate). The downloader in YTPRO has always been an issue. Previously, it was simple, mainly by extracting the signatureCipher function using regex, while many YouTube clients had direct streamable URLs.
Now it is much harder to get streamable URLs. The shift to SABR has also deprecated the old methods.
In this update, videos will be directly downloaded using SABR streams (thanks to Innertube and googlevideo). The SABR stream is then passed to WebMessagePost, where it is written to disk. The MediaMuxerUtils class then muxes the audio and video, which are downloaded separately using SABR.
Bug fixes and improvements
- Fixed the downloader and introduced the SABR downloader
- It can now mux video and audio itself, so you can download every adaptive format with audio
- Fixed the CSP issue that blocked
onclickin HTML elements and refactored it usingonClickEventListener - Updated the Gemini models
- Refactored the entire Java code and separated it into classes (a few parts are still pending)
- Extended the video
playbackRateup to 10x - Fixed the gesture control overlay over the video controls
- Fixed the UI glitch in Shorts buttons
- Minor UI tweaks
Things which will be updated soon
- Gemini bugs
- Features like Skip Silence and Enhance Audio
- Other minor bugs which are left behind
This update fixes the issues #172, #165, #160, #159, #154, #145 and more lol.
📌 Full Changelog
Tip
For the latest updates and patches, download the nightly builds. They are often more stable than the official releases.
Enjoy this Update 🫡 , and please let me know if anything breaks with a PR 😦