Integrate Studio DRM Standalone with your Smart TV apps.
Safeguard your media in your Smart TV apps with Studio DRM
The following table lists the DRM solutions supported by each Smart TV manufacturer.
Smart TV | PlayReady | Widevine |
---|---|---|
LG | ✓ | ✓ |
Roku | ✓ | ✓ |
Samsung (Tizen) | ✓ | ✓ |
The following sections explain how to use Studio DRM with Smart TVs manufactured by LG, Roku, and Samsung.
LG
It is not possible to use the
mpd.inline_drm
setting in the playout profiles for LG TV streams, this will result in playback issues.
LG TVs use the WebOS SDK to provide applications to their Smart TV platforms. These WebOS applications are HTML5, Javascript applications that incorporate a library that permit access to TV functionality.
DRM playback can be configured through one of the following approaches:
- Using an existing player integration with dash, shaka, JW Player, or your own video provider
- Using LG's Luna Service API
Within the LG documentation you are shown a snippet of XML you are to provide to the luna DRM service.
function getPlayReadyMessage(manifest, token) {
return '<?xml version="1.0" encoding="utf-8"?>'
+ '<PlayReadyInitiator xmlns= "http://schemas.microsoft.com/DRM/2007/03/protocols/">'
+ '<SetCustomData>'
+ '<CustomData>' + token + '</CustomData>'
+ '</SetCustomData>'
+ '</PlayReadyInitiator>';
});
}
let XMLMessages = getPlayReadyMessage(manifestString, "VUDRM TOKEN");
Roku
Roku provides documentation for setting up a development environment.
Roku devices (including streaming players and RokuTVs) use the Roku OS. This operating system was purpose-built for streaming content.
Roku's DRM & content protection explains how to configure DRM on Roku devices. We strongly recommend using DASH with PlayReady on Roku devices
customData = { "<STUDIO-DRM-TOKEN>" };
contentNode = createObject("roSGNode", "contentNode")
contentNode.streamFormat = "dash"
contentNode.url = "<MPEG-DASH-URL>"
contentNode.encodingType = "PlayReadyLicenseAcquisitionAndChallenge"
contentNode.encodingKey = "<PlayReadyLicenseServerUrl>" + "%%%" + customData
Samsung
Samsung Smart TVs from 2015 and onwards use the Tizen Operating System. This allows you to develop and deploy an application.
Samsung provides documentation for setting up a development environment.
Standalone Studio DRM playback can be achieved by using the following items:
- A cloud-hosted JW Player
- An MPEG-DASH Stream URL
- A Studio DRM Token
- A Web Application
The example below shows how to set up a simple Web Application HTML page for playback with Widevine or PlayReady.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
<meta name="description" content="JW Platform with Studio DRM on Tizen" />
<title>JW Platform with Studio DRM on Tizen</title>
<script type="text/javascript" src="<cloud-hosted-jw-player>"></script>
</head>
<body>
<div id="player-div"></div>
<script type="text/javascript">
var mpegDashStreamUrl = "<mpeg-dash-stream>";
var studioDrmToken = "<studio-drm-token>";
jwplayer("player-div").setup({
"playlist": [{
"sources": [{
"file": mpegDashStreamUrl,
"drm": {
"widevine": {
"url": "https://widevine-license.vudrm.tech/proxy",
"headers": [{
"name": "X-VUDRM-TOKEN",
"value": studioDrmToken
}]
},
"playready": {
"url": "https://playready-license.vudrm.tech/rightsmanager.asmx",
"headers": [{
"name": "X-VUDRM-TOKEN",
"value": studioDrmToken
}]
}
}
}]
}],
"autostart": "viewable"
});
</script>
</body>
</html>
Older versions of Samsung Smart TVs use an older version of the Tizen OS and not all features are supported. See the Samsung Specifications for more information.