Widevine Quarterly Partner Update - Q4 2020
01/14/21
01/14/21
Welcome to another quarterly update from the Widevine team. Our aim is to improve transparency and facilitate discussions around improving ease of use, integration and deployment of Widevine.
Note: Access to Widevine documentation is now restricted to licensees. If you are unable to view the document links, please contact us.
A schedule for the rollout of the next browser CDM update will be provided in a separate announcement.
Future releases of the browser CDM will require either:
For SDK (Proxy or License) users, the Device Certificate Status List (DCSL) is migrating URL endpoints from v1 to v2. The v1 endpoint will be deprecated and cease to function by March 31, 2021. See the DCSL documentation for more information.
You can obtain the new DCSL tools (source, sample binary) from the respective SDK repository. Contact us to plan your transition.
The release of Android 11 has introduced changes in license duration behavior. The primary difference is the use of playback duration parameter instead of the license duration parameter. The definition of never expire is now specified and returned as LLONG_MAX value.
Please review the Android Extensions document for clarification.
Widevine devices may be revoked due to non-compliance with our device robustness rules and rendered inactive.
For device revocation, Widevine returns the following error codes:
Status Code | Description |
127 | This device has been revoked. An override is allowed to continue license issuance for these devices. |
175 | This device has been revoked permanently. |
A new API has been added to allow license generation for a revoked device. This will allow you to deliver a license to the device, despite the revocation. Please refer to the latest documentation (Proxy Integration, License SDK) where specific use-cases are allowed to override revocation.
Widevine recommends that our partners use the device metadata returned in a license response (or request query) to determine content distribution eligibility per respective distribution rights.
For example, it is not recommended to stream Level-1-quality content to a Level-3 platform.
There are constant updates to the device database to reflect the health of the ecosystem. It is important to note that the database information may not match from what is reported by the device. The server is always correct source of information.
Please ensure you have reviewed our Proxy Integration or License SDK documentation appropriately.
The current release of the iOS CDM is 15.2.4.
Upgrading to 14.4.0 or later (from any previous version) will invalidate existing offline licenses. A new device certificate is part of the release in the iOS repository. With the exception of serious security issues, there are no further releases planned for v14.
Available Date | Removal Date | iOS CDM Version |
June 11, 2019 | June 30, 2021 | 14.4.0 or later (and less than 15.0) |
May 26, 2020 | N/A | 15.2.4 |
The table below provides a list of valid browser CDMs. Widevine mandates all browser CDM implementations to stay current with Chrome releases to ensure that the latest updates are applied.
Available Date | Removal Date | Chrome Version | Win | Mac | Linux | ChromeOS |
Jun 4, 2019 (Chrome M75 stable) |
n/a | 75 (requires Chromium M69 or later) |
4.10.1440.18 or later | 4.10.1440.18 or later | 4.10.1440.18 or later | 4.10.1440.18 or later |
Widevine would like to reinforce our recommendation of using separate content keys to encrypt each video and audio track. In particular, the emphasis is on using separate content keys for each category of SD, HD, 4K (UHD1), 8K (UHD2) and AUDIO streams.
Content Type | Minimum | Recommended | Best | Store License? | Output Protection |
AUDIO | No encryption | Separate content key for audio tracks | Separate content key for audio tracks | Yes | N/A |
SD | Single content key for all tracks | Separate content key for each video group (SD, HD, UHD) |
Separate content key for each video track | Yes | N/A |
HD (720p or higher) | Yes | HDCP 1.4 | |||
UHD1 (4K) UHD2 (8K) |
Separate content key | No | HDCP 2.2 |
Product | Cloud (License, Provisioning, Device UX) |
Browser CDM | Android CDM | CDM Source | Server SDKs (License, Proxy) | CAS |
Release Cadence | Every 6 weeks | Every 6 weeks | Per Android release | End of Quarter | End of Quarter | End of Quarter |
Current Version | n/a | 4.10.1679.x | n/a | 16.3.0 | n/a |
Widevine has three different cloud services - UAT, Staging and Production. Moving forward, we recommend that partners use the appropriate environment to validate any new changes coming to the production environment.
The Widevine release process will update Staging first. Approximately 1-2 weeks later, Production and UAT are updated simultaneously if Staging is successfully verified.
This table represents the available Widevine Cloud License Service endpoints:
Environment | Data Store | GetLicense | GetContentKey | Purpose |
UAT (Test) | Test | https://license.uat.widevine.com/cenc/getlicense/<provider> |
https://license.uat.widevine.com/cenc/getcontentkey/<provider> |
Testing environment for Device Integration and Service providers |
Staging (Test) | Production | https://license.staging.widevine.com/cenc/getlicense/<provider> |
https://license.staging.widevine.com/cenc/getcontentkey/<provider> |
Testing environment for bug fixes, and new changes. |
Production | Production | https://license.widevine.com/cenc/getlicense/<provider> |
https://license.widevine.com/cenc/getcontentkey/<provider> |
Standard production environment. |
CAS UAT (Test) | Test | https://license.uat.widevine.com/cas/getlicense/<provider> |
https://license.uat.widevine.com/cas/getcontentkey/<provider> |
Testing environment for Device Integration and Service providers |
CAS Staging (Test) | Production | https://license.staging.widevine.com/cas/getlicense/<provider> |
https://license.staging.widevine.com/cas/getcontentkey/<provider> |
Testing environment for bug fixes, and new changes. |
CAS Production | Production | https://license.widevine.com/cas/getlicense/<provider> |
https://license.widevine.com/cas/getcontentkey/<provider> |
Standard production environment. |
The Production and Staging environment is accessed using the same set of service credentials (IV/Key pair), separate from UAT.
The UAT (Test) environment is accessed using a unique set of service credentials (IV/Key pair). The purpose of UAT is to enable:
Signing key credentials for access to the Widevine Cloud License Service can now be enabled to expire and new signing keys will be auto-generated. Please contact us if you are interested in enabling this function.
Due to the COVID-19 pandemic, all sessions have been cancelled. We will resume when Google offices are re-opened.
07/08/20
Welcome to another quarterly update from the Widevine team. Our aim is to improve transparency and facilitate discussions around improving ease of use, integration and deployment of Widevine.
Note: Access to Widevine documentation is now restricted to licensees. If you are unable to view the document links, please contact us.
For all SDK users, the Device Certificate Status List (DCSL) is migrating URL endpoints from v1 to v2.
All Widevine SDKs must upgrade to the latest SDK (available late July 2020). We will send out notification for each SDK release with updated documentation.
A new API has been added to allow license generation for revoked devices (response status code = 127).
Widevine devices may be revoked due to non-compliance with our device robustness rules and rendered inactive. This feature is a prelude to the introduction of device security profiles, coming later in 2020.
This API is added to both the cloud license service and the license SDK, please refer to the latest documentation (v16.3.1) where specific use-cases are allowed to override revocation.
Widevine recommends that our partners use the device metadata returned in a license response (or request query) to determine content distribution eligibility per respective distribution rights.
For example, it is not recommended to stream Level-1-quality content to a Level-3 platform.
There are constant updates to the device database to reflect the health of the ecosystem. It is important to note that the database information may not match from what is reported by the device. The server is always correct source of information.
Please ensure you have reviewed our Proxy Integration or License SDK documentation appropriately.
The Proxy SDK for DRM is now available (see Release table below). This SDK removes the complexity of managing service certificates, business logic application and JSON syntax generation.
The SDK is required to fully inspect the contents of a license request.
Key Feature of the SDK:
This is the recommended option compared to preloading the Widevine License Service certificate for browser-based clients.
Widevine CAS is available for distribution and integration. See our server and device integration guides.
This product is exclusive to the Android TV platform. Please contact us for details and coordination with the Android TV team.
Shaka Embedded v1.0 is now available. This is an iOS native library that handles streaming media playback, similar to Shaka Player. It has the same supported features as Shaka Player, supporting both DASH and HLS content. Easily add Widevine support by following instructions provided with the Widevine CDM release.
We provide both API and ABI stability between major releases; you don’t need to update your code or even rebuild your app to update to newer versions. We will provide pre-built versions on GitHub, or you can build the library from source. (Widevine partners will need to build from source.)
Sources: https://github.com/google/shaka-player-embedded
Pre-built release: https://github.com/google/shaka-player-embedded/releases/tag/v1.0.0
Docs: https://google.github.io/shaka-player-embedded/
The current release of the iOS CDM is 15.2.3.
Upgrading to 14.4.0 or later (from any previous version) will invalidate existing offline licenses. A new device certificate is part of the release in the iOS repository. With the exception of serious security issues, there are no further releases planned for v14.
Available Date | Removal Date | iOS CDM Version |
June 11, 2019 | June 30, 2021 | 14.4.0 or later (and less than 15.0) |
May 26, 2020 | N/A | 15.2.3 |
The table below provides a list of valid browser CDMs. Widevine mandates all browser CDM implementations to stay current with Chrome releases to ensure that the latest updates are applied.
Available Date | Removal Date | Chrome Version | Win | Mac | Linux | ChromeOS |
Jun 4, 2019 (Chrome M75 stable) |
n/a | 75 (requires Chromium M69 or later) |
4.10.1440.18 or later | 4.10.1440.18 or later | 4.10.1440.18 or later | 4.10.1440.18 or later |
Widevine would like to reinforce our recommendation of using separate content keys to encrypt each video and audio track. In particular, the emphasis is on using separate content keys for each category of SD, HD, 4K (UHD1), 8K (UHD2) and AUDIO streams.
Content Type | Minimum | Recommended | Best | Store License? | Output Protection |
AUDIO | No encryption | Separate content key for audio tracks | Separate content key for audio tracks | Yes | N/A |
SD | Single content key for all tracks | Separate content key for each video group (SD, HD, UHD) |
Separate content key for each video track | Yes | N/A |
HD (720p or higher) | Yes | HDCP 1.4 | |||
UHD1 (4K) UHD2 (8K) |
Separate content key | No | HDCP 2.2 |
Product | Cloud (License, Provisioning, Device UX) |
Browser CDM | Android CDM | CDM Source | Server SDKs (License, Proxy) | CAS |
Release Cadence | Every 6 weeks | Every 6 weeks | Per Android release | End of Quarter | End of Quarter | End of Quarter |
Current Version | n/a | 4.10.1679.x | n/a | 16.3.0 | n/a |
Widevine has three different cloud services - UAT, Staging and Production. Moving forward, we recommend that partners use the appropriate environment to validate any new changes coming to the production environment.
The Widevine release process will update Staging first. Approximately 1-2 weeks later, Production and UAT are updated simultaneously if Staging is successfully verified.
This table represents the available Widevine Cloud License Service endpoints:
Environment | Data Store | GetLicense | GetContentKey | Purpose |
UAT (Test) | Test | https://license.uat.widevine.com/cenc/getlicense/<provider> |
https://license.uat.widevine.com/cenc/getcontentkey/<provider> |
Testing environment for Device Integration and Service providers |
Staging (Test) | Production | https://license.staging.widevine.com/cenc/getlicense/<provider> |
https://license.staging.widevine.com/cenc/getcontentkey/<provider> |
Testing environment for bug fixes, and new changes. |
Production | Production | https://license.widevine.com/cenc/getlicense/<provider> |
https://license.widevine.com/cenc/getcontentkey/<provider> |
Standard production environment. |
CAS UAT (Test) | Test | https://license.uat.widevine.com/cas/getlicense/<provider> |
https://license.uat.widevine.com/cas/getcontentkey/<provider> |
Testing environment for Device Integration and Service providers |
CAS Staging (Test) | Production | https://license.staging.widevine.com/cas/getlicense/<provider> |
https://license.staging.widevine.com/cas/getcontentkey/<provider> |
Testing environment for bug fixes, and new changes. |
CAS Production | Production | https://license.widevine.com/cas/getlicense/<provider> |
https://license.widevine.com/cas/getcontentkey/<provider> |
Standard production environment. |
The Production and Staging environment is accessed using the same set of service credentials (IV/Key pair), separate from UAT.
The UAT (Test) environment is accessed using a unique set of service credentials (IV/Key pair). The purpose of UAT is to enable:
Please contact us to discuss the Queries Per Second (QPS) requirements for your service. Performance or load testing must be executed on our production systems only. We will need to know the expected traffic (QPS, duration) for any testing.
Signing key credentials for access to the Widevine Cloud License Service can now be enabled to expire and new signing keys will be auto-generated. Please contact us if you are interested in enabling this function.
Due to the COVID-19 pandemic, all sessions in 2020 have been cancelled. We will resume in 2021.
04/01/20
Welcome to another quarterly update from the Widevine team. Our aim is to improve transparency and facilitate discussions around improving ease of use, integration and deployment of Widevine.
Note: Access to Widevine documentation is now restricted to licensees. If you are unable to view the document links, please contact us.
During these uncertain times, the Widevine team is working remotely (along with the rest of Google). Major product features are on track (CDM, OEMCrypto, Android, CAS, ATSC). Our cloud license services are scaled to fulfill higher demand due to work-from-home and quarantine requirements around the world.
For integrations, issues or questions, you can always reach us at contact us.
The Device Certificate Status List (DCSL) is migrating URL endpoints from v1 to v2 by the end of March 2021.
All Widevine SDKs (License, Proxy) must upgrade to the latest SDK (available in June 2020) to use the new links. The v1 endpoint will not work after March 2021.
The Proxy SDK for DRM is now available (see Release table below). This SDK removes the complexity of managing service certificates, business logic application and JSON syntax generation.
The SDK is required to fully inspect the contents of a license request.
Key Feature of the SDK:
This is the recommended option compared to preloading the Widevine License Service certificate for browser-based clients.
Widevine recommends that our partners use the device metadata returned in a license response (or request query) to determine content distribution eligibility per respective distribution rights.
For example, it is not recommended to stream Level-1-quality content to a Level-3 platform.
There are constant updates to the device database to reflect the health of the ecosystem. It is important to note that the database information may not match from what is reported by the device. The server is always correct source of information.
Please ensure you have reviewed our Proxy Integration or License SDK documentation appropriately.
Widevine CAS is available for distribution and integration. See our server and device integration guides.
This product is exclusive to the Android TV platform. Please contact us for details and coordination with the Android TV team.
The current release of the iOS CDM is v14.4.1. With the exception of serious security issues, there are no further releases planned for v14.
Upgrading to 14.4.0 or later (from any previous version) will invalidate existing offline licenses. A new device certificate is part of the release in the iOS repository.
Available Date | Removal Date | iOS CDM Version |
N/A | August 13, 2019 | Less than 14.4.0 |
June 11, 2019 | June 30, 2021 | 14.4.0 or later |
The Widevine Desktop Browser CDM includes support for Verified Media Path (VMP). VMP provides a method to verify the authenticity of the browser framework. For browser deployments, this will provide an additional signal to determine if a browser-based implementation is sanctioned by Widevine.
All Widevine browser-based integrations (platforms and applications) must support VMP. VMP support is NOT available for Linux platforms.
The Widevine License Service API update (allow_unverified_platform)
retains current default permissive behavior.
For content providers, the proxy integration guide has been updated with information about VMP and how to issue licenses. The Proxy SDK (see above) is a recommended alternative.
Current default behavior:
A license is issued if platform_verification_status
is not tampered.
New default behavior:
A license is issued if platform_verification_status
is verified.
There is an option to override the default behavior.
Windows and Mac OS X platforms support VMP by default.
Desktop Linux platform does not support VMP by default.
Note: The override must be enabled to issue a license to a Linux desktop.
The table below provides a list of valid browser CDMs. Widevine mandates all browser CDM implementations to stay current with Chrome stable releases to ensure that the latest updates are applied.
The CDM will only be supported with interface version 10 going forward.
Available Date | Removal Date | Chrome Version | Win | Mac | Linux | ChromeOS |
n/a | Jan 8, 2019 | 59 to 63 | 1.4.8.984 | 1.4.8.984 | 1.4.8.1000 1.4.8.1008 |
1.4.8.1000 1.4.8.1008 |
n/a | August 13, 2019 | 64 to 68 | 1.4.9.1029 | 1.4.9.1029 | 1.4.9.1029 1.4.9.1070 1.4.9.1076 1.4.9.1088 4.10.1146.0 4.10.1158.0 |
1.4.9.1029 1.4.9.1070 1.4.9.1076 1.4.9.1088 4.10.1146.0 |
Jun 4, 2019 (Chrome M75 stable) |
n/a | 75 (requires Chromium M69 or later) |
4.10.1440.18 | 4.10.1440.18 | 4.10.1440.18 | 4.10.1440.18 |
Product | Cloud (License, Provisioning, Device UX) |
Browser CDM | Android CDM | CDM Source | Server SDKs (License, Proxy) | CAS |
Release Cadence | Every 6 weeks | Every 6 weeks | Per Android release | End of Quarter | End of Quarter | End of Quarter |
Current Version | n/a | 4.10.1610.0 | n/a | 15.3.0 | n/a |
Widevine would like to reinforce our recommendation of using separate content keys to encrypt each video and audio track. In particular, the emphasis is on using separate content keys for each category of SD, HD, 4K (UHD1), 8K (UHD2) and AUDIO streams.
Content Type | Minimum | Recommended | Best | Store License? | Output Protection |
AUDIO | No encryption | Separate content key for audio tracks | Separate content key for audio tracks | Yes | N/A |
SD | Single content key for all tracks | Separate content key for each video group (SD, HD, UHD) |
Separate content key for each video track | Yes | N/A |
HD (720p or higher) | Yes | HDCP 1.4 | |||
UHD1 (4K) UHD2 (8K) |
Separate content key | No | HDCP 2.2 |
Widevine has three different cloud services - UAT, Staging and Production. Moving forward, we recommend that partners use the appropriate environment to validate any new changes coming to the production environment.
The Widevine release process will update Staging first. Approximately 1-2 weeks later, Production and UAT are updated simultaneously if Staging is successfully verified.
This table represents the available Widevine Cloud License Service endpoints:
Environment | Data Store | GetLicense | GetContentKey | Purpose |
UAT (Test) | Test | https://license.uat.widevine.com/cenc/getlicense/<provider> |
https://license.uat.widevine.com/cenc/getcontentkey/<provider> |
Testing environment for Device Integration and Service providers |
Staging (Test) | Production | https://license.staging.widevine.com/cenc/getlicense/<provider> |
https://license.staging.widevine.com/cenc/getcontentkey/<provider> |
Testing environment for bug fixes, and new changes. |
Production | Production | https://license.widevine.com/cenc/getlicense/<provider> |
https://license.widevine.com/cenc/getcontentkey/<provider> |
Standard production environment. |
CAS UAT (Test) | Test | https://license.uat.widevine.com/cas/getlicense/<provider> |
https://license.uat.widevine.com/cas/getcontentkey/<provider> |
Testing environment for Device Integration and Service providers |
CAS Staging (Test) | Production | https://license.staging.widevine.com/cas/getlicense/<provider> |
https://license.staging.widevine.com/cas/getcontentkey/<provider> |
Testing environment for bug fixes, and new changes. |
CAS Production | Production | https://license.widevine.com/cas/getlicense/<provider> |
https://license.widevine.com/cas/getcontentkey/<provider> |
Standard production environment. |
The Production and Staging environment is accessed using the same set of service credentials (IV/Key pair), separate from UAT.
The UAT (Test) environment is accessed using a unique set of service credentials (IV/Key pair). The purpose of UAT is to enable:
Please contact us to discuss the Queries Per Second (QPS) requirements for your service. Performance or load testing must be executed on our production systems only. We will need to know the expected traffic (QPS, duration) for any testing.
Signing key credentials for access to the Widevine Cloud License Service can now be enabled to expire and new signing keys will be auto-generated. Please contact us if you are interested in enabling this function.
Available sessions in 2020:
01/17/20
Welcome to another quarterly update from the Widevine team. Our aim is to improve transparency and facilitate discussions around improving ease of use, integration and deployment of Widevine.
Note: Access to Widevine documentation is now restricted to licensees. If you are unable to view the document links, please contact us.
The Widevine Cloud License Service returns the platform verification status (Verified Media Path) for supported platforms only (browsers).
For non-VMP platforms such as Android and living room devices, the status returned is PLATFORM_NO_VERIFICATION.
Please see the updated Proxy Integration document for further details.
The Proxy SDK for DRM is now available.
The purpose of this SDK is to improve license fetch latency by reducing round-trip calls to the license service. It provides the ability to inspect a license request (without sending to the license service) and generate a formatted payload for cloud license fulfilment.
Widevine recommends that our partners use the device metadata returned in a license response (or request query) to determine content distribution eligibility per respective distribution rights.
For example, it is not recommended to stream Level-1-quality content to a Level-3 platform.
There are constant updates to the device database to reflect the health of the ecosystem. It is important to note that the database information may not match from what is reported by the device. The server is always correct source of information.
Please ensure you have reviewed our Proxy Integration or License SDK documentation appropriately.
Widevine CAS is available for distribution and integration. See our server and device integration guides.
This product is exclusive to the Android TV platform. Please contact us for details and coordination with the Android TV team.
The current release of the iOS CDM is v14.4.1. With the exception of serious security issues, there are no further releases planned for v14.
Upgrading to 14.4.0 or later (from any previous version) will invalidate existing offline licenses. A new device certificate is part of the release in the iOS repository.
Available Date | Removal Date | iOS CDM Version |
N/A | August 13, 2019 | Less than 14.4.0 |
June 11, 2019 | June 30, 2020 | 14.4.0 or later |
The Widevine Desktop Browser CDM includes support for Verified Media Path (VMP). VMP provides a method to verify the authenticity of the browser framework. For browser deployments, this will provide an additional signal to determine if a browser-based implementation is sanctioned by Widevine.
All Widevine browser-based integrations (platforms and applications) must support VMP.
The Widevine License Service API update (allow_unverified_platform) retains current default permissive behavior.
For content providers, the proxy integration guide has been updated with information about VMP and how to issue licenses.
Current default behavior:
A license is issued if platform_verification_status is not tampered.
New default behavior:
A license is issued if platform_verification_status is verified.
There is an option to override the default behavior.
Windows and Mac OS X platforms support VMP by default.
Desktop Linux platform does not support VMP by default.
Note: The override must be enabled to issue a license to a Linux desktop.
The table below provides a list of valid browser CDMs. Widevine mandates all browser CDM implementations to stay current with Chrome stable releases to ensure that the latest updates are applied.
The CDM will only be supported with interface version 10 going forward.
Available Date | Removal Date | Chrome Version | Win | Mac | Linux | ChromeOS |
n/a | Jan 8, 2019 | 59 to 63 | 1.4.8.984 | 1.4.8.984 | 1.4.8.1000 1.4.8.1008 |
1.4.8.1000 1.4.8.1008 |
n/a | August 13, 2019 | 64 to 68 | 1.4.9.1029 | 1.4.9.1029 | 1.4.9.1029 1.4.9.1070 1.4.9.1076 1.4.9.1088 4.10.1146.0 4.10.1158.0 |
1.4.9.1029 1.4.9.1070 1.4.9.1076 1.4.9.1088 4.10.1146.0 |
Jun 4, 2019 (Chrome M75 stable) |
n/a | 75 (requires Chromium M69 or later) |
4.10.1440.18 | 4.10.1440.18 | 4.10.1440.18 | 4.10.1440.18 |
Product | Cloud (License, Provisioning, Device UX) |
Browser CDM | Android CDM | CDM Source | Server SDKs (License, Proxy) | CAS |
Release Cadence | Every 6 weeks | Every 6 weeks | Per Android release | End of Quarter | End of Quarter | End of Quarter |
Current Version | n/a | 4.10.1610.0 | n/a | 15.2.0 | n/a |
Widevine would like to reinforce our recommendation of using separate content keys to encrypt each video and audio track. In particular, the emphasis is on using separate content keys for each category of SD, HD, 4K (UHD1), 8K (UHD2) and AUDIO streams.
Content Type | Minimum | Recommended | Best | Store License? | Output Protection |
AUDIO | No encryption | Separate content key for audio tracks | Separate content key for audio tracks | Yes | N/A |
SD | Single content key for all tracks | Separate content key for each video group (SD, HD, UHD) |
Separate content key for each video track | Yes | N/A |
HD (720p or higher) | Yes | HDCP 1.4 | |||
UHD1 (4K) UHD2 (8K) |
Separate content key | No | HDCP 2.2 |
Widevine has three different cloud services - UAT, Staging and Production. Moving forward, we recommend that partners use the appropriate environment to validate any new changes coming to the production environment.
The Widevine release process will update Staging first. Approximately 1-2 weeks later, Production and UAT are updated simultaneously if Staging is successfully verified.
This table represents the available Widevine Cloud License Service endpoints:
Environment | Data Store | GetLicense | GetContentKey | Purpose |
UAT (Test) | Test | https://license.uat.widevine.com/cenc/getlicense/<provider> |
https://license.uat.widevine.com/cenc/getcontentkey/<provider> |
Testing environment for Device Integration and Service providers |
Staging (Test) | Production | https://license.staging.widevine.com/cenc/getlicense/<provider> |
https://license.staging.widevine.com/cenc/getcontentkey/<provider> |
Testing environment for bug fixes, and new changes. |
Production | Production | https://license.widevine.com/cenc/getlicense/<provider> |
https://license.widevine.com/cenc/getcontentkey/<provider> |
Standard production environment. |
The Production and Staging environment is accessed using the same set of service credentials (IV/Key pair), separate from UAT.
The UAT (Test) environment is accessed using a unique set of service credentials (IV/Key pair). The purpose of UAT is to enable:
Please contact us to discuss the Queries Per Second (QPS) requirements for your service. Performance or load testing must be executed on our production systems only. We will need to know the expected traffic (QPS, duration) for any testing.
Signing key credentials for access to the Widevine Cloud License Service can now be enabled to expire and new signing keys will be auto-generated. Please contact us if you are interested in enabling this function.
Available sessions in 2020:
10/08/19
Welcome to another quarterly update from the Widevine team. Our aim is to improve transparency and facilitate discussions around improving ease of use, integration and deployment of Widevine.
Note: Access to Widevine documentation is now restricted to licensees. If you are unable to view the document links, please contact us.
The purpose of this SDK is to improve license fetch latency by reducing round-trip calls to the license service. It provides the ability to inspect a license request (without sending to the license service) and generate a formatted payload for cloud license fulfilment.
The Proxy SDK for DRM is now available.
Widevine CAS is available for distribution and integration. See our server and device integration guides.
This product is exclusive to the Android TV platform. Please contact us for details and coordination with the Android TV team.
Shaka Streamer offers a simple config-file based approach to preparing streaming media. It greatly simplifies the process of using FFmpeg and Shaka Packager for both VOD and live content.
Just write a couple of YAML config files (or adapt one of our examples) and start streaming!
For more information, check out https://github.com/google/shaka-streamer/
Widevine recommends that our partners use the device metadata returned in a license response (or request query) to determine content distribution eligibility per respective distribution rights.
For example, it is not recommended to stream Level-1-quality content to a Level-3 platform.
There are constant updates to the device database to reflect the health of the ecosystem. It is important to note that the database information may not match from what is reported by the device. The server is always correct source of information.
Please ensure you have reviewed our Proxy Integration or License SDK documentation appropriately.
The current release of the iOS CDM is v14.4.1. With the exception of serious security issues, there are no further releases planned for v14.
Upgrading to 14.4.0 or later (from any previous version) will invalidate existing offline licenses. A new device certificate is part of the release in the iOS repository.
Available Date | Removal Date | iOS CDM Version |
N/A | August 13, 2019 | Less than 14.4.0 |
June 11, 2019 | June 30, 2020 | 14.4.0 or later |
The Widevine Desktop Browser CDM includes support for Verified Media Path (VMP). VMP provides a method to verify the authenticity of the browser framework. For browser deployments, this will provide an additional signal to determine if a browser-based implementation is sanctioned by Widevine.
All Widevine browser-based integrations (platforms and applications) must support VMP.
The Widevine License Service API update (allow_unverified_platform) retains current default permissive behavior.
For content providers, the proxy integration guide has been updated with information about VMP and how to issue licenses.
Current default behavior:
A license is issued if platform_verification_status is not tampered.
New default behavior:
A license is issued if platform_verification_status is verified.
There is an option to override the default behavior.
Windows and Mac OS X platforms support VMP by default.
Desktop Linux platform does not support VMP by default.
Note: The override must be enabled to issue a license to a Linux desktop.
The table below provides a list of valid browser CDMs. Widevine mandates all browser CDM implementations to stay current with Chrome stable releases to ensure that the latest updates are applied.
The CDM will only be supported with interface version 10 going forward.
Available Date | Removal Date | Chrome Version | Win | Mac | Linux | ChromeOS |
n/a | Jan 8, 2019 | 59 to 63 | 1.4.8.984 | 1.4.8.984 | 1.4.8.1000 1.4.8.1008 |
1.4.8.1000 1.4.8.1008 |
n/a | August 13, 2019 | 64 to 68 | 1.4.9.1029 | 1.4.9.1029 | 1.4.9.1029 1.4.9.1070 1.4.9.1076 1.4.9.1088 4.10.1146.0 4.10.1158.0 |
1.4.9.1029 1.4.9.1070 1.4.9.1076 1.4.9.1088 4.10.1146.0 |
Jun 4, 2019 (Chrome M75 stable) |
n/a | 75 (requires Chromium M69 or later) |
4.10.1440.18 | 4.10.1440.18 | 4.10.1440.18 | 4.10.1440.18 |
Product | Cloud (License, Provisioning, Device UX) |
Browser CDM | Android CDM | CDM Source | Server SDKs (License, Proxy) | CAS |
Release Cadence | Every 2 to 6 weeks | Every 6 weeks | Annual per Android release | End of Quarter | End of Quarter | End of Quarter |
Current Version | n/a | 4.10.1503.4 | n/a | 15.2.0 | n/a |
Widevine would like to reinforce our recommendation of using separate content keys to encrypt each video and audio track. In particular, the emphasis is on using separate content keys for each category of SD, HD, 4K (UHD1), 8K (UHD2) and AUDIO streams.
Content Type | Minimum | Recommended | Best | Store License? | Output Protection |
AUDIO | No encryption | Separate content key for audio tracks | Separate content key for audio tracks | Yes | N/A |
SD | Single content key for all tracks | Separate content key for each video group (SD, HD, UHD) |
Separate content key for each video track | Yes | N/A |
HD (720p or higher) | Yes | HDCP 1.4 | |||
UHD1 (4K) UHD2 (8K) |
Separate content key | No | HDCP 2.2 |
Widevine has three different cloud services - UAT, Staging and Production. Moving forward, we recommend that partners use the appropriate environment to validate any new changes coming to the production environment.
The Widevine release process will update Staging first. Approximately 1-2 weeks later, Production and UAT are updated simultaneously if Staging is successfully verified.
This table represents the available Widevine Cloud License Service endpoints:
Environment | Data Store | GetLicense | GetContentKey | Purpose |
UAT (Test) | Test | https://license.uat.widevine.com/cenc/getlicense/<provider> |
https://license.uat.widevine.com/cenc/getcontentkey/<provider> |
Testing environment for Device Integration and Service providers |
Staging (Test) | Production | https://license.staging.widevine.com/cenc/getlicense/<provider> |
https://license.staging.widevine.com/cenc/getcontentkey/<provider> |
Testing environment for bug fixes, and new changes. |
Production | Production | https://license.widevine.com/cenc/getlicense/<provider> |
https://license.widevine.com/cenc/getcontentkey/<provider> |
Standard production environment. |
The Production and Staging environment is accessed using the same set of service credentials (IV/Key pair), separate from UAT.
The UAT (Test) environment is accessed using a unique set of service credentials (IV/Key pair). The purpose of UAT is to enable:
Please contact us to discuss the Queries Per Second (QPS) requirements for your service. Performance or load testing must be executed on our production systems only. We will need to know the expected traffic (QPS, duration) for any testing.
Signing key credentials for access to the Widevine Cloud License Service can now be enabled to expire and new signing keys will be auto-generated. Please contact us if you are interested in enabling this function.
Available sessions in 2019:
07/02/19
Widevine recommends that our partners use the device metadata returned in a license response (or request query) to determine content distribution eligibility per respective distribution rights.
For example, it is not recommended to stream Level-1-quality content to a Level-3 platform.
There are constant updates to the device database to reflect the health of the ecosystem and the database may differ from what is being reported by the device.
Please ensure you have reviewed our Proxy Integration or License SDK documentation appropriately.
The current release of the iOS CDM is v14.4.0. With the exception of serious security issues, there are no further releases planned for v14.
Upgrading to 14.4.0 (from any previous version) will invalidate existing offline licenses. A new device certificate is part of the release in the iOS repository.
Available Date | Removal Date | iOS CDM Version |
N/A | August 13, 2019 | Less than 14.4.0 |
June 11, 2019 | June 30, 2020 | 14.4.0 or later |
The Widevine Desktop Browser CDM includes support for Verified Media Path (VMP). VMP provides a method to verify the authenticity of the browser framework. For browser deployments, this will provide an additional signal to determine if a browser-based implementation is sanctioned by Widevine.
All Widevine browser-based integrations (platforms and applications) must support VMP.
For desktop browser platforms, the Widevine license service (including the License SDK) will be updated to strictly enforce VMP.
For content providers, the proxy integration guide has been updated with information about VMP and how to issue licenses.
Current default behavior:
A license is issued if platform_verification_status is not tampered.
New default behavior:
A license is issued if platform_verification_status is verified.
There is an option to override the default behavior.
Windows and Mac OS X platforms support VMP by default.
Desktop Linux platform does not support VMP by default.
Note: The override must be enabled to issue a license to a Linux desktop.
Widevine will publish updated license APIs by March 31 - with strict enforcement taking effect by May 30 (in line with the browser CDM deprecation schedule - see section below).
The table below provides a list of valid browser CDMs. Widevine mandates all browser CDM implementations to stay current with Chrome stable releases to ensure that the latest updates are applied.
The CDM will only be supported with interface version 10 going forward.
Available Date | Removal Date | Chrome Version | Win | Mac | Linux | ChromeOS |
n/a | July 31, 2018 | 59 or earlier | 1.4.8.970 | 1.4.8.970 | 1.4.8.977 | 1.4.8.977 |
n/a | Jan 8, 2019 | 59 to 63 | 1.4.8.984 | 1.4.8.984 | 1.4.8.1000 1.4.8.1008 |
1.4.8.1000 1.4.8.1008 |
n/a | August 13, 2019 | 64 to 68 | 1.4.9.1029 | 1.4.9.1029 | 1.4.9.1029 1.4.9.1070 1.4.9.1076 1.4.9.1088 4.10.1146.0 4.10.1158.0 |
1.4.9.1029 1.4.9.1070 1.4.9.1076 1.4.9.1088 4.10.1146.0 |
Jun 4, 2019 (Chrome M75 stable) |
n/a | 75 (requires Chromium M69 or later) |
4.10.1440.18 | 4.10.1440.18 | 4.10.1440.18 | 4.10.1440.18 |
Product | Cloud (License, Provisioning, Device UX) |
Browser CDM | Android CDM | CDM Source | Server SDKs (License, Proxy) | CAS |
Release Cadence | Every 2 to 6 weeks | Every 6 weeks | Annual per Android release | End of Quarter | End of Quarter | End of Quarter |
Widevine would like to reinforce our recommendation of using separate content keys to encrypt each video and audio track. In particular, the emphasis is on using separate content keys for each category of SD, HD, 4K (UHD1), 8K (UHD2) and AUDIO streams.
Content Type | Minimum | Recommended | Best | Store License? | Output Protection |
AUDIO | No encryption | Separate content key for audio tracks | Separate content key for audio tracks | Yes | N/A |
SD | Single content key for all tracks | Separate content key for each video group (SD, HD, UHD) |
Separate content key for each video track | Yes | N/A |
HD (720p or higher) | Yes | HDCP 1.4 | |||
UHD1 (4K) UHD2 (8K) |
Separate content key | No | HDCP 2.2 |
Widevine has three different cloud services - UAT, Staging and Production. Moving forward, we recommend that partners use the appropriate environment to validate any new changes coming to the production environment.
The Widevine release process will update Staging first. Approximately 1-2 weeks later, Production and UAT are updated simultaneously if Staging is successfully verified.
This table represents the available Widevine Cloud License Service endpoints:
Environment | Data Store | GetLicense | GetContentKey | Purpose |
UAT (Test) | Test | https://license.uat.widevine.com/cenc/getlicense/<provider> |
https://license.uat.widevine.com/cenc/getcontentkey/<provider> |
Testing environment for Device Integration and Service providers |
Staging (Test) | Production | https://license.staging.widevine.com/cenc/getlicense/<provider> |
https://license.staging.widevine.com/cenc/getcontentkey/<provider> |
Testing environment for bug fixes, and new changes. |
Production | Production | https://license.widevine.com/cenc/getlicense/<provider> |
https://license.widevine.com/cenc/getcontentkey/<provider> |
Standard production environment. |
The Production and Staging environment is accessed using the same set of service credentials (IV/Key pair), separate from UAT.
The UAT (Test) environment is accessed using a unique set of service credentials (IV/Key pair). The purpose of UAT is to enable:
Please contact us to discuss the Queries Per Second (QPS) requirements for your service. Performance or load testing must be executed on our production systems only. We will need to know the expected traffic (QPS, duration) for any testing.
Signing key credentials for access to the Widevine Cloud License Service can now be enabled to expire and new signing keys will be auto-generated. Please contact us if you are interested in enabling this function.
Available sessions in 2019:
03/15/19
Widevine is part of the Google presence at NAB 2019 this year. Please reach out to meet-widevine@google.com to arrange a discussion.
The Widevine Desktop Browser CDM includes support for Verified Media Path (VMP). VMP provides a method to verify the authenticity of the browser framework. For browser deployments, this will provide an additional signal to determine if a browser-based implementation is sanctioned by Widevine.
All Widevine browser-based integrations (platforms and applications) must support VMP.
For desktop browser platforms, the Widevine license service (including the License SDK) will be updated to strictly enforce VMP.
For content providers, the proxy integration guide has been updated with information about VMP and how to issue licenses.
Current default behavior:
A license is issued if platform_verification_status is not tampered.
Current default behavior:
A license is issued if platform_verification_status is not tampered.
New default behavior:
A license is issued if platform_verification_status is verified.
There is an option to override the default behavior.
Windows and Mac OS X platforms support VMP by default.
Desktop Linux platform does not support VMP by default.
Note: The override must be enabled to issue a license to a Linux desktop.
Widevine will publish updated license APIs by March 31 - with strict enforcement taking effect by May 30 (in line with the browser CDM deprecation schedule - see section below).
The table below provides a list of valid browser CDMs. Widevine mandates all browser CDM implementations to stay current with Chrome stable releases to ensure that the latest updates are applied.
Widevine CDM for Chrome 58 (or earlier) is no longer supported.
Available Date | Removal Date | Chrome Version | Win | Mac | Linux | ChromeOS |
n/a | July 31, 2018 | 59 or earlier | 1.4.8.970 | 1.4.8.970 | 1.4.8.977 | 1.4.8.977 |
n/a | Jan 8, 2019 | 59 to 63 | 1.4.8.984 | 1.4.8.984 | 1.4.8.1000 1.4.8.1008 |
1.4.8.1000 1.4.8.1008 |
n/a | May 30, 2019 | 64 to 68 | 1.4.9.1029 | 1.4.9.1029 | 1.4.9.1029 1.4.9.1070 1.4.9.1076 1.4.9.1088 4.10.1146.0 4.10.1158.0 |
1.4.9.1029 1.4.9.1070 1.4.9.1076 1.4.9.1088 4.10.1146.0 |
Apr 23, 2019 | n/a | 69 or later | 4.10.1185.0 | 4.10.1185.0 | 4.10.1185.0 | 4.10.1185.0 |
Apr 23, 2019 (Chrome M74) | n/a | 69 or later | 4.10.1363.0 or later | 4.10.1363.0 or later | 4.10.1363.0 or later | 4.10.1363.0 or later |
Product | Cloud (License, Provisioning, Device UX) |
Browser CDM | Android CDM | CDM Source | Server SDKs (License, Proxy) | CAS |
Release Cadence | Every 2 to 6 weeks | Every 6 weeks | Annual per Android release | End of Quarter | End of Quarter | End of Quarter |
Widevine would like to reinforce our recommendation of using separate content keys to encrypt each video and audio track. In particular, the emphasis is on using separate content keys for each category of SD, HD, 4K (UHD1), 8K (UHD2) and AUDIO streams.
Content Type | Minimum | Recommended | Best | Store License? | Output Protection |
AUDIO | No encryption | Separate content key for audio tracks | Separate content key for audio tracks | Yes | N/A |
SD | Single content key for all tracks | Separate content key for each video group (SD, HD, UHD) |
Separate content key for each video track | Yes | N/A |
HD (720p or higher) | Yes | HDCP 1.4 | |||
UHD1 (4K) UHD2 (8K) |
Separate content key | No | HDCP 2.2 |
Widevine has three different cloud services - UAT, Staging and Production. Moving forward, we recommend that partners use the appropriate environment to validate any new changes coming to the production environment.
The Widevine release process will update Staging first. Approximately 1-2 weeks later, Production and UAT are updated simultaneously if Staging is successfully verified.
This table represents the available Widevine Cloud License Service endpoints:
Environment | Data Store | GetLicense | GetContentKey | Purpose |
UAT (Test) | Test | https://license.uat.widevine.com/cenc/getlicense/<provider> |
https://license.uat.widevine.com/cenc/getcontentkey/<provider> |
Testing environment for Device Integration and Service providers |
Staging (Test) | Production | https://license.staging.widevine.com/cenc/getlicense/<provider> |
https://license.staging.widevine.com/cenc/getcontentkey/<provider> |
Testing environment for bug fixes, and new changes. |
Production | Production | https://license.widevine.com/cenc/getlicense/<provider> |
https://license.widevine.com/cenc/getcontentkey/<provider> |
Standard production environment. |
The Production and Staging environment is accessed using the same set of service credentials (IV/Key pair), separate from UAT.
The UAT (Test) environment is accessed using a unique set of service credentials (IV/Key pair). The purpose of UAT is to enable:
Please contact us to discuss the Queries Per Second (QPS) requirements for your service. Performance or load testing must be executed on our production systems only. We will need to know the expected traffic (QPS, duration) for any testing.
Signing key credentials for access to the Widevine Cloud License Service can now be enabled to expire and new signing keys will be auto-generated. Please contact us if you are interested in enabling this function.
Available sessions in 2019:
12/10/18
Shaka Player Embedded is a framework that runs Shaka Player in native (C++) apps. This gives a cross-platform interface to Shaka Player allowing native apps to use the player. Your native apps can now be built with the same features, behavior, and API as your Shaka-based web apps.
https://github.com/google/shaka-player-embedded
In addition to the C++ API, we provide a high-level wrapper for iOS called ShakaPlayerView which can be used from either Objective-C or Swift.
This is an open beta. We would love to have your feedback on what we've built, but we are not yet feature-complete for v1.0. Please file issues and questions on github.
Chrome 68 introduces support for CMAF. Please see Widevine’s CMAF specification for more information.
Chrome on Android is a Widevine L1 implementation as it leverages the built-in CDM on Android OS.
The Widevine Browser CDM includes support for Verified Media Path (VMP). VMP provides a method to verify the authenticity of the browser framework. For browser deployments, this will provide an additional signal to determine if a browser-based implementation is reliable and secure.
All Widevine browser-based integrations (vendors and browser-based applications) must support VMP.
For content providers, the proxy integration guide has been updated with information about VMP and how to issue licenses.
The table below provides a list of valid browser CDMs. Widevine mandates all browser CDM implementations to stay current with Chrome stable releases to ensure that the latest updates are applied.
Widevine CDM for Chrome 58 (or earlier) is no longer supported.
Revocation Date | Chrome Browser Version(s) | CDM Version Windows | CDM Version Mac OS X | CDM Version Linux | CDM Version ChromeOS |
July 31, 2018 | 58 or earlier | 1.4.8.970 | 1.4.8.970 | 1.4.8.977 | 1.4.8.977 |
Jan 8, 2019 | 59 to 61 | 1.4.8.984 | 1.4.8.984 | 1.4.8.1000 1.4.8.1008 |
1.4.8.1000 1.4.8.1008 |
Nov 1, 2019 | 62 to 68 | 1.4.9.1029 | 1.4.9.1029 | 1.4.9.1029 1.4.9.1070 1.4.9.1076 1.4.9.1088 4.10.1146.0 4.10.1158.0 |
1.4.9.1029 1.4.9.1070 1.4.9.1076 1.4.9.1088 4.10.1146.0 |
Current | 69 or later | 4.10.1185.0 or newer | 4.10.1185.0 or newer | 4.10.1185.0 or newer | 4.10.1185.0 or newer |
Product | Cloud (License, Provisioning, Device UX) |
Browser CDM | Android CDM | CDM Source | Server SDKs (License, Proxy) | CAS |
Release Cadence | Every 2 to 6 weeks | Every 6 weeks | Annual per Android release | End of Quarter | End of Quarter | End of Quarter |
Widevine would like to reinforce our recommendation of using separate content keys to encrypt each video and audio track. In particular, the emphasis is on using separate content keys for each category of SD, HD, 4K (UHD1), 8K (UHD2) and AUDIO streams.
Content Type | Minimum | Recommended | Best | Store License? | Output Protection |
AUDIO | No encryption | Separate content key for audio tracks | Separate content key for audio tracks | Yes | N/A |
SD | Single content key for all tracks | Separate content key for each video group (SD, HD, UHD) |
Separate content key for each video track | Yes | N/A |
HD (720p or higher) | Yes | HDCP 1.4 | |||
UHD1 (4K) UHD2 (8K) |
Separate content key | No | HDCP 2.2 |
Widevine has three different cloud services - UAT, Staging and Production. Moving forward, we recommend that partners use the appropriate environment to validate any new changes coming to the production environment.
The Widevine release process will update Staging first. Approximately 1-2 weeks later, Production and UAT are updated simultaneously if Staging is successfully verified.
This table represents the available Widevine Cloud License Service endpoints:
Environment | Data Store | GetLicense | GetContentKey | Purpose |
UAT (Test) | Test | https://license.uat.widevine.com/cenc/getlicense/<provider> |
https://license.uat.widevine.com/cenc/getcontentkey/<provider> |
Testing environment for Device Integration and Service providers |
Staging (Test) | Production | https://license.staging.widevine.com/cenc/getlicense/<provider> |
https://license.staging.widevine.com/cenc/getcontentkey/<provider> |
Testing environment for bug fixes, and new changes. |
Production | Production | https://license.widevine.com/cenc/getlicense/<provider> |
https://license.widevine.com/cenc/getcontentkey/<provider> |
Standard production environment. |
The Production and Staging environment is accessed using the same set of service credentials (IV/Key pair), separate from UAT.
The UAT (Test) environment is accessed using a unique set of service credentials (IV/Key pair). The purpose of UAT is to enable:
Please contact us to discuss the Queries Per Second (QPS) requirements for your service. Performance or load testing must be executed on our production systems only. We will need to know the expected traffic (QPS, duration) for any testing.
Signing key credentials for access to the Widevine Cloud License Service can now be enabled to expire and new signing keys will be auto-generated. Please contact us if you are interested in enabling this function.
Available sessions in 2019: