You are browsing as a guest. Sign up (or log in) to start making projects!

Crunchyroll Audio Helper Extension

  • 7 Devlogs
  • 10 Total hours

A simple project that allows you to add an offset to the sometimes messed up audio on the Crunchyroll streaming service.

Ship #1 Pending review

Well, it has been a fun 10 hours of reverse engineering Crunchyroll, but the extension/userscript is (probably) ready!

I supposed the most annoying part is figuring out how to reliably inject code onto the page. Afterwards, it was the matter of changing the offset on the raw audio data.

If you want to try this out, it's available on Chrome and as a userscript for Tampermonkey 🥳. Otherwise, GIF and screenshots are available.

  • 7 devlogs
  • 10h
Try project → See source code →
Open comments for this post

1h 49m 5s logged

Alrighty! The audio offset application is actually instant now! Unfortunately, I had to enlist some help from Claude to get the CMAF media data parsing/editing to get it to work :. But, it works like a charm now. Yay. Essentially, now the extension stores the buffered audio, and when offset changes, directly edits the time offset value in the cloned raw audio data (which is in the CMAF format), clears the old buffer, and then adds our cloned version. This also means I have to rewrite the README and re-record the DEMO 🫠. (also, the Jetbrains README editor is lowk goated)

0
0
2
Open comments for this post

26m logged

Made the icon and added some build scripts to automatically export as PNG from the source photoshop file (which I made with Photopea). Took a minute to refine it. It looks a bit weird zoomed out and being so pixelated, but you can tell it’s my extension at least

0
0
2
Open comments for this post

1h 14m logged

Ok. Dug into Crunchyroll’s code a bit more and maybe found a way to apply the offset faster instead of waiting for the previous buffers to run out. The video doesn’t really make it clear (recording freezes because DRM protection), but the audio updated when the timeline jumped. The delay was about a few seconds. Gonna go test tis on Chrome now 🙏.

0
0
4
Open comments for this post

1h 2m 4s logged

Managed to style this thing. Actually works pretty well! I wanted to get rid of those ugly up/down arrows, but it’s really annoying to get rid of for some reason… Whatever. Probably will upload this both as an extension and as a Tampermonkey user script.

0
0
4
Open comments for this post

1h 27m 14s logged

First devlog! In the past 4 hours or so (poking the website doesn’t count towards Hackatime unfortunately), I managed to monkey patch Crunchyroll’s web packed audio buffering code. After that, I figured out how to force the video player to error out so that it reloads itself. So, the main functionality of the helper extension is done (I think)! Other than that, I managed to inject a little button into the video player :). Credits to Google Material Icons. Gonna go make this button work now… yay.

0
0
5

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…