1

We are implementing one video Roku channel and in that, we want to use the Widevine DRM with DASH Streaming URL to play the video. I followed the documentation given by Roku development forum but it is not working.

My current code is:

videoContent = createObject("roSGNode", "ContentNode")
videoContent.StreamFormat = "dash"
videoContent.Url = 'provided dash streaming url
' for widevide DRM
drmParams = {
    keySystem: "Widevine",
    licenseServerURL: 'provided our licenseServerURL
}
videoContent.drmParams = drmParams

HttpAgent = CreateObject("roHttpAgent")
HttpAgent.AddHeader("Authorization",AuthorizationTokenString)
m.VideoPlayer.setHttpAgent(HttpAgent)

m.VideoPlayer.content = videoContent
m.VideoPlayer.control = "play"

I referred the following link to find out the way. https://sdkdocs.roku.com/display/sdkdoc/Content+Protection#ContentProtection-Widevine-BETA https://sdkdocs.roku.com/display/sdkdoc/Content+Meta-Data#ContentMeta-Data-ExampleofconfiguringadashstreamwithWidevineDRM

Please let me know if I am missing something here and help me out solving this issue.

1 Answers1

0

Have you added this to your channel's manifest?

requires_widevine_drm=1
requires_widevine_version=1.0

In addition, when creating your video node, according to https://developer.roku.com/en-gb/docs/references/brightscript/components/rourltransfer.md

In order for your web server to perform the steps above to authenticate your Roku Streaming Player, your application needs to call the following functions before performing any https requests:

In your code it will be:

HttpAgent.SetCertificatesFile("common:/certs/ca-bundle.crt")
HttpAgent.InitClientCertificates()
HttpAgent.AddHeader("X-Roku-Reserved-Dev-Id", "")