Closed Pazzeo closed 2 years ago
Testing oipf DRM on a browser emulators most likely won't work, you need a real hbbtv hardware for oipf interface.
Try running a refapp on MSEdge(windows) browser Settings/set mode mse-eme
to playback playready content.
I believe emulators do not fake a full oipf interface to catch sendDRMMessage
message, parse laurl overriding url, initialize dashjs player as a fake hardware oipf-drm player stack.
https://chrome.google.com/webstore/search/hybridtv-dev-environment https://chrome.google.com/webstore/detail/redorbit-hbbtv-emulator/mmgfafehampkahlmoahbjcjcmgmkppab?hl=en
Thanks Murmur, I had the same feeling and indeed the test with a real hbbtv hardware is working well. May I ask you if you know I could add custom headers before to call the sendDRMMessage ?
Thanks in advance Pazzeo
Unfortunately an internal oipf-drm(laurl) http request-response is a black box. Some drm license providers do require a custom http request headers such as auth tokens. You need to use a proxy script. This is not a problem on html5 dashjs-shakaplayer environment as they provide a custom header injection.
See this example to give you an idea. This script receives a playready payload from the client, use a hardcoded or ?laurl=xxxx
for real laurl address, set any headers given by ?mykey=myval
arguments or hardcode values, invoke the laurl using a curl library, return a response. Similar approach works for widevine as well.
https://github.com/HbbTV-Association/ReferenceApplication/blob/master/tools/test/laurl_pr.php
Thanks, I was looking to the same example but I hoped to find another solution. I will follow the approach of proxy script, just one confirmation. Considering the playready use-case, I will point to this proxy script (laur_ph.php) inside the xml using the field LicenseServerUriOverride, correct? My doubt if I can use relative path to the php proxy or if I need to use the full path. Example:
<LicenseServerUriOverride>
<LA_URL>https://mysite/hbbtv/laurl_pr.php</LA_URL>
</LicenseServerUriOverride>
Thanks Pazzeo
I have never used a relative LA_URL
value so cannot comment on that one and then testing dozens of hbbtv devices is too much of an effort.
You could try using <SetCustomData><CustomData>someting</CustomData></SetCustomData>
xml field with or without <LicenseServerUriOverride>
element but compatibility is drm provider specific. We have always used a proxy script for simplicity as this most likely relates to X-Something-Auth-Header: 123token456
use cases.
closed, emulators don't simulate a full oipf interface.
Hello,
I have a problem with the oipfDrm obejct which does not have the function sendDRMMessage and everytime I have the following error in console: "sendDRMMessage" is not a function. Indeed, printing the functions of the object with console.log(Object.getOwnPropertyNames(this.oipfDrm)) I have only: onDRMMessageResult and onDRMRightsError. Do you know why? I'm testing with Chrome and the extension RedOrbit
Thanks Pazzeo