提示:playready微软edge浏览器防截屏录屏demo
前言
PlayReady 是一种由微软开发的内容保护技术,主要用于保护数字媒体内容免受未经授权的使用。PlayReady 技术通过定义、合并和执行数字媒体的权限,确保内容的安全分发,并强制实施内容提供者选择的规则。它支持多种策略,如过期日期、安全级别和输出限制等12。
基本概念和功能
PlayReady 技术通过加密步骤来保护内容。编码器使用加密密钥对内容进行加密,然后将其分阶段传送到回放客户端(通常通过内容分发网络)。PlayReady 客户端在发现加密内容后,会向许可证服务器发送请求,服务器验证客户端身份后发放许可证。客户端使用许可证密钥解密内容,并根据许可证中指定的策略播放内容。常见的策略包括时间限制和输出保护等3。
一、教程
二、playready播放demo
test.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Encrypted Video Playback</title>
</head>
<body>
<script src="hasplayer.js"></script>
<div id="videoPlayerWrapper" style="display: block;">
<video id="videoPlayer" controls="true" src="" width="800" height="600"></video>
</div>
<script>
let videoArr = [
'https://test.playready.microsoft.com/media/profficialsite/tearsofsteel_4k.ism/manifest.mpd',
'https://dash.edgesuite.net/envivio/dashpr/clear/Manifest.mpd',
'https://test.playready.microsoft.com/smoothstreaming/SSWSS720H264/SuperSpeedway_720.ism/Manifest',
'https://test.playready.microsoft.com/smoothstreaming/SSWSS720H264PR/SuperSpeedway_720.ism/Manifest'
]
var video, context, player, manifest, laurl, videoPlayerWrapper, g_laurlOverride = "";
function init(url) {
manifest = url;
g_laurlOverride = laurl = 'https://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(persist:false,sl:150)';
if (player != null) {
player.reset();
}
video = document.getElementById("videoPlayer");
var protectionData = new MediaPlayer.vo.protection.ProtectionData(laurl, null, null);
console.log(protectionData)
var protData;
if (laurl == "") {
protData = null;
} else {
protData = {
'com.microsoft.playready.recommendation': protectionData
};
}
player = new MediaPlayer(new MediaPlayer.di.Context());
var stream = {
url: manifest,
protData: protData
};
player.init(video);
player.load(stream);
}
init(videoArr[3])
</script>
</body>
</html>
三、效果
demo播放视频–手机拍照效果
demo播放视频–微信截屏效果
playready 是绑定计算机验证的(更换IP无效),首次访问demo,24小时后demo无权限再访问
加载完不可播放效果
playready可以防截屏录屏,仅限于windows下的edge浏览器(目前验证是这样的)
四、问题
bento4 用于playready加密,待验证
总结
踩坑路漫漫长@~@