A CDM (Content Decryption Module) is the DRM client implementation inside a browser or device - Widevine in Chrome, PlayReady in Edge, FairPlay in Safari - that handles the secret parts of protected playback: generating license requests, storing the key, and decrypting media inside a boundary the page's JavaScript cannot inspect.

On the web, application code reaches the CDM only through the EME API: it can ask the CDM for a license challenge and hand back the license, but never sees the key itself. The CDM's security level (software vs hardware-backed) determines what quality a device is allowed to play, which is why robustness rules tie premium resolutions to a hardware CDM.

Book cover: Video Streaming, Volume 2 of the Fora Soft Video Engineering HandbookBook cover: Video Streaming, Volume 3 of the Fora Soft Video Engineering HandbookBook cover: Video Encoding, Volume 1 of the Fora Soft Video Engineering Handbook

The handbook · 7 volumes

Fora Soft Video Engineering Handbook

The CDM is where browser DRM succeeds or fails, and differences between the Widevine, PlayReady and FairPlay CDMs explain many errors that happen on only one browser. Our seven-volume handbook covers the whole video stack; for the CDM start with Volume 3 on DRM and players, with Volume 2 on HLS, DASH and CMAF packaging and Volume 1 on encoding. Written by Nikolay Sapunov, CEO at Fora Soft.

Browse the handbook on Amazon →7 volumes · 9,000+ pages · Kindle & paperback

DRM playback failing in one browser's CDM but working in the others?

Send us your player setup and a test stream, and we will trace the license and CDM flow and return a fix list per browser. 250+ video products shipped since 2005.

Book a 30-min call →WhatsApp →Email us →