Customize playback by adding the desired customization parameters directly after core identification parameters in the playback URL’s query string.
Key Information
-
Test your customizations by setting a test player URL’s query string to the desired customization parameters.
-
Please verify that all query string parameters are set to URL-safe values.
-
Customization parameters are shown in blue font in the following sample query string:
?tc=1&exp=1358341863&rn=4114845747&ct=a&cid=ea...&rays=dcba&pk=myapp&...&sig=dm13...
-
It is strongly recommended to sign your playback URL to ensure its integrity. Please include customization parameters when signing your playback URL.
General Parameters
This section describes all customization parameters that are not specific to ad decision servers or Studio DRM.
Parameter | Description |
---|---|
ak | Identifies the name of the application key used to decrypt the digital signature. Upon including this parameter, the signed playback URL will only work with an application key. Use the syntax 1.ApplicationKeyName (e.g., ak=1.mykey ) or mykey (legacy). |
allowts | Live Streaming Only Allows a ts parameter to be appended to a signed playback URL for video scrubbing through a video. Key information: Appending a ts parameter to a signed playback URL has the following effect:
allowts=1 |
dash_subtitles_merge | Set to 0 to display only the language tracks embedded within the asset. Learn more.Example: If an asset contains English and an ad contains Spanish, the viewer may only select English for the main content and Spanish for the ad. |
ddp | Set to 1 to include Dolby Digital Plus (DD+) tracks in the manifest file. If missing, only AAC tracks will be served. DD+ setup also requires encoding audio as DD+ via the audio_dolby_# parameter (Live Slicer) or the dolby switch (Slicer).Example: ddp=1 |
delay | Determines artificial latency in seconds. Adjust for time zones or reduce latency. Use this parameter to adjust for time zones by introducing an artificial delay (e.g., delay=7200) or to reduce total latency (e.g., delay=20). Default value: -1 . By default, latency is approximately 60 to 66 seconds. Learn more about Live Linear and Live Events.Example: Shift playback by two hours: delay=7200 for a two-hour shift. |
dmm.schemas.break | Set to break_info to add ad break information Dynamic Manifest Markers to a virtual linear playlist. Example: dmm.schemas.break=break_info |
dmm.schemas.top | Adds a Dynamic Manifest Marker (DMM) to the top of a manifest file. Example: dmm.schemas.top=first_segment_url timeline Set to timeline to add a timeline DMM to the top of a manifest file for Smartstart-enabled assets. Add timeline metadata for any virtual linear playlist by combining this parameter with the pltl query string parameter . Learn more.Example: dmm.schemas.top=timeline |
euid | Identifies the current user with a custom ID (i.e., external user ID). This ID is passed to ad decision systems and included in many logging messages. Should be 100 characters or fewer, using alphanumeric characters, underscores, or dashes. Example: euid=145XnM_0bHt2hZIGw8twtl3ccpjVF5rRVj6VJ_ZgqvtY2KmH |
expand | Identifies a comma-separated list of expansion parameters to shorten the playback URL and facilitate parameter adjustments. Sign the playback URL using the expand parameter name / value pair instead of the set of parameters that it represents. An expansion parameter shortens the length of the playback URL, hides parameters from viewers, and facilitates the adjustment of parameters across multiple live channels, live events, or assets. Configure expansion parameters From the Parameter Expansion page, go to the Parameter option, define a name for the expansion parameter, then click Save. Unsupported parameters linearv , jsonp , pbs , skip_drm , oid , start and stop for channel schedules, stageplayer . Example A typical playback URL consists of the following parameters: rays=efgabcd&delay=7200&ad= myads&ad.access_level= 1&ad.flex=0&ad.adUnit=midroll&... Instead of always specifying the above parameters, create the following expansion parameters:
expand=ad_01,playback_01 |
forcecic | DASH Live Streams Only Set to 1 to always prepend a codec initialization clip to the manifest file. Learn more.Example: forcecic=1 |
fpuseki | Apple FairPlay Streaming Only Set to 1 to minimize content key requests. Requires encoding profile changes and player update. Learn more. Example: fpuseki=1 |
geo.country.allow | Requires Geoblocking Restricts access to requests that originate from one or more specified countries. Requests that originate from all other countries will be denied access. Learn more Syntax: ?geo.country.allow=Country Code [,Country Code 2,Country Code n] |
geo.country.deny | Requires Geoblocking Denies access to requests that originate from one or more specified countries. Access is restricted to requests that originate from other countries. Learn more. Syntax: ?geo.country.deny=Country Code [,Country Code 2,Country Code n] |
hlsver | Determines the minimum HLS version required by the player. Maximum value is 7. You should only set this parameter when your player requires a feature that is unavailable in a lower version. Promote backward compatibility by setting this parameter to the lowest HLS version that supports the desired feature. Example: Set to 7 for latest feature support. |
ifo | Set to 1 to include a playlist containing only I-frames, useful for trick mode.
ifo=1 |
maxfps | Limits the maximum frames per second (FPS) in the manifest. Example: maxfps=59 to exclude rays with 60 FPS or higher. |
needscors | Determines CORS support for the manifest response. 0 allows requests from any site. 1 leverages CORS with specific headers. Default values: HLS 0 , DASH 1 . |
opaqueid | Uniquely identifies a viewer. Use this parameter along with the up.max_concurrent_sessions parameter to limit the number of concurrent sessions that may be launched by the current playback URL. Legitimate viewers may be prevented from playing your content when the same identifier is shared between multiple viewers. Example: opaqueid=joe-smith-001 |
pltl | Set the Playlist Timeline parameter to 1 to add a timeline DMM for assets in a virtual linear playlist. This could lead to a large timeline when your playlist contains multiple assets or when there are many ad breaks between assets. This parameter requires the dmm.schemas.top query string parameter. Learn more.Example: dmm.schemas.top=timeline&pltl=1 |
plts | Set the Playlist Timestamp parameter to specify a seek position in seconds from the start of the playlist. Only content counts towards seek times. Specifically, ad breaks are excluded from this calculation. This parameter is exempt from digital signatures. Example: plts=300 to seek 5 minutes into the playlist. |
ptid | Tags playback with an organizational group or category. This case-sensitive value may consist of up to 32 alphanumeric characters, dashes, and underscores. Although tracking data is logged, it is currently inaccessible. However, it will eventually be exposed via log data. If this parameter has not been defined in the playback URL, then content playback will be tracked under the unknown category. Example: ptid=MyChannel |
rates | Restricts playback to rays within a specified range of bitrates. Syntax: rates={Low}-{High} Omit either the starting or ending value to extend the range to 0 or infinity, respectively.Example: rates=600- to restrict to rays 600 Kbps or higher. This parameter is ignored when the rays parameter has been defined in the playback URL. Use one or more of the following parameters: rates , resolution . Playback will be restricted to the set of rays that satisfy all of the parameters defined in the playback URL. Restricting rays may adversely impact adaptive streaming capabilities. Additionally, you may inadvertently break playback when rays are unavailable due to the parameters defined in the playback URL. d or e ray. |
rays | Restricts playback to specified rays. Specify the letter corresponding to each desired ray.
rays=dcba to prevent access to rays higher than d . |
repl | Identifies the replacement plugin to be loaded. |
resolutions | Restricts playback to rays within a specified range of resolutions.
resolutions={Low}-{High} Example: resolutions=720- to restrict to rays 720p or higher. |
show_dash_subtitles | DASH Only Set to imsc to enable fragmented TTML (IMSC1) for DASH streams. Example: show_dash_subtitles=imsc |
show_vtt | HLS Live Streams Only Set to 1 to enable WebVTT for HLS live streams. Example: show_vtt=1 |
smartcic | DASH Live Streams Only Set to 1 to prepend a codec initialization clip only when the main content contains WebVTT subtitles. Example: smartcic=1 |
srs | DASH Only Determines how media segment start times and duration are represented in a DASH manifest. Valid values:
templatetimeline Default (DASH VOD Streams): template |
sstart | Sets the starting point for playback in slice numbers (0-based). Content prior to the starting slice will be excluded from playback. This parameter is incompatible with live channel playback. Example: sstart=15 to start playback at the 16th slice. |
sstop | Sets the stopping point for playback in slice numbers (0-based). Example: sstop=20 to stop playback after the 21st slice. |
start | Sets the playback start offset in seconds, rounded down to the nearest slice boundary. Example: start=95.3 to start at the slice containing the 95.3 second. |
staticomsdk | Set to 1 to insert a static JSON payload into the manifest for ad verification workflow testing. Content prior to the starting slice will be excluded from playback. This parameter is incompatible with live channel playback.Example: staticomsdk=1 |
stop | Sets the playback stop time in seconds, rounded up to the nearest slice boundary. The specified offset will be rounded up to the nearest slice boundary. Content after this offset will be excluded from playback. This parameter is incompatible with live channel playback. Example: stop=110.9 to stop playback after the slice containing the 110.9 second. |
subtitle_placeholders_off | Set to 1 to display only available language tracks, overriding the dash_subtitles_merge parameter. Learn more.Example: subtitle_placeholders_off=1 If your asset contains an English track and an ad contains a Spanish track, then a viewer may only select English when viewing your main content and Spanish when viewing that ad. |
thumbsray | Set to 1 to include trick play thumbnails in the manifest file. Trick play thumbnails, which add visual cues to a scrub bar, require the use of Adaption Sets with @contentType="image" within the MPD. Alternatively, you may include trick play thumbnails for an entire playback session by passing the thumbsray query string parameter when requesting the Preplay API. This feature is compatible with the following players:
thumbsray=1 |
timedmeta.events.ads | Inserts tracking events from the ad response into the manifest file. Use a comma to delimit each event. Learn more. Valid values are: videoview | slotimpression | defaultimpression | start | firstquartile | midpoint | thirdquartile | complete Example: timedmeta.events=complete,midpoint |
timedmeta.extensions.ads | Inserts custom VAST extensions from the ad response into the manifest file. Use a comma to delimit each extension. Learn more. Example: The following parameter adds complete and midpoint tracking event data to the JSON payload included in the manifest file: timedmeta.extensions=waterfall,geo |
timedmeta.schemas.ads | Set to omsdk to insert ad viewability data into the manifest file. Update your player to send this data to an ad verification system via the Open Measurement Interface Definition (OMID). Learn more.Example: timedmeta.schemas.ads=omsdk |
ts | Sets the start time for playback in Unix time. This feature cannot be used any farther back in time than the schedule and assets for the linear stream exist. Example: ts=1368529129 for playback starting at 2013-05-14 10:58:49 UTC |
up.max_concurrent_sessions | Limits the number of concurrent sessions to the specified value. Specify the opaqueid parameter to limit the number of concurrent sessions by viewer.Example: Limit the number of concurrent sessions for the viewer identified by the opaqueid parameter to 2: up.max_concurrent_sessions=2 |
Ad Parameters
Ad-specific customization parameters are organized according to the following categories:
General Ad Parameters
Ad parameters that apply to all ad decision servers are described below.
Parameter | Description |
---|---|
ad | Identifies the ad configuration that determines the ad decision server from which ads will be obtained during playback.
ad=fw2 |
ad._debug | Tags a playback session for the purpose of tracking ad insertion data. Set this parameter to the desired tag. Example: ad._debug=campaign2 |
ad.breakend | Prevents ads from exceeding an ad break’s duration. Valid values are: chop, drop Passing this parameter also affects how ad break duration is calculated. Specifically, it reduces the duration of the ad break by the number of seconds that the current playback session is behind playback delay. Learn more about ad break duration adjustments. chop Switches over to content upon reaching an ad break’s adjusted duration.
Syntax: ad.breakend=chop drop Drops ads that exceed the adjusted ad break duration. If the ad break’s requested duration has been exceeded, then the stream will cut back over to content. Otherwise, slate will be played until the end of the ad break. Slate may extend slightly beyond an ad break. Learn more. Syntax: ad.breakend=drop |
ad.caid | Multiple asset playback URLs only Defines the asset ID that will be sent to an ad decision server. Default behavior: Our system sends the ID of the first asset listed in the playback URL to the ad decision server. Use this parameter to send a different asset ID to the ad decision server. |
ad.cping | Set this parameter to 1 to enable the Ping API. Example: ad.cping=1 |
ad.flex | Set this parameter to the number of seconds that an ad break may extend beyond an ad break’s duration. Use this parameter to introduce flexibility for the enforcement of ad.breakend’s chop and drop modes. Syntax: ad.flex=Seconds Default value: 4 seconds Learn more. |
ad.kv | Defines the key-value pairs that will be sent to the ad decision server. Use commas to separate keys and values. Example: ad.kv=key1,value1,key2,value2 |
ad.Parameter | Pass ad decision server-specific parameters to the ad decision server. This parameter requires the ad parameter. The ad. prefix is removed from the name that is passed to the ad decision server when acquiring ads for playback. In the following example, our system will pass the account and ctxid parameters to the ad decision server. Example: ad.account=vz1234&ad.ctxid=MA_99_174 |
ad.prbd | Set this parameter to the name of the Prebid configuration that identifies your Prebid server and provides bidding instructions. Learn more. Syntax: ad.prbd=Prebid Config Name Example: ad.prbd=myPrebidServer |
is_ad | Manually forces an asset to be reported as an ad in the asset_play_started event (push logs). This parameter is unnecessary when the system automatically inserts ads. This parameter is useful when ads are managed and inserted by an external system, since it allows our push logs to reflect that the asset was played back as an ad. Example: Report playback as an ad in the push logs: is_ad=1 |
Google Ad Manager
FreeWheel
Studio DRM Parameters
Apply a Studio DRM policy to a playback session by including one or more of the following customization parameters in the playback URL:
-
DRM Policy Configuration
Apply a set of predefined policies to a playback session by setting thedrm_policy_name
parameter to the name of the desired Studio DRM policy configuration.Specifying a Studio DRM policy configuration that does not exist will prevent playback.Example:...&drm_policy_name=widevine1
-
Individual Policy Settings
Apply individual policy settings to a playback session by specifying each desired FPS or DASH (Widevine and PlayReady) policy setting.All specified Studio DRM policies will be applied to the playback session. However, explicitly defined policy settings (e.g., &ck=1) take precedence over a Studio DRM policy configuration (drm_policy_name).Example:...&ck=1&drm_optional=1
Apply a general Studio DRM policy via the drm_policy_name parameter and then define more granular policies for specific scenarios (e.g., allow a device that doesn’t support DRM to play low resolution streams).
Apply DRM Policy to Playback Session
Apply a DRM policy using one of the following methods (ordered from most to least amount of precedence):
-
Explicit Policy Settings
- Specify individual policy settings to tailor a playback session to meet a specific need.
- Explicitly defined settings take precedence over a Studio DRM policy configuration and the default DRM policy.
-
Studio DRM Policy Configuration
- Take advantage of a Studio DRM policy configuration to quickly apply a predefined set of DRM policies to a playback session.
- A Studio DRM policy configuration takes precedence over the default DRM policy.
-
Default Policy Settings
- All DRM policy settings have a default value.
- This default DRM policy is only applicable when a Studio DRM policy configuration or a conflicting policy setting has not been defined.
Disable Studio DRM
Use the following parameters to disable Studio DRM.
Query String Parameter | Name | Description |
---|---|---|
drm_optional | Disable Studio DRM | Disables Studio DRM protection. Key information:
Syntax: &ck=1&drm_optional=1 Sample Usage: Include the following query string parameters to restrict playback on a device that doesn’t support DRM to the two lowest quality rays: ...&ck=1&drm_optional=1&rays=ba All playback URLs for Studio DRM-protected content should require a digital signature to prevent URL tampering. |
Apple FairPlay Streaming (FPS)
In addition to FPS policy settings, you may also reuse content keys via the fpuseki parameter.
Define one of the following scopes when specifying FPS policy settings:
-
All Tracks: Apply a policy setting to all tracks by excluding the track type from the query string parameter.
Example:...&fp.hdcp=0
-
Track-Specific: Apply a policy setting to a specific tracks by indicating the track type within the query string parameter.
Syntax:fp.{TrackType}.{Policy}
Valid values for{TrackType}
are:- sd: Applies the policy setting to standard definition (576p or less) tracks.
- hd: Applies the policy setting to high-definition (720p and 1080p) tracks.
- uhd1: Applies the policy setting to 4K ultra-high-definition video tracks.
- uhd2: Applies the policy setting to 8K ultra-high-definition video tracks.
Example:
...&fp.hd.hdcp=0
Track-specific policy settings take precedence over policy settings that apply to all tracks.
Use the following query string parameters to define a FPS policy.
Query String Parameter | Description |
---|---|
fp.airplay fp.TrackType.airplay | Determines whether playback will be allowed over AirPlay. Valid values are:
|
fp.avadapter fp.TrackType.avadapter | Determines whether playback may be mirrored via an Apple Lightning AV Adapter. Valid values are:
|
fp.hdcp fp.TrackType.hdcp | Determines whether High-bandwidth Digital Content Protection (HDCP) enforcement is required. Valid values are:
|
fp.lease_duration fp.TrackType.lease_duration | Determines the length of time, in seconds, during which playback will be allowed. Playback will stop upon the expiration of the lease. Key information:
|
fp.persistence fp.TrackType.persistence | Determines whether offline playback is allowed. Valid values are:
|
fp.playback_duration fp.TrackType.playback_duration | Determines the length of time, in seconds, for which playback will be valid. Key information:
|
fp.rental_duration fp.TrackType.rental_duration | Determines the length of time, in seconds, during which the Content Key is valid prior to initial playback. Playback may only be initiated with a valid Content Key. Key information:
|
DASH
DASH policy settings are organized into the following categories:
All DASH DRM Solutions
The following query string parameters are applicable to all DASH Studio DRM solutions.
Query String Parameter | Name | Description |
---|---|---|
ck | Cleartext Key | Disables DRM by passing the Content Key in cleartext. Decryption will take place outside of a Content Decryption Module (CDM). Valid values are: 1: All players. Our system will check the User-Agent request header to identify the requesting player and then use this information to determine how the Content Key will be presented to the player. 4: Exoplayer only. Our system will present the Content Key in a format recognizable by Exoplayer. Key information: A prerequisite for this parameter is that Studio DRM must be disabled on the desired content. Please also include the drm_optional parameter in the query string. Request cleartext Content Keys from the following URL: https://content.uplynk.com/ck Once DRM is disabled on a playback session, the player must request a cleartext Content Key instead of a license. This means that you must use the above URL instead of a license acquisition URL. Syntax: &ck=1&drm_optional=1 |
noadredir | Disable Ad Redirects | VOD Only By default, ads within VOD content will be represented as a list of segments. This allows ad impressions to be injected via redirects on every other segment. Disable this functionality through this parameter. Key information: Audio and video slices for VOD ad content are represented within the manifest file through a list of segments (SegmentList). If your player does not support this type of manifest, then you must disable ad redirects. This will generate a manifest file that contains a set of templates (SegmentTemplate) for VOD ad content. Disable ad redirects by performing either one of the following actions: Pass this parameter. Leverage our Ping and Preplay APIs to track ad impressions. Syntax: &noadredir=1 |
nielsen | Nielsen | Advertises to the DASH player that the manifest may contain Nielsen data encoded within the emsg box. This parameter is required when the manifest contains Nielsen data. Please also set the Nielsen parameter within the Live Slicer configuration file. Syntax: &nielsen=1 |
Google Widevine
Define a Widevine DRM policy by including parameters that define:
- Content Key Specs: Define what content keys will be returned.
- Policy Overrides: Define the conditions under which playback will be allowed.
Content Key Specs
Use content key specs to define the set of Content Keys that will be returned to the player.
Syntax:
rmp.content_key_specs.{Track Type}.{Restriction}={Value}
Each of the above variables are described below.
-
Track Type: Identifies the type of track (i.e., SD, HD, AUDIO, UHD1, UHD2, ALL_VIDEO, and ALL) to which this policy will be applied.
Learn more.If you would like to specify all video tracks, please useALL_VIDEO
instead ofALL VIDEO
. -
Restriction and Value: Defines the policy that will be applied to the track identified above.Both the name of the restriction and its value are case-sensitive.
Each restriction is described below.
Restriction | Description |
---|---|
required_output_protection.cgms_flags | Determines whether Copy Generation Management System (CGMS) is required. Do not specify this parameter for desktop browser platforms. Valid values for cgms_flags are: CGMS_NONE: A single generation of copies has been made, but no additional copying is allowed. COPY_FREE: Allows unlimited copies. COPY_ONCE: Allows a single generation of copies. COPY_NEVER: Disallows copying. Default value: CGMS_NONE |
required_output_protection.disable_analog_output | Determines whether analog output is allowed. Valid values are: True: Disallows analog output. False: Allows analog output. Default value: False |
required_output_protection.hdcp | Determines whether HDCP is required. Valid values for hdcp are: HDCP_NONE: HDCP is not enforced. HDCP_V1: Playback requires a client that supports HDCP 1.x or higher. HDCP_V2: Playback requires a client that supports HDCP 2.0 or higher. HDCP_V2_1: Playback requires a client that supports HDCP 2.1 or higher. HDCP_V2_2: Playback requires a client that supports HDCP 2.2 or higher. HDCP_NO_DIGITAL_OUTPUT: Playback is only allowed on an internal display. Playback over HDCP is disallowed. Default value: HDCP_NONE |
required_output_protection.hdcp_srm_rule | Determines whether the device will be required to support a specific version of a System Renewability Message (SRM). Valid values are: HDCP_SRM_RULE_NONE: The device is not required to have a specific version of the SRM. CURRENT_SRM: Disallow the Content Key if the device has an older SRM and cannot support SRM updates. Default value: HDCP_SRM_RULE_NONE |
security_level | Determines the minimum security requirements for performing cryptography, content decoding, and media operations. Valid values are: 1: Requires software-based white-box cryptography. 2: Requires software-based white-box cryptography and an obfuscated decoder. 3: Requires a hardware-backed Trusted Execution Environment (TEE) for key material and cryptography. 4: Requires a hardware-backed TEE for cryptography and content decoding. 5: Requires a hardware-backed TEE for cryptography, content decoding, and all compressed and uncompressed media operations. Security levels 3, 4, and 5 require HDCP to be set via required_output_protection.hdcp. Default value: 1 |
Policy Overrides
Use the following parameters to determine the conditions under which playback will be allowed.
Syntax:
rmp.policy_overrides.{Override}={Value}
Each policy override is described below.
Override | Description |
---|---|
can_persist | Determines whether offline playback is allowed. Valid values are: True: Offline playback is allowed. False: Offline playback is disallowed. Default value: True |
can_play | Determines whether playback is allowed. This parameter is required when defining policy overrides. Default value: True |
license_duration_seconds | Determines the length of time, in seconds, during which content playback is allowed. Key information: This window starts from the time at which the license was issued. This parameter must be specified in order to limit playback by license. No further decryption is allowed upon license expiration. Default value: 86400 |
playback_duration_seconds | Determines the length of time, in seconds, for which a license will be valid after its initial use. This parameter should only be specified for offline or license renewal scenarios. Default value: 0 |
rental_duration_seconds | Determines the length of the window, in seconds, during which a license will be valid prior to its initial use. Key information: This window starts from the time at which the license was issued. Once a license is used, rental duration is not used or enforced. Please use either playback or license duration to further limit playback. This parameter should only be specified for offline scenarios. Default value: 0 |
Microsoft PlayReady
Define one of the following scopes when specifying PlayReady policy settings:
-
All Tracks: Apply a policy setting to all tracks by excluding the track type from the query string parameter.Example:
...&pr.can_persist=true
-
Track-Specific: Apply a policy setting to a specific tracks by indicating the track type within the query string parameter.Syntax:
pr.{TrackType}.{Policy}
Valid values for TrackType are:- audio: Applies the policy to audio tracks.
- sd: Applies the policy setting to standard definition (576p or less) tracks.
- hd: Applies the policy setting to high-definition (720p and 1080p) tracks.
- uhd1: Applies the policy setting to 4K ultra-high-definition video tracks.
- uhd2: Applies the policy setting to 8K ultra-high-definition video tracks.
Example:...&pr.hd.can_persist=true
Track-specific policy settings take precedence over policy settings that apply to all tracks.
Use the following query string parameters to define a PlayReady policy.
Query String Parameter | Description |
---|---|
pr.analog_video_protection_level | Determines the minimum security requirements for the client’s analog video outputs. Valid values are:
|
pr.can_persist pr.TrackType.can_persist | Determines whether offline playback is allowed. Valid values are: True | False Default value: False |
pr.compressed_digital_audio_protection_level | Determines the minimum security requirements for passing compressed digital audio to the client’s digital audio outputs. Valid values are:
This security level is solely provided for testing purposes. Default value: 100 |
pr.digital_video_protection_level pr.TrackType.digital_video_protection_level | Determines the level of digital video protection that will be required. Valid values are:
The pr.require_hdcp_type_1 parameter determines which version of HDCP will be enforced.Default value: 100 |
pr.license_begin_seconds | Determines the number of seconds prior to the current playback request for which the license will be valid. A license cannot be used prior to the specified time. Set this parameter to 0 to make the license valid any time prior to the playback request. The purpose of this parameter is to account for time differences between our servers and the client. For example, a playback request will be denied if this parameter is set to 60 seconds and the client’s time is 4 minutes behind our server’s time. Default value: 3600 By default, playback will be allowed when a client’s time is up to an hour behind our server’s time. |
pr.license_duration_seconds pr.TrackType.license_duration_seconds | Determines the length of time, in seconds, during which content playback is allowed. This countdown starts upon license creation. No further decryption is allowed upon license expiration. Default value: 86400 |
pr.playback_duration_seconds pr.TrackType.playback_duration_seconds | Determines the length of time, in seconds, for which playback will be valid. This countdown starts after initial playback. Use this parameter when setting up a policy for offline playback or license renewal. Playback is unlimited when playback duration has not been specified. Default value: 0 |
pr.playenabler pr.TrackType.playenabler | Allows license delivery where it would normally be disallowed. Set this parameter to the Play Enabler GUID that defines the additional condition under which license delivery will be allowed. The purpose of this parameter is to facilitate testing. For example, by default, playback on a virtual machine is restricted. Pass B621D91F-EDCC-4035-8D4B-DC71760D43E9 to allow playback of constrained resolution on an unknown output (e.g., VM).Syntax: pr.playenabler={Play Enabler GUID} View Microsoft’s Compliance Rules to learn more about Play Enablers. |
pr.realtime_expiration | Determines whether the current playback session will be stopped upon license expiration. Valid values are: True: Upon license expiration, the current playback session will be stopped. False: The current playback session will continue if it was started prior to license expiration. Default value: True |
pr.require_hdcp_type_1 pr.TrackType.require_hdcp_type_1 | Determines the version of HDCP that will be enforced on digital video outputs when pr.digital_video_protection_level is set to 250 or higher. Valid values are: True: HDCP content type 1 (HDCP version 2.2 or later) is enforced. Streams may not be transmitted by the HDCP repeater to HDCP 1.x-compliant devices or HDCP2.0-compliant repeaters. False: Allows any version of HDCP. Default value: False |
pr.securitylevel pr.TrackType.securitylevel | Determines the minimum security requirements for the client device. Valid values are: 150: No security. This security level is solely provided for testing purposes. 2000: Use this security level for hardened devices and applications consuming commercial content. Requires the protection of Assets, Client Secrets, or Content Secrets via software or hardware. 3000: Use this security level for hardened devices with the highest security consuming the highest quality of commercial content. Devices Only: Requires the protection of Assets, Client Secrets, and Content Secrets via hardware using a Trusted Execution Environment (TEE) for the processor. Default value: 150 |
pr.uncompressed_digital_audio_protection_level | Determines the minimum security requirements for passing uncompressed digital audio to the client’s digital audio outputs. Valid values are: 100: No security. This level allows the client to pass uncompressed digital audio to digital audio outputs without restrictions. This security level is solely provided for testing purposes. 250: A client may pass uncompressed digital audio to digital audio outputs when either of the following conditions are true: HDCP is engaged on HDMI, DisplayPort, or MHL. SCMS is engaged and set to CopyNever. 300: A client may only pass uncompressed digital audio to digital audio outputs when HDCP is engaged on HDMI, DisplayPort, or MHL. 301: Prevents a client from passing uncompressed digital audio to digital audio outputs. Default value: 100 |
pr.version | Determines the version of the PlayReady license that will be requested. Valid values are: 2: Generates a manifest file that contains an Adaption Set for each requested key. 3: Supports grouping requests for multiple keys into a single license request. Generates a manifest file where all Representations reside within a single Adaption Set. Default value: 3 |