Smart TVs

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 TVPlayReadyWidevine
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 TVs use the Tizen SDK extension for providing applications to their Smart TV platforms.

📘

Samsung provides documentation for setting up a development environment.


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 Tizen's in-built player
// create listeners for your player
const listeners = {};
const source = "<YOUR_DASH_STREAM>";
const drmParam = {
    DeleteLicenseAfterUse: true,
    LicenseServer: "https://playready-license.vudrm.tech/rightsmanager.asmx",
    CustomData: "<STUDIO_DRM_TOKEN>"
};

webapis.avplay.open(source);
webapis.avplay.setDisplayRect(0, 0, 1920, 1080);
webapis.avplay.setListener(listeners);
webapis.avplay.setDrm("PLAYREADY", "SetProperties", JSON.stringify(drmParam));
webapis.avplay.prepareAsync(function () {
    // do something
});

📘

TIP

Implementing a PlayReady solution can be done with the following demo repo.



Did this page help you?