防止html5视频通过inspect元素被下载

prevent html5 video from being downloaded through inspect element

本文关键字:元素 下载 inspect html5 视频 防止      更新时间:2023-09-26

我们在项目中有一个模块,其中有一个上传mp4视频的选项,我们使用html5视频标签播放器播放视频。

我们面临的问题是视频的隐私。当时,用户可以很容易地下载我们的文件,要么通过右键单击save as video,要么通过inspect元素从视频标签的src中获取url。为了做到这一点,我研究了很多,并通过youtube视频获得了关于blob url的想法,这些视频无论如何都无法访问。我试着研究blob-url,为我的视频url创建了一个,但它们仍然可以访问,可以很容易地下载。就像youtube blob-url一样,它不起作用。我还研究了这个问题的第一个答案,通过它我得到了关于youtube缓冲视频机制的想法,以及youtube的inspect元素中显示的blob url是如何恶搞的。

最重要的是,我想知道我们如何欺骗我们的网站url,以便没有人可以通过inspect元素下载它。我们有可能这样做吗?怎么做?任何与此相关的链接请与我分享。我已经努力学习了很多,但仍然缺少一些东西。

youtube实际上遵循什么机制来创建blob url并保存其视频?

因为你的视频必须到达用户的设备,所以如果用户想要拦截和存储文件,你实际上没有办法阻止。

这个问题的典型解决方案是加密文件,并且只与想要查看它的人共享加密视频的密钥。一个"坏"用户仍然可以下载视频文件,但如果没有正确的密钥将无法播放。

如何获得用户的密钥可以非常简单(你直接通过一些单独的通信渠道,如电子邮件告诉他们),或者使用某种DRM方法更复杂。

DRM是有争议的(参见下面的Firefox讨论链接),但它正在与HTML5 EME(加密媒体扩展)一起被纳入标准,因此正在成为主流。EME本质上允许浏览器请求浏览器/设备中可信的(由视频制作者)元素来解码和播放加密的视频。请在下面的第二个链接中查看EME的良好概述。

  • https://blog.mozilla.org/blog/2015/05/12/update-on-digital-rights-management-and-firefox/
  • http://www.html5rocks.com/en/tutorials/eme/basics/