防止html5视频通过inspect元素被下载
prevent html5 video from being downloaded through inspect element
我们在项目中有一个模块,其中有一个上传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/
- CKEditor Widget-阻止编辑可编辑元素本身
- 如何设置html元素填充的动画
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 如何在生成下载文件时显示加载动画
- 使用clickToggle并在单击另一个元素时关闭元素
- 单击时将焦点更改为元素
- 表追加而不附加最后一个元素
- 剑道UI下载列表:如何动态添加新元素
- 如何将SVG元素和Div放入图像中,以便用户可以下载
- 使用Javascript将Html5画布元素下载为具有文件扩展名的图像
- 使用HTML元素中的数据创建Javascript Blob().然后将其作为文本文件下载
- 使用Javascript下载文件后更改元素
- 防止html5视频通过inspect元素被下载
- 在一个库被添加/下载并以承诺的方式执行后,是DOM中的元素
- 如何在不使用<a>具有下载属性的元素或服务器
- 可下载SVG与Canvas元素
- 是否可以让按钮开始下载 dom 元素
- 如何将使用图像服务提供的图像作为背景的画布元素转换为可下载图像
- htmlchor元素下载在Typescript中不工作