Page tree

Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.


  1. Microsoft Playready
  2. Google Widevine

Opera based Vewd based browsers may support both PlayReady and Widevine, depending on capabilities of the platform integration. So your application needs to be tested on each device to make sure DRM playback works on that device. Unfortunately, our 4.x based Emulator does not provide PlayReady or Widevine support at the moment and we recommend testing your application on an Android based device (for example the NVidia Shield and Google Nexus TV) to test these out. Clear Key, however, is always supported internally by the Vewd Core and you can test it on any platform. This information is summarized in the table below:

 Clear KeyPlayReadyWidevine
Opera Vewd TV Emulator 4.x(tick)(error) Not supported (error) Not supported
Nvidia Shield/Nexus Player(tick)(tick) Up to security level 2000(tick) Up to security level L1
Other devices(tick)(error) Dependent on device

(error) Dependent on device


Instead of manually initiating streaming and DRM playback methods (like getting keys, licenses, fetching video chunks, etc) in JavaScript,  the Vewd Core provides the option of handling this automatically on your behalf for PlayReady videos. The idea is to pass in a manifest file which holds all the information about your audio/video content, and have Opera Vewd automatically handle fetch, decode and playback. Devices that do have support for this feature, have support for the following manifest files:


In addition to these streaming technologies, the Opera Vewd Media Streaming Player Module also supports using PlayReady Web Initiator. This is described in the next section.

PlayReady Web Initiator

Devices that support the Opera Vewd Media Streaming Player Module also support PlayReady Web Initiator, where a license acquisition manifest file is passed as the source of a <source> element. This manifest file in return contains a link to a Microsoft Smooth Streaming (MSSS) manifest file along with the license acquisition information. Below is a simple test case with 2 files: index.html and LicenseAcquisition.xml which can be used to test PlayReady Web Initiator support on your device:


 ProblemPossible Causes
1License request is not generated by CDM
  • DRM initialization data may not be correct or not supported by CDM
2License request is rejected by server
  • CDM may not support required security level or secure clock (PlayReady)

  • License server requires IP for specific location

  • License server requires additional information (ex for PlayReady CustomData)

3License is rejected by CDM
  • Not supported by CDM license (ex for PlayReady - secure clock is rewired but not supported) 
4License is acquired correctly but video doesn't play (no decode error)
  • DRMBackend didn't send KeyStatusesChangeEvent with valid KID (ex. KID as GUID is wrong)  

  • In JavaScript MediaKeys are not assigned to MediaElement

  • If other then MSE streaming is used then check if device supports the Opera Vewd Media Streaming Player Module or TVSDK Vewd Core version is older then 4.9.0.

  • If other then MSE streaming with PlayReady DRM is used then check if DRM initialization data in stream is correct (application may require automatic license acquisition)