Encrypted Media Extensions API
What is it
此功能仅在安全上下文 (HTTPS) 中、某些或所有支持的浏览器中可用。
提供了用于控制内容播放的接口,这些内容受数字限制管理方案的约束。
Why to use it
在视频平台或某些信息分享平台开发中,可能会需要对页面信息进行隐私限制,控制其分享。
How to use it
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>EME API Screenshot Protection Example</title>
</head>
<body>
<video id="video" controls>
Your browser does not support the video tag.
</video>
<script>
const video = document.getElementById('video');
const videoSource = 'path_to_encrypted_video.mp4'; // 加密视频的路径
const licenseServerUrl = 'https://license-server-url.com/getLicense'; // 许可证服务器的URL
const initDataType = 'cenc'; // 初始化数据类型(例如 'cenc')
const initData = new Uint8Array([/* initialization data here */]);
// 设置视频源
video.src = videoSource;
// 请求媒体密钥系统访问权限
video.addEventListener('encrypted', (event) => {
const mediaKeySystemConfig = [{
initDataTypes: [initDataType],
videoCapabilities: [{
contentType: 'video/mp4; codecs="avc1.42E01E"',
robustness: 'SW_SECURE_DECODE' // 配置防截屏选项
}]
}];
// 开始播放视频
video.play();
</script>
</body>
</html>
评论区