首页 > 解决方案 > 有没有办法防止在 HTML5 视频播放器中下载视频

问题描述

我想阻止通过右键单击、开发者工具和浏览器扩展下载视频。有没有办法做到这一点?

很多网站已经这样做了,但是怎么做呢?

标签: videodownloadhtml5-video

解决方案


您可以禁用任何 HTML5 元素上的“上下文菜单”,但您应该知道,如果有人真的想下载您的视频,这对他们来说是一个相当简单的障碍。

此处提供有关禁用上下文菜单的信息:https ://developer.mozilla.org/en-US/docs/Web/API/Element/contextmenu_event

为视频修改的示例如下所示:

noContext = document.getElementById('noContextVideo');

noContext.addEventListener('contextmenu', e => {
  e.preventDefault();
});
<p>The context menu has been disabled on this video.</p>

<video id="noContextVideo" width="320" autoplay controls height="240">
  <source src="http://clips.vorwaerts-gmbh.de/VfE_html5.mp4"
            type="video/mp4">
</video>

<p>But it has not been disabled on this one.</p>

<video width="320" autoplay controls height="240">
  <source src="http://clips.vorwaerts-gmbh.de/VfE_html5.mp4"
            type="video/mp4">
</video>

最终,如果您的浏览器能够播放视频,那么有人可以使用一些基本的编程或常用工具下载它。

解决这个问题的常用方法是加密视频并安全地共享加密密钥,无论是以某种方式私下还是使用 DRM 系统。

即使这样,您也需要评估您要保护的内容——例如,如果它是带有商业“机密”的公司内部视频,将相机对准屏幕会以足够的质量复制它,从而轻松“泄露”这些机密。


推荐阅读