首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在ExoPlayer或类似的Dash.js中使用DRM许可证

如何在ExoPlayer或类似的Dash.js中使用DRM许可证
EN

Stack Overflow用户
提问于 2022-06-10 14:01:27
回答 1查看 495关注 0票数 0

我有一位客户,他几年前要求我提供一个用于播放流媒体视频的Android应用程序。他拥有视频的链接和DRM许可证的url,其中包括这样一个对象:

代码语言:javascript
复制
    "n": {
    "drm_license_url": "\thttps://sp-supplier.supplier.com/?deviceId=SoMeALphaNUmericakStuFF=",
    "drm_scheme": "widevine",
    "icon": "https://blogger.googleusercontent.com/img/some-logo.png",
    "name": "ANY NAME",
    "uri": "https://supplier-supplier-sl.supplier.com/live/c6eds/VIDEO/SA_Live_dash_enc_2A/SOMEVIDEO.mpd"
  },

在阅读了一些ExoPlayer库之后,我成功地播放了这些视频。

现在他也想在网络上播放同样的视频,所以读了一些之后,我意识到我需要使用dash.js或类似的MPD / m3u0播放器,后者也接受DRM许可证保护。我已经阅读了制作它的文档,但问题是,为了通过DRM许可证,我必须创建以下内容:

代码语言:javascript
复制
var protData = {
        "com.widevine.alpha": {
            "serverURL": "https://drm-widevine-licensing.axtest.net/AcquireLicense",
            "httpRequestHeaders": {
                "X-AxDRM-Message": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ2ZXJzaW9uIjoxLCJjb21fa2V5X2lkIjoiYjMzNjRlYjUtNTFmNi00YWUzLThjOTgtMzNjZWQ1ZTMxYzc4IiwibWVzc2FnZSI6eyJ0eXBlIjoiZW50aXRsZW1lbnRfbWVzc2FnZSIsImZpcnN0X3BsYXlfZXhwaXJhdGlvbiI6NjAsInBsYXlyZWFkeSI6eyJyZWFsX3RpbWVfZXhwaXJhdGlvbiI6dHJ1ZX0sImtleXMiOlt7ImlkIjoiOWViNDA1MGQtZTQ0Yi00ODAyLTkzMmUtMjdkNzUwODNlMjY2IiwiZW5jcnlwdGVkX2tleSI6ImxLM09qSExZVzI0Y3Iya3RSNzRmbnc9PSJ9XX19.FAbIiPxX8BHi9RwfzD7Yn-wugU19ghrkBFKsaCPrZmU"
            },
            priority: 0
        }

(资料来源:https://reference.dashif.org/dash.js/latest/samples/drm/widevine.html)

现在,我知道我必须在键serverUrl中传递相同的许可URL,但是关于头文件,我不知道必须传递给键X-AxDRM-Message的值,因为我没有这个值,客户也没有。

我尝试使用dash提供的预构建播放器进行测试,在其中您可以选择params,包括DRM许可证,但是得到了以下错误:

DRM:许可程序错误!--com.widevine.alpha更新,XHR错误。状态为"“(0),readyState为4

我的问题是:

  • 我需要从DRM供应商那里获得更多信息才能在网上运行相同的视频吗?
  • 有任何方法可以用我已经拥有的信息创建protData对象吗?
  • ,我可以这样做吗?还是我使用了错误的库?

谢谢!马蒂亚斯

EN

回答 1

Stack Overflow用户

发布于 2022-06-24 19:14:12

该服务很可能需要用户身份验证和/或在许可请求中包含一个令牌。

此功能很可能内置到应用程序中,因此它在身份验证后包含令牌。在这种情况下,您不能简单地复制和粘贴许可证请求。

为了进行更多的探索和验证,Microsoft提供了关于DRM集成的良好文档,不仅为它自己的PlayReady DRM,而且也为Widevine提供了良好的文档。

您可以在它们的页面上看到令牌身份验证的示例:

如果您阅读了附带的文档,就可以看到令牌在各种场景中的使用情况:https://learn.microsoft.com/en-us/azure/media-services/previous/media-services-protect-with-playready-widevine

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72575578

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档