三星智能电视使用PlayRead流式传输MPEG DASH

时间:2016-10-21 10:52:02

标签: video-streaming samsung-smart-tv drm mpeg-dash playready

我尝试在Orsay TV(Tizen之前的三星电视)上播放流(使用PlayReady的MPEG-DASH)。未加密的DASH工作正常。我试图严格按照DRM Today手册(即我的DRM提供商)获取许可证,但播放没有开始,一段时间后我得到渲染错误,或根本没有流。 CustomData是根据DRM提供程序规范生成的,它适用于其他平台和设备。由于DRM提供商的手册,它的base64散列到customDataBase64。

<object id="pluginPlayerSef" classid="clsid:SAMSUNG-INFOLINK-SEF" style="border:none; width:0px;height:0px;"></object>
<object id="pluginDRM" classid="clsid:SAMSUNG-INFOLINK-SEF"></object>

var playerPlugin = document.getElementById("pluginPlayerSef");
var streamUrl = '...' + '|COMPONENT=HAS';
var laUrl = 'https://.../RightsManager.asmx';
var customData = {'userId': '...', 'sessionId': '...', 'merchant': '...'};
var customDataBase64 = 'eyJ1c2...';

var xmlData = '<?xml version='1.0' encoding='utf-8'?>' +
'<PlayReadyInitiator xmlns='http://schemas.microsoft.com/DRM/2007/03/protocols/'>' +
    '<LicenseServerUriOverride>' +
        '<LA_URL>' + laUrl + '</LA_URL>' +
    '</LicenseServerUriOverride>' +
    '<SetCustomData>' +
        '<CustomData>' + customDataBase64 + '</CustomData>' +
    '</SetCustomData>' +
'</PlayReadyInitiator>';

playerPlugin.Execute("InitPlayer", streamUrl);
playerPlugin.Execute("SetPlayerProperty", 3, customDataBase64, customDataBase64.length);
playerPlugin.Execute("SetPlayerProperty", 4, laUrl, laUrl.length);
playerPlugin.Execute('StartPlayback', 0);                  

我还尝试了另一种方法来实现它:

var pluginDRM = document.getElementById("pluginDRM");
pluginDRM.Open("PlayReadyDrm", "1.000", "PlayReadyDrm");
pluginDRM.Execute("ProcessInitiatorsFromXml", xmlData, xmlData.length);
pluginDRM.Execute("Start", streamUrl);  
playerPlugin.Execute("InitPlayer", streamUrl);
playerPlugin.Execute('StartPlayback', 0);

我尝试使用和不使用pluginDRM.Execute(&#34; Start&#34;,streamUrl)

行代码

至于上面的组成部分,我尝试了所有这些:

var streamUrl = '...' + '|COMPONENT=HAS';
var streamUrl = '...' + '|COMPONENT=WMDRM';
var streamUrl = '...' + '|COMPONENT=HAS|DRM_TYPE=PLAYREADY';
var streamUrl = '...' + '|COMPONENT=HAS|DRM_TYPE=WMDRM';    

我做错了什么?请帮忙。

0 个答案:

没有答案