DRM Policies

You can view specific DRM policies or all policies associated with your account.

List DRM Policies

[GET]/v2/drm_policies

View a DRM Policy

[GET]/v2/drm_policies/drm_policy_id

Properties

The following table describes all properties that can be associated with a label.

Property Description Required?
id

The ID of the policy.

Type: String

Example: "86ff97ae7c81495eacbd9a01feff0f22"

Yes
name

Name of a DRM policy. Non-Latin characters must be UTF-8 and URI-encoded.

Type: String

Example: "HD Policy"

Yes
playready_policy

Specifies properties for the PlayReady policy.

Type: Container

Default: none

Yes
analog_video_extension_guid

Specifies an extended technology that is allowed to play protected analog content, such as Macrovision. The GUID specifying the extended technology and configuration data value are comma separated.

Type: String

Example: C3FD11C6-F8B7-4d20-B008-1DB17D61F2DA,3

Default: none

Parent: playready_policy

No
expiration_date

The license duration, in seconds.

Type: Integer

Example: 120

Default: 60

Parent: playready_policy

No
compressed_digital_video

Specifies the minimum bit rate at which compressed digital video is protected.

Type: Integer

Example: 500

Default: none

Parent: playready_policy

No
analog_video

Specifies the minimum bit rate at which analog video is protected.

Type: Integer

Example: 150

Default: none

Parent: playready_policy

No
uncompressed_digital_video

Specifies the minimum bit rate at which uncompressed digital video is protected.

Type: Integer

Example: 300

Default: none

Parent: playready_policy

No
flashaccess_policy

Specifies properties for the Flash Access policy.

Type: Container

Default: none

Yes
minimum_security_level
Specifies the security level required to access content. (Usually security level in DRM systems specifying the difference between development and production environments.)
Note: This property should always either be set to 10000 or be left blank.

Type: Integer

Example: 10000

Default: none

Parent: flashaccess_policy

No
caching_duration

Specifies how long a license will be cached on the client's device, in seconds. If the client has a cached license that hasn't expired, it will be used instead of obtaining a new license from Flash Access.

Type: Integer

Example: 3600

Default: licenses are cached indefinitely

Parent: flashaccess_policy

No
analog_output_protection

Specifies the type of analog output protection to use.

Type: String

Valid Values: no_playback | no_protection | required_acp | required_all | required_cgmsa | use_if_available_acp | use_if_available_all | use_if_available_cgmsa

Example: no_playback

Default: none

Parent: flashaccess_policy

No
digital_output_protection

Specifies the type of digital output protection to use.

Type: String

Valid Values: no_playback | no_protection | required | use_if_available

Example: no_protection

Default: none

Parent: flashaccess_policy

No
widevine_modular_policy

Specifies properties for the Widevine Modular policy.

Type: Container

Default: none

No
can_play

Indicates that playback of the content is allowed.

Type: Boolean

Example: true

Valid Values: true or false

Default: false

Parent: widevine_modular_policy

No
can_persist

Indicates that the license may be persisted to non-volatile storage for offline use.

Type: Boolean

Example: true

Valid Values: true or false

Default: false

Parent: widevine_modular_policy

No
can_renew

Indicates that renewal of the license is allowed. If true, the duration of th elicense can be extended by heartbeat.

Type: Boolean

Example: true

Valid Values: true or false

Default: false

Parent: widevine_modular_policy

No
license_duration_seconds

Indicates the time window for this specific license. A value of 0 indicates that there is no limit to the duration.

Type: Integer

Example: 0

Valid Values: number of seconds

Default: 0

Parent: widevine_modular_policy

No
rental_duration_seconds

Indicates the time window while playback is permitted. A value of 0 indicates that there is no limit to the duration.

Type: Integer

Example: 0

Valid Values: number of seconds

Default: 0

Parent: widevine_modular_policy

No
playback_duration_seconds

Indicates the viewing window of time once playback starts within the license duration. A value of 0 indicates that there is no limit to the duration.

Type: Integer

Example: 0

Valid Values: number of seconds

Default: 0

Parent: widevine_modular_policy

No
renewal_server_url

Indicates the URL to which all heartbeat (renewal) requests for this license will be sent. This field can only be used if can_renew is true.

Type: String

Example: ""

Valid Values: valid URL

Default: none

Parent: widevine_modular_policy

No
renewal_delay_seconds

Indicates how many seconds after license_start_time before renewal is first attempted. This field can only be used if can_renew is true.

Type: Integer

Example: 0

Valid Values: number of seconds

Default: 0

Parent: widevine_modular_policy

No
renewal_retry_interval_seconds

Indicates the delay, in seconds, between subsequent license renewal requests. This field can only be used if can_renew is true.

Type: Integer

Example: 0

Valid Values: number of seconds

Default: 0

Parent: widevine_modular_policy

No
renewal_recovery_duration_seconds

Indicates the window of time in which playback is allowed to continue while renewal is attempted but unsuccessful due to backend problems with the license server. A value of 0 indicates that there is no limit to the duration. This field can only be used if can_renew is true.

Type: Integer

Example: 0

Valid Values: number of seconds

Default: 0

Parent: widevine_modular_policy

No
renew_with_usage

Indicates that the license is sent for renewal when usage starts. This field can only be used if can_renew is true.

Type: Boolean

Example: true

Valid Values: true or false

Default: true

Parent: widevine_modular_policy

No
fairplay_policy

Specifies properties for the FairPlay policy.

Type: Container

Default: none

No
airplay

Indicates if playback is allowed when using AirPlay with Apple devices.

Type: Boolean

Example: true

Valid Values: true or false

Default: true

Parent: fairplay_policy

No
adapter

Indicates if playback is allowed when using a digital adapter to project content on an external screen.

Type: Boolean

Example: true

Valid Values: true or false

Default: true

Parent: fairplay_policy

No

Example

This example returns settings for the 86ff97ae7c81495eacbd9a01feff0e10 policy:

[GET]/v2/drm_policies/drm_policy_#

Backlot returns a response similar to the following:

{  
   "id":"86ff97ae7c81495eacbd9a01feff0e10",
   "name":"HD Policy",
   "playready_policy":{  
      "analog_video_extension_guid":"C3FD11C6-F8B7-4d20-B008-1DB17D61F2DA,3",
      "expiration_date":"60",
      "compressed_digital_video":"500",
      "analog_video":"150",
      "uncompressed_digital_video":"300"
   },
   "flashaccess_policy":{  
      "analog_output_protection":"use_if_available_all",
      "digital_output_protection":"required",
      "minimum_security_level":10000
   },
   "widevine_modular_policy":{
      "can_play":true,
      "can persist":true,
      "can_renew":true,
      "rental_duration_seconds":0,
      "playback_duration_seconds":0,
      "license_duration_seconds":0,
      "renewal_recovery_duration_seconds":0,
      "renewal_server_url":"",
      "renewal_delay_seconds":0,
      "renewal_retry_interval_seconds":0,
      "renew_with_usage":true
    },
    "fairplay_policy":{ 
       "airplay":true, 
       "adapter":true
      }
   }        
}
Note:

Try out the code samples using your account credentials in the Ooyala Scratchpad. For information about using the Scratchpad, see The Scratchpad.

해당 내용이 도움 되었습니까?