Widevine DRM – 5 Things to Know About DRM Technology
What is Widevine DRM and How It Works
To prevent unauthorized use and leakage of content, many online content services are applying a multi-DRM solution provided by professional DRM vendors. A multi-DRM solution basically has license management features for multiple DRMs such as PlayReady, Widevine and FairPlay to support major web browsers and mobile OS.
In this series, we will examine each of the DRMs and related elements of multi-DRM technology in the following order.
- Part 1: What is Microsoft PlayReady DRM & How Does it Work?
- Part 2: Google Widevine DRM (this article)
- Part 3: What is Apple FairPlay DRM & How Does it Work?
- Part 4: All about DRM packaging & CPIX/SPEKE API
- Part 5: How to play DRM content & all about Multi-DRM client standards
What is Widevine DRM?
Widevine DRM is Google’s content protection system for premium media. Widevine is used by major content services around the world, including Google Play, YouTube, Netflix, Hulu, Amazon, and more.
Widevine is embedded in web browsers such as Chrome and Firefox, and devices with Android OS and other various OTT devices.
History of Widevine
Widevine DRM was developed by Widevine Technologies to replace smartcard-based content security technologies. Since Google acquired Widevine Technologies in 2010, Widevine has been built into Google’s various platforms, including Chrome, Android Mobile and Android TV. (Ref. #2)
Widevine versions
Widevine Classic (v1~v6): Widevine Classic was supported by older version of Android (3.1 ~ 5.1) and older smart TVs. It is no longer available for new services or devices because Google stopped the support. Widevine Classic uses .WVM file format, which is a proprietary packaging format.
Widevine Modular: It is current Widevine DRM which is developed with new specifications and features. Widevine Modular supports adaptive streaming formats such as DASH/HLS as well as HTML5 standards (EME/MSE). The term ‘Widevine’ is now commonly used to refer to the Widevine Modular version.
Widevine Modular manages individual versions of each component instead of the version of DRM itself.
Components of Widevine DRM & How they work
The Widevine DRM ecosystem consists of Widevine cloud licensing services, licensed proxy servers, and client devices supporting Widevine.
Widevine Cloud Licensing Service is operated directly by Google, and it generates and delivers DRM licenses upon request from a license proxy server in a content service or DRM solution. Access to cloud licensing services is only allowed through organization-specific credentials.
The license proxy server handles user authentication and authorization for DRM license requests from client devices and delivers licenses issued from the Widevine cloud licensing service to clients.
Client devices include Android mobile, TV, set-top box, Chrome, and Firefox browser. To manufacture Widevine client devices, a separate contract with Widevine is needed to get the key box and CDM module and test the integration.
In order to establish a license proxy server and provide Widevine licenses for content services, 3rd party solution providers must complete and qualify for Widevine’s Certified Widevine Implementation Partner (CWIP) program. PallyCon is an official Widevine partner with CWIP qualification.
Features & Benefits of Widevine DRM
Content protection
Widevine DRM supports a wide range of client devices and works synergistically with multiple content protection systems such as multi-DRM.
Video playback support
Widevine comes with an HTML5 player that supports adaptive streaming, QoS, and accessibility features across a variety of devices. Shaka Player, an open source web player developed by Google, supports DASH and HLS streaming and can play multi-DRM content in most web browsers and mobile devices.
Standardized format
With the support for industry-recognized media containers such as ISO BMFF (MP4) and WebM, single encrypted content can be played anywhere.
Device security
Content services can utilize powerful device security by applying hardware-based root of trust, decryption, and content rendering with factory provisioned key boxes.
Widevine DRM applied to Android or OTT devices can support hardware-based content security (Widevine L1) depending on the model. However, PC browsers such as Chrome and FireFox support a software-based (Widevine L3) DRM which is vulnerable to screen recording. (Learn more)
Related Article – How Google’s Widevine DRM Prevents HD, Ultra-HD Video Leakage to Piracy Market
Use cases
When issuing a DRM license to a Widevine client, Widevine license server can set the following rules for the duration of content playback. (Ref. #6)
- License Duration: The validity period of the license. It is about ‘How long you can play content with the license’ (play time). Common rule for all of the below scenarios.
- Playback Duration: The period of time that the license is valid since the initial playback of the content (when the license was first used). Only used in offline scenario or license renewal scenario.
- Rental Duration: The period of time that the license is valid before the initial playback of the content. Used only in offline scenarios.
These licensing settings allow service providers to implement a variety of scenarios, including:
Basic streaming scenario
In streaming scenarios, the playback device is always considered to be connected to the internet, and you can set the ‘License Duration’ to limit the duration of playback.
(E.g. License Duration 180 minutes-> 3 hours of content to play)
License renewal scenario
To support live (linear) content or simultaneous playback limits, you can periodically renew your license through the License Renewal feature while playing content in streaming. If you set the total playable duration to ‘Playback Duration’ and set the ‘Renewal Delay’ value to a shorter period, the license renewal is performed at that interval.
(E.g. Playback Duration 180 minutes, Renewal Delay 15 minutes-> Reissue license every 15 minutes, up to 3 hours of content playback)
Offline (rental) scenario
For offline playback of downloaded content, the ‘Rental Duration’ and ‘Playback Duration’ settings allow you to specify ‘How long you can keep the downloaded content’ and ‘How long you can play the content’ separately.
(E.g. Rental Duration 30 days, Playback Duration 3 hours-> watch within 30 days after download, up to 3 hours after playback starts)
Supported platforms and content formats
Widevine DRM supports the following platforms and content formats:
PC platform
- Windows 7.0 or later: Chrome, FireFox, Edge (Chromium based)
- Mac OS 10.0 or later: Chrome, FireFox, Edge (Chromium based)
Mobile platform
- Android 4.4 or later: using Android native app
- Android 5.0 or later: using Chrome mobile browser
- iOS 9.0 or later: using Widevine iOS CDM
OTT platform
- Android TV: OS 4.4 or later
- Amazon Fire TV: OS 5.0 or later
- Samsung Smart TV: Tizen OS 3.0 or later
- LG Smart TV: webOS 3.0 or later
- Chromecast, Roku
Content format
- Streaming formats: MPEG-DASH, HLS, CMAF
- Video formats: MPEG-TS, fMP4, WebM container
- Video codecs: AVC (H.264), HEVC (H.265), VP8, VP9
- Audio codecs: AAC, AC3, Opus, Vorbis
Related Article – DRM for All Screen Types? Not So Straight Forward
Introducing PallyCon Multi-DRM
PallyCon Multi DRM service provided by INKA Entworks is a cloud-based SaaS(Solution as a Service). It provides integrated licensing management of PlayReady, Widevine and FairPlay DRM, which are essential elements of multi-DRM technology.
References
- #1 https://www.widevine.com/solutions/widevine-drm
- #2 https://googleblog.blogspot.com/2010/12/on-demand-is-in-demand-weve-agreed-to.html
- #3 https://storage.googleapis.com/wvdocs/Widevine_DRM_Getting_Started.pdf
- #4 https://www.quora.com/What-is-Widevine-L1
- #5 https://medium.com/@PallyCon/why-cant-i-watch-netflix-in-ultra-hd-on-my-chrome-browser-525933dad5bb
- #6 https://storage.googleapis.com/wvdocs/Widevine_DRM_Proxy_Integration.pdf
Daniel is a DRM specialist and has been associated with this industry for over 10 years. Other than this, he is addicted to reading and writing.