EME? CDM? DRM? CENC? IDK!
summary
A concrete reverse-engineering of Netflix explains how browsers use EME to call a vendor CDM (Widevine/FairPlay/PlayReady), how a 76,000 lines of JavaScript client triggers a 2–3 MB CDM download, and why software decryption caps quality (SD) by using only two CPU cores. The flow shows manifest + license + chunk requests, a base64 server certificate embedded in JS, Netflix’s MSL transport, and a working open Netflix player that achieves Raspberry Pi HD playback.
AI-written summary · about
chapters (10)
- 0:00Introduction and speaker intro
- 1:48From QuickTime to Netflix in 25 years
- 9:57What is DRM and why it exists
- 14:56Trusted environment and decoding levels
- 21:27How DRM works in browsers
- 23:37Live demo of Netflix playback
- 25:11Reverse engineering Netflix's player
- 33:53Media Source Extensions and manifests
- 40:43Open source Netflix player project
- 41:50Controversy and ethical concerns
related talks
28mEME? CDM? DRM? CENC? IDK!
14mNavigating HTML5 Encrypted Media Extensions
37mDigital Rights Management: The Good, The Bad, and The Ugly
58mModern & secure adaptive streaming on the Web
45mModern & secure adaptive streaming on the Web
46mModern & secure adaptive streaming on the Web
14mDefective by Design: Universal Recovery of All Widevine-Protected Content on Desktop...
15mtalks about Kodi on ARM, V4L2, OpenCDM, EME for HTML5
