Hello,
I'm trying to get DASH / Widevine playback working in my Roku app.
I tested the Shaka Player "Angel One" stream which has no DRM and it played back fine.
Switching to either encrypted piece of content from Shaka demo and it works fine.
I confirmed that my license server does not even receive the request.
I tried testing in the Roku Stream Tester app but I can't connect to my device with it.
I have the same piece of content working in shaka player.
I have tried a non-drm'ed piece in Roku and it works fine:
https://cdn.watchcorridor.com/videos/b8e7cf39-e9af-4797-ac2f-96cafffeab8a/manifest.mpd
I have followed the widevine tutorial and included the widevine flags in the manifest:
# DRM requires_widevine_drm=1 requires_widevine_version=1.0
contentNode = createObject("roSGNode", "contentNode") contentNode.streamFormat = "dash" contentNode.url = "https://cdn.watchcorridor.com/videos/43931791-91e4-4a93-b3a2-95aa9044e8aa/manifest.mpd" contentNode.drmParams = { keySystem: "Widevine", licenseServerURL: "https://kms.watchcorridor.com/v1/widevine?cd=eyJieXBhc3MiOiJKc2Q4MTJuRDcxMm5hc2Q4SCExMiIsInZpZGVvSWQiOjIyNzh9" } m.videoPlayer.content = contentNode
The problem seems to be one of two things:
Either the content-type is not utf-8 which was causing a problem on my license server.
OR
content-type: text/plain
should have been :
content-type: application/octet-stream
I used a cloudfront as a proxy to change the header and magically it worked.
I got the stream tester app working and it just says:
"Video Playback Error: Protected content license error."
Any ideas?
I have come to the conclusion that the player can't hit my license server.
For reasons unknown...
I can play back other DRM content on a different license server, but as soon as I switch back to my license server I get no request coming through. I have verified this so far by loading my drm keys into two different servers, works on one not the other.
I haven't been able to spot the difference between the two servers so if anyone knows how to debug the http info on the license request to see what error is being thrown that would be great.
Tomorrow I will load my content keys into the other server to see if it plays back using that server as final proof it's a license server issue.
The problem seems to be one of two things:
Either the content-type is not utf-8 which was causing a problem on my license server.
OR
content-type: text/plain
should have been :
content-type: application/octet-stream
I used a cloudfront as a proxy to change the header and magically it worked.
Could you show me how you solved it?
I have the same problem, I have tried to add the header to the httpAgent
httpAgent.AddHeader("content-type", "application/octet-stream;charset=UTF-8")
and it still does not work...