55

I noticed that netflix employs a method of preventing users from recording or even taking still screenshot images of the video playback in their browser-based app.

If you are watching a video on netflix (in my case Windows 10 and Chrome) the video will turn to a black screen if you begin to record or screenshot.

What technology is at play here. Is there a windows/chrome API for telling content on the screen to hide if an attempted screenshotting is detected?

Is it possible for a web developer to add this feature to their products?

WillD
  • 5,170
  • 6
  • 27
  • 56
  • 2
    Disable Hardware Acceleration. macOS netflix screenshot —> Chrome > Settings > System > Disable Hardware Acceleration – johnrpenner Dec 09 '22 at 20:43

3 Answers3

48

Most streaming media services now make use of EME https://en.wikipedia.org/wiki/Encrypted_Media_Extensions. The media players built by these services make use of EME to invoke the underlying DRM (Digital Rights Management)

WebBrowser -> HTML5/Javascript -> EME -> DRM

And yes, of course you can build your own solution using EME.

Shinva
  • 1,899
  • 18
  • 25
  • 34
    This answer does not answer the question. It does not explain how Netflix prevents users from taking screenshots inside Chrome. Netflix uses EME, ok, but how does EME prevent users from taking screenshots? The linked resource does not answer this either. – Atte Juvonen Feb 02 '22 at 10:30
  • 3
    This answer is completely incorrect, EME has nothing to prevent the screenshotting. Read other answer from Mick – Pit Digger Nov 10 '22 at 00:49
18

To add to the other answers and comments - the screen capture prevention mechanisms are actually dependent on the DRM security level and the device capabilities and so may be different on different machines.

  • Browsers using a SW based DRM solution which is not linked in to the secure media path on the device actually will allow screen capture.

  • Browsers using a HW based DRM or a SW one which is linked to the device secure media path will prevent screen capture.

Typically streaming services restrict their high resolution content, e.g. 4K, and sometimes even their high value content, e.g. live sports, to devices which support a secure media path. You can see this with popular streaming services where you may be able to stream a video in 4K on one browser/device combination but only in 720p on another, even on the same device.

Content security is an ever changing domain so you may find a particular browser and device combination supports different security levels over time.

Mick
  • 24,231
  • 1
  • 54
  • 120
12

Hardware Acceleration — you need to disable it.

in macOS, you can screenshot in Netflix —> Chrome > Settings > System > Disable Hardware Acceleration.

2cents from toronto island jp

johnrpenner
  • 175
  • 1
  • 8
  • 1
    This worked for me on udemy on MacOS. I wanted screenshots of graphs for my notes. After disabling acceleration and restarting chrome, I could screen shot – Oisin Dec 16 '22 at 12:00