Netflix is considering using extensions to HTML5 video to enable enable playback of premium video content on web browsers.

The company currently uses Microsoft Silverlight to deliver streaming video to web browsers on the PC and Mac. But since Microsoft announced the end of life of Silverlight 5 in 2021, Netflix had to find a replacement some time within the next 8 years.

Over the last year, Netflix has been collaborating with other industry leaders on three W3C initiatives which are positioned to solve this problem of playing premium video content directly in the browser without the need for browser plugins such as Silverlight, which may not be supported by all browsers and also can be viewed as a security and privacy risk.

In the near future, Netflix plans to implement the
W3C Media Source Extensions specification, which "extends HTMLMediaElement to allow JavaScript to generate media streams for playback." This makes it possible for Netflix to download audio and video content from its content delivery networks and feed it into the video tag for playback.

In addition, the W3C Encrypted Media Extensions specification would allow Netflix play protected video content in the browser by providing a standardized way for DRM systems to be used with the media element. For example, the specification identifies an encrypted stream format (Common Encryption for the ISO file format, using AES-128 counter mode) and defines how the DRM license challenge/response is handled, both in ways that are independent of any particular DRM.

The W3C Web Cryptography API specification also defines an API for "basic cryptographic operations in web applications, such as hashing, signature generation and verification, and encryption and decryption." This API allows Netflix to encrypt and decrypt communication between our JavaScript and the Netflix servers. This is required to protect user data from inspection and tampering, and allows Netflix to provide its subscription video service on the web.

Netflix has been working with Google to implement support for the HTML5 Premium Video Extensions in the Chrome browser, and has just started using this technology on the Samsung ARM-Based Chromebook. The Netflix player on this Chromebook device uses the Media Source Extensions and Encrypted Media Extensions to adaptively stream protected content. WebCrypto hasn't been implemented in Chrome yet, the com,pany is using a Netflix-developed PPAPI (Pepper Plugin API) plugin which provides these cryptographic operations for now.