首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多drm内容的Dash.js问题

多drm内容的Dash.js问题
EN

Stack Overflow用户
提问于 2016-09-06 16:28:40
回答 3查看 1.9K关注 0票数 1

我正在尝试使用dash.js player (2.3.0版)播放多种数字版权管理内容(Widewine,Playready)。我收集了尽可能多的信息,但我仍然无法播放内容。Dash.js播放器最近被修改了,在互联网上找到的许多代码示例不再有效,文档也没有更新。这是我当前的代码:

HTML:

代码语言:javascript
复制
<!DOCTYPE html>
<html>
<head>
   <meta charset="utf-8" />
   <script src="dash.all.debug.js"></script>
   <link rel="stylesheet" type="text/css" href="css/style.css" />
   <title>Dash Example App</title>
</head>

<body onload="testVideo()">
   <button id="playButton" type="button">Play</button>
   <div>
      <video id="vid2" data-dashjs-player controls>
      </video>
   </div>
<script src="main.js"></script>
</body>
</html>

JS:

代码语言:javascript
复制
function testVideo() {
   var AXINOM_DEMO_WV_LS = "http://drm-widevinelicensing.axtest.net/AcquireLicense";
   var AXINOM_DEMO_header = "X-AxDRM-Message";
   var AXINOM_DEMO_key = "here is the key";
   var player = new dashjs.MediaPlayer().create();
   var element = document.querySelector("#vid2");
   player.attachProtectionData({
     "com.widevine.alpha": new dashjs.MediaPlayer.vo.protection.ProtectionData(AXINOM_DEMO_WV_LS, AXINOM_DEMO_header, AXINOM_DEMO_key)
   });
   document.getElementById("playButton").click(function() {
     var videoUrl = 'http://media.axprod.net/TestVectors/v6-MultiDRM-MultiKey/Manifest_1080p.mpd';
     player.initialize(element, videoUrl, true);
   });
};

因此,我在控制台中得到“未捕获的保护:无法读取未定义的属性‘TypeError’”。我已经根据下面链接的文档准备了protectionData部件。

http://vm2.dashif.org/dash.js/docs/jsdocs/MediaPlayer.vo.protection.ProtectionData.html

谁能为我提供一个在dash.js中应该如何处理多drm内容的工作示例,或者解释一下我应该在代码中修改什么?

提前谢谢。

EN

回答 3

Stack Overflow用户

发布于 2016-09-07 14:06:21

有一个DRM quick start example on GitHub在Axinom DRM许可服务器上使用了这个确切的内容,完美地反映了您的场景。

您还可以找到可以在浏览器中查看的live deployment of the example project,以便快速查看用户视点。

如果在阅读该指南后仍有不清楚之处,请编辑您的问题,我将编辑此答案以详细说明缺少的部分!

票数 2
EN

Stack Overflow用户

发布于 2016-09-07 19:13:41

您链接到的文档是针对1.5.1版的。

v2.3.0的文档可以在http://cdn.dashjs.org/v2.3.0/jsdoc/index.html上找到

票数 0
EN

Stack Overflow用户

发布于 2021-02-11 15:32:37

更新的JS

代码语言:javascript
复制
function testVideo() {
var AXINOM_DEMO_WV_LS = "http://drm-widevinelicensing.axtest.net/AcquireLicense";
var AXINOM_DEMO_key = "here is the key";
var player = new dashjs.MediaPlayer().create();
var element = document.querySelector("#vid2");
player.setProtectionData({
    "com.widevine.alpha": {
        "serverURL": AXINOM_DEMO_WV_LS,
        "httpRequestHeaders": {
            "X-AxDRM-Message": AXINOM_DEMO_key
        };
    };
});
document.getElementById("playButton").click(function() {
    var videoUrl = 'http://media.axprod.net/TestVectors/v6-MultiDRM-MultiKey/Manifest_1080p.mpd';
    player.initialize(element, videoUrl, true);
 });
};
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39344156

复制
相关文章

相似问题

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