6 ms·
I reverse-engineered Netflix's 4K restrictions
- picklepixel 8mo agoI pay for Netflix Premium but was stuck at 1080p. Turns out Netflix layers multiple capability checks before serving 4K: user agent, screen resolution, Media Capabilities API, codec support, DRM robustness negotiation, and their Cadmium player's internal bitrate caps. Built an extension that spoofs all of these. The interesting discovery: you have to intercept every layer. Miss one and you're back to 1080p. Here's the catch though. Even with all the JavaScript spoofs working, Chrome still won't get 4K. Netflix requires Widevine L1 (hardware DRM), and Chrome only has L3 (software). The browser literally can't negotiate the security level Netflix wants. Edge on Windows has L1, so the extension actually delivers 4K there. So what's the point on Chrome? Honestly, not much for 4K specifically. But the reverse-engineering was the interesting part. Understanding how Netflix fingerprints devices and decides what quality to serve. The codebase documents all the APIs they check. On Edge: works reliably, getting 3840x2160 at 15000+ kbps. On Chrome: spoofs work, DRM negotiation fails, stuck at 1080p. The repo has detailed documentation on what each spoof does and why. Happy to discuss the technical approach or answer questions.
- doctorpangloss 8mo agoi can understand the enthusiasm around LLM authored code bases. but i cannot understand why someone would write comments on hacker news with an LLM. how could you say something was interesting, if you didn't even do it?
- andrewmcwatters 8mo agoThat's crazy that Chrome, which basically owns the web standards, does not have a compliant implementation to run Netflix, which leads streaming market share.
- michaelt 8mo ago> Happy to discuss the technical approach or answer questions. Netflix says "Ultra HD (2160p)" requires Microsoft Edge on Windows [1]. This is a "Netflix 4K Enabler" extension that spoofs being Microsoft Edge on Windows - but unless I'm misunderstanding, the extension only works on Microsoft Edge, on Windows. Under what circumstances would a user want this extension? [1] https://help.netflix.com/en/node/30081 https://help.netflix.com/en/node/30081
- stevemk14ebr 8mo agoSo your extension does a bunch of hooks to spoof edge, but then only works on edge? And edge using Netflix normally already supports 4k. So this does nothing and does not solve the stated problem of chrome and Firefox 4k Netflix streaming. Am I missing something?
- arjie 8mo agoI would imagine it's less a product to use and more documentation of the various techniques that are involved. It seems pretty reasonable to share that with others.
- picklepixel 8mo agoTLDR; I made an extension to force 4K on Netflix.
- direwolf20 8mo agoDid you make it or did AI make it? Does it actually work?
- hug 8mo agoI may be an idiot, but: What does this actually, y'know, achieve? It seems the answer to me is probably nothing? It doesn't work on Firefox. It appears not to work on Chrome. The suggestion is to use Edge, which on Windows already gets 4K support in Netflix anyway.
- doctorpangloss 8mo agoi don't think it works! there's no mystery here...
- Retr0id 8mo agoI can't vouch for this extension in particular (because I haven't tested it), but I've used and written similar extensions myself and can confirm that the concept is legit.
- hug 8mo agoSpoofing the user agent and decoding capabilities and [...] is a useful way to unblock things that are crippled on various browsers, indeed. The problem here is requiring hardware-attested DRM: Widevine L1 on Edge on Windows, and Apple FairPlay on Safari on MacOS. The only way to get hardware attested DRM is via browser specific (i.e.: native code) support that interfaces with the OS & GPU drivers. You can't get there through an extension.
- Retr0id 8mo agoRight, but the point is that Netflix still refuses to play 4K on some browsers with hardware DRM support. Even getting it to work in Edge was a challenge last time I tried - iirc I got it working via https://github.com/lkmvip/netflix-4K-DDplus https://github.com/lkmvip/netflix-4K-DDplus
- apt-apt-apt-apt 8mo agoFellow idiot here, and the gist seems to be: Here's a 4K enabler that only enables 4K where it's already enabled.
- Retr0id 8mo agoAwesome. As someone who has spent some time researching DRM systems, figuring out these "soft" restrictions before you can achieve playback in the first place is often more challenging than breaking the DRM itself. Does Edge currently ship Widevine L1? Last time I checked it was Playready SL3000, but that was a while ago now.
- nalekberov 8mo agoThis is why piracy is gaining more and more traction lately.
- llsf 8mo agoDisappointed to learn that it requires Edge, BUT very grateful for the investigation and write up ! That is why this is called Hacker News.
- TacoCommander 8mo ago[flagged]
- JCattheATM 8mo agoDo a search and find out.
- hermanzegerman 8mo agoI never get why those idiots make it harder for paying customers to watch content, than for those just torrenting it. It's the same with Amazon Prime Video which will get me a black screen on Linux or force me to SD Quality, while the torrented Movie runs just fine in 4K
- Retr0id 8mo agoI've spent a long time wondering the same thing. The standard answer is that it's fallout from the anti-anti-piracy cat and mouse game. The more conspiratorial answer is that bandwidth is expensive and streaming sites will take any excuse to serve you a lower resolution than what you actually paid for, while still being able to say that they technically support 4K. There are sensible-ish technical reasons why they can't deliver DRM'd 4K on linux, but when browser extensions can upgrade you to 4K there are no excuses on the technical level.
- TacoCommander 8mo agoWe need to divorce "corporate" from "tech"
- reactordev 8mo agoNever going to happen. Tech came from corporate.
- hermanzegerman 8mo agoThe point is, people usually pay because it is more convenient for them than getting it illegally. But when I have to fiddle around for 30 Minutes to see a picture (it worked before until it suddenly didn't work anymore), pirating the movie is suddenly the better option. Because I certainly don't see a point in paying and wasting more of my time. And the piracy cat and mouse game is stupid, as in the End it's always Available illegaly, except for the people developing and selling DRM
- stavros 8mo agoBandwidth is only expensive if you're getting it from Amazon or Google. Cloudflare gives it away for free.
- TacoCommander 8mo agoLet's go back to tangible media https://www.rasputinmusic.com https://www.rasputinmusic.com https://www.amoeba.com/ https://www.amoeba.com/
- JoshTriplett 8mo agoI would pay a non-trivial amount for a service that 1) bought a blu-ray on my behalf, 2) ripped it to a file, 3) gave me that file to download, once, and 4) after confirming I had it, shredded the blu-ray. I don't want to copy things and distribute them to others. I want to have one copy that keeps working indefinitely and doesn't go away or fail to follow me across systems.
- direwolf20 8mo agoThat's still illegal. A company tried to do that with an array of DVD players.
- JoshTriplett 8mo agoDebatable. Streaming content to someone while keeping the physical media is debatably public performance. I'm not sure if anyone has tried to make the "first sale" argument yet.
- daft_pink 8mo agoIs anyone else reading this like WTF I pay for 4K and I dont actually get and I didn’t realize it!?!?!
- asyncadventure 8mo ago[flagged]
- zb3 8mo agoEdge on Windows supports L1? I thought L1 requires secure hardware support.. is it about SGX or newer Windows devices have some anti-user crap builtin already?
- zb3 8mo agoUPDATE: Apparently newer Intel CPUs have builtin support for PlayReady 3.0. What a beautiful anti-feature of the CPU..
- dfajgljsldkjag 8mo agoHello HN, I have an important thing to point out: THIS EXTENSION DOES NOT WORK! let me put it another way: THIS EXTENSION DOES NOTHING USEFUL! The author did not reverse engineer anything. He simply asked Claude Code to make this without testing or verifying any of the outputs. The author did not check if the extension actually works. He simply asked Claude Code to make this without testing or verifying any of the outputs. Other commenters in this thread have noted that this extension cannot do what it claims. [1] The author simply asked Claude Code to make this without testing or verifying any of the outputs. Thanks for listening to my ted talk. 1: https://news.ycombinator.com/item?id=46803836 https://news.ycombinator.com/item?id=46803836
- Retr0id 8mo agoHave you tested it? I have no doubt that it was vibecoded, and there's a lot of bogus stuff in the readme, but there's also a good chance it's at least slightly functional.
- beAbU 8mo agoWTF does "slightly functional" mean in this context.
- Retr0id 8mo agoThere are a bunch of factors that affect whether Netflix will give you the highest resolution available for your hardware. Some of them are "soft" constraints, like the user agent, the pixel resolution of your screen, and what profiles the client requests from the server. Then there's hard constraints like the DRM version, HDCP level, and what codecs your hardware actually supports. This extension tries to spoof HDCP status and codec support which is stupid and will not provide any benefit, since it is ultimately enforced by hardware. But it also patches Cadmium to request a custom set of profiles which is useful and can improve compatibility: https://github.com/Pickle-Pixel/netflix-force-4k/blob/72e179c5a2e9b009b1ed7e53ff97b029e0c20967/inject.js#L170-L190 https://github.com/Pickle-Pixel/netflix-force-4k/blob/72e179... For example, here's a set of profiles that makes 1080p work on Linux, as opposed to a mere 720p: https://github.com/DavidBuchanan314/Turbo-Recadmiumator/blob/a4cdb0d8d2bdae040416216924f54cbb0f6daf01/src/cadmium-playercore-shim.js#L39-L53 https://github.com/DavidBuchanan314/Turbo-Recadmiumator/blob... (or at least it used to, I haven't tested it in ages)
- cadamsdotcom 8mo agoWhy is this flagged ? Can HN force people who flag to provide a reason, even if only the mods see it?
- Markoff 8mo ago"A Chrome/Edge extension that forces Netflix to serve 4K Ultra HD content on devices and browsers that Netflix artificially restricts." It doesn't work in Chrome/Firefox, it works only in Edge.
- direwolf20 8mo agoThe top comment says it doesn't actually work because it's just AI slop. A quick code check agrees with this assessment.
- andydevguy 8mo agoYou can't spoof L1 Widevine.
- direwolf20 8mo agoYou could but it'd be much much harder than this. Everything your computer can do is inspectable with correct application of nitric acid, electron microscopy, and image processing algorithms running on a supercomputer. You could also try to get hired on the Widevine team or a GPU vendor. Corporate espionage, yay!
- ASalazarMX 8mo ago"I made X" now means "I asked an LLM for X, this is what it gave me".