Header Translation Modification for Widevine DRM Compatibility
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current video players cannot play encrypted video assets with PSSH headers from unsupported DRM systems, such as PlayReady, on devices that only support Widevine, without re-encoding or re-encrypting the assets.
Innovation Solution
A video player and license server system that generates a Widevine header on-the-fly using available information, including a KeyID field and a ContentID field, to request a license from a Widevine license server, allowing decryption and playback even if not all necessary information is readily available.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a video player only supports Widevine DRM and receives an asset encrypted with PlayReady DRM, then the player cannot decrypt and play the video, but re-encoding or re-encrypting the asset is required to make it compatible
Solution Approach 1:
The patent introduces a header translation mechanism that acts as an intermediary between PlayReady and Widevine DRM systems. The translator converts the PlayReady PSSH header into a Widevine-compatible header format, enabling the Widevine decoder to process assets originally encrypted with PlayReady without requiring re-encoding of the video content itself.
Solution Approach 2:
The patent changes the format parameters of the PSSH header from PlayReady specification to Widevine specification. This involves transforming the header structure, field names, and data organization to match Widevine expectations while preserving the essential decryption information, thereby enabling compatibility without altering the encrypted video payload.
2Ease of operation
If the PSSH header contains only PlayReady-specific information, then Widevine license requests cannot be formed, but translating the header enables license acquisition
Solution Approach 1:
The header translator serves as an intermediary that converts PlayReady PSSH header information into Widevine-compatible format. It maps PlayReady fields to corresponding Widevine fields, ensuring that the translated header contains all necessary information for Widevine license requests while discarding PlayReady-specific elements that are not needed by Widevine.
Solution Approach 2:
The translation process extracts only the essential decryption information from the PlayReady PSSH header that is relevant to Widevine, omitting PlayReady-specific data. This extraction enables formation of valid Widevine license requests using only the necessary key identifiers and encryption parameters.
3Measurement precision
If different DRM systems use different identifier formats (KeyID vs ContentID), then license key lookup fails, but format translation enables successful key retrieval
Solution Approach 1:
The patent applies parameter changes by transforming the identifier format from PlayReady's KeyID structure to Widevine's ContentID structure. The translator modifies the identifier representation to match Widevine's expected format, enabling accurate matching with the license server's key store while maintaining the underlying cryptographic functionality.
Data Source
AI summary
There is disclosed a video player comprising a Widevine decoder, further comprising: a receiver for receiving an asset and an associated manifest file; a search engine for searching the manifest file to identify a KeyID field; a Widevine header creation module for creating a Widevine header including: a KeyID field corresponding to the identified KeyID field of the asset manifest file; and a ContentID field based on the identified KeyID field of the asset manifest file, wherein the format of the KeyID field and the created ContentID field of the created Widevine header are different; an interface for transmitting a request for a license to a Widevine license server, the request including the created Widevine header, and for receiving a Widevine license from the Widevine license server responsive to the request; and a controller for accessing video content associated with the asset using the Widevine license. There is disclosed a Widevine license server configured to: receive a license request including a Widevine header from a video player; transmit the Widevine header to a Widevine processing function; receive the ContentID field of the Widevine header from the Widevine processing function; parse the ContentID field, and in dependence on identification of the syntax of said field, using the KeyID field to obtain a Widevine license; and transmit the accessed Widevine license to the video player.


