2017-06-24 10 views
0

Je souhaite lire une vidéo protégée à l'aide de dash.js. J'utilise dash v2.0 et c'est complètement différent de v1. le code ci-dessous qui fonctionne dans v1 ne fonctionne plus dans v2.Comment configurer protectionController/ProtectionData dans dash.js v2

$(function() { 
    var AXINOM_DEMO_WV_LS = "http://axpr-wv-fe.cloudapp.net:8080/LicensingService"; 

    var context = new Dash.di.DashContext(); 
    var player = new MediaPlayer(context); 
    player.startup(); 
    player.attachView(document.querySelector('#videoPlayer')); 
    player.attachProtectionData({"com.widevine.alpha": new MediaPlayer.vo.protection.ProtectionData(AXINOM_DEMO_WV_LS)}); 

    $('#playButton').click(function() { 
     var videoUrl = 'http://level3-cdn.axprod.net/demo/manifestprot.ism/.mpd'; 
     player.attachSource(videoUrl); 
    }); 
}); 

J'ai essayé de le réécrire à nouveau dans v2

$(function() { 
    var AXINOM_DEMO_WV_LS = "http://axpr-wv-fe.cloudapp.net:8080/LicensingService"; 
    var player = dashjs.MediaPlayer().create(); 
    player.initialize(document.querySelector("#videoPlayer"),"", true); 
    player.attachProtectionData({"com.widevine.alpha": new ProtectionData(AXINOM_DEMO_WV_LS)}); 
    $('#playButton').click(function() { 
     var videoUrl = 'http://level3-cdn.axprod.net/demo/manifestprot.ism/.mpd'; 
     player.attachSource(videoUrl); 
    }); 
}); 

Mais il ne fonctionne pas. une erreur est lancée. Je ne sais pas comment définir correctement ces données de protection car il n'y a pas de tutoriel sur la façon de le faire. bien vouloir aider.

Répondre

1

J'ai finalement réussi à résoudre le problème. Dans dash.js version 2, c'est la façon dont protectionData est défini.

var AXINOM_DEMO_WV_LS = "http://axpr-wv-fe.cloudapp.net:8080/LicensingService"; 
var drmKeySystem ="com.widevine.alpha"; 
var protData ={drmKeySystem:{serverURL: AXINOM_DEMO_WV_LS}}; 

var player = dashjs.MediaPlayer().create(); 
player.initialize(document.querySelector("#videoPlayer"),"", true); 
player.setProtectionData(protData);