Netflix 1080p Versions Save

Chrome extension to play Netflix in 1080p and 5.1

v1.22

2 years ago

Changelog:

  • Updated to new cadmium version (6.0031.174.911 -> 6.0033.414.911)
  • Try and force max bitrate when license is applied instead of when the page is loaded (race condition)

v1.21

2 years ago

Changelog:

  • Happy to announce that the extension has made a comeback on the Chrome Webstore at this link! (same as the one in the README)
  • Updated the icon to comply with Webstore terms (couldn't use the Netflix logo)

Also, since this extension is under active development, I'll be doing weekly-ish playercore updates to ensure the best experience and compatibility. Thanks for sticking with this extension everyone!

v1.20

2 years ago

Back to active development and can hopefully work on this extension a lot more. Sorry about being absent for a while.

Changelog:

  • Updated playercore to latest version
  • Added option to play VP9 instead of H.264
  • An attempt at trying to get back on the Chrome extension store
  • Removed the MSL client entirely and now just modify the playercore JS to request 1080p profiles

A quick rundown again of what this extension can do:

  • Adds 1080p AVCHi and AVCMain profiles to manifest requests, allowing them to be played back (with an option to override for VP9 if your computer can't handle H.264)
  • Adds an option to force 5.1 AAC audio playback
  • Adds an option to force Netflix to always select the highest bitrate video
  • Allows you to access the stream selector menu (ctrl+shift+alt+S), which is normally disabled by default

Thanks for sticking with this extension everyone.

v1.19

4 years ago

Changelog:

  • Added channel labeling in the audio language selector

v1.18

4 years ago

Changelog:

  • Reverted back to 1.13 behavior: no manifest acquisition

v1.15

4 years ago

Just a quick bug fix for things I forgot in the last release.

Changelog:

  • Fix for Windows, where a second manifest is unnecessarily acquired
  • Fix script loading where the extension tried to load get_manifest.js instead of msl_client.js
  • Added HDCP version 1.4 in manifest request

v1.14

4 years ago

Well, it's been a ride. I've been so busy lately and I really do want to apologize for it; school has been super tough. But I'm glad to be back doing what I love! This release is titled "we're back," and for good reason, because we finally got 1080p working again! Albeit a little haphazardly, but this whole extension is just a big cat-and-mouse game between Netflix and I. The workaround now is using the new Chromium-Edge ESNs to get 1080p manifests. What I found to work is to use the NFCDIE-03- ESN prefix, which would allow me to get 1080p profiles and licenses with ease. However, on my MacBook laptop, the license server would reject my license requests, presumably because I was using a Windows-specific ESN with OSX license requests. After some more digging, I found another ESN prefix: NFCDIE-04-. Manifest acquisition with this one proved to only give MPL profiles up to 720p, but it worked on my MacBook! So, I found myself back to where I started when I first made this extension: only being limited to 720p AVC-Main profiles. What I then had to do was implement license acquisition in my JavaScript MSL client, and get two manifests; one with NFCDIE-03- for 1080p AVC-Main profiles, and one with NFCDIE-04- so I could get a license (all MPL profiles share the same decryption keys, so a license for 720p MPL will work with 1080p MPL). We've gone from no manifest requests, to manifest requests on a few titles, to now two manifest requests + a license request on all titles! Initial loading times might be a bit slow!

Changelog:

  • Updated playercore for latest version (cadmium-playercore-6.0015.328.011 as of publishing this release)
  • Re-enabled manifest acquisition and added license acquisition
  • 1080p works again?

v1.13

5 years ago

Unfortunately, Netflix has ultimately screwed over this extension. For videos that previously required manifest acquisition, Netflix now needs PRK profiles to be included in manifest requests and prefers them over regular non-PRK AVC profiles. What was previously exploited was that 1080p and non-1080p profiles used the same decryption keys. Using that information, you could request 1080p encrypted MP4 links with an Edge ESN and use the license obtained with 720p and below MP4s with it. But since PRK profiles are enforced, each resolution has its own unique decryption key, and thus 720p licenses won't work on 1080p content. So for now, the extension doesn't do anything extra when it encounters something that it previously acquired a manifest for.

Changelog:

  • Updated playercore for latest version (cadmium-playercore-6.0011.853.011 as of publishing this release)
  • Disabled manifest acquisition
  • Added new options page for selecting whether or not to playback 5.1 audio (right click extension icon, click Options)

v1.12

5 years ago

Changelog:

  • For videos that need a manifest acquired separately (ex. Thor: Ragnarok), playback is now limited to VP9 SD due to new Netflix limitations. Hopefully a fix can be made in the future.

v1.11

5 years ago

Netflix made some improvements(?) to their MSL API, requiring me to update how this extension requests its manifests. A (somewhat) detailed explanation of the workaround I implemented to keep 1080p in Chrome going strong is in #30, but the overall summary is as follows:

  • Netflix now requires a PRK profile to be in every manifest request. Normally, for Chrome, this means the VP9 profile. Except, we don't want VP9. We want the best quality possible.
  • The workaround involves throwing in a pointless HEVC PRK profile in the manifest request in order to please Netflix's new restriction.
  • Also, I mentioned that Netflix had updated their MSL API. The change that I had to make to accommodate for this involved changing where I replaced the profiles the client requests. Normally, I replace them at around line 43,000 or so. Now, since Netflix changed their manifest request syntax, I have to replace them at around line 77,000 or so. The request in line 43,000 is the now unused legacy MSL request, while the request in line 77,000 is the now used updated MSL request.

As always the fix is available in the Chrome webstore and Chrome should automatically update your copy of the extension. If you don't have the extension installed through the Chrome webstore, though, the binary for each release is always attached below.