What is Encrypted Media Extensions?

Encrypted Media Extensions is a browser API for coordinating protected-media playback with a content decryption module and license service. It enables DRM-protected HTML media without legacy plug-ins.

How Encrypted Media Extensions works

EME gives browser code a standardized way to discover a supported key system, create media-key sessions, and exchange opaque licensing messages. Decryption itself remains inside a content decryption module supplied through the browser or platform. Encrypted bytes can arrive through ordinary media loading or an adaptive pipeline, so EME is distinct from transport and segment selection. It occupies the playback-control layer between packaged protected media, a license service, and the device's trusted decoding path.

Key facts

  1. EME specifies browser-to-CDM coordination but does not define a DRM scheme, license protocol, or business policy. Those details remain specific to the selected key system and service.
  2. The encrypted event exposes initialization data that an application passes into a MediaKeySession; session messages are then sent to a license service and resulting updates returned to the CDM.
  3. Support is negotiated through requestMediaKeySystemAccess using content types and capabilities. API presence alone does not prove that a required codec, robustness level, or session mode is usable.

When Encrypted Media Extensions matters

Web developers select an EME-compatible DRM system based on browser, device, and license-server support. Playback fails when the required content decryption module or key access is unavailable.

Turn media knowledge into a working pipeline

Connect uploads, processing, AI, storage, and delivery through one declarative API — with the encoding stack, scaling, and format churn handled for you.

Try Transloadit for free