我们的项目中有一个模块,可以选择上传 mp4 视频,我们使用 html5 视频标签播放器播放视频。
问题 我们面临的是视频的隐私。当时,用户可以通过右键单击“另存为视频”或从 src 中获取 url 来轻松下载我们的文件检查元素的视频标签。 为此,我研究了很多,并通过 youtube 视频了解了 blob url,无论如何都无法访问。 我试着研究 blob-url,为我的视频 url 创建了一个,但它们仍然可以访问并且可以轻松下载。就像 youtube blob-url 它不起作用。 我也研究过这个问题question第一个答案,通过它我得到了关于缓冲视频的 youtube 机制的想法以及在 youtube 的检查元素中显示的 blob url 如何是一个恶搞。
最重要的是我想知道我们如何欺骗我们的网站 url,以便没有人可以通过 inspect element 下载它。我们有可能这样做吗?如何做?任何与此相关的链接请与我分享。我已经尝试学习很多但仍然缺少一些东西。
youtube 实际上遵循什么机制来创建 blob url 和保存其视频?
最佳答案
由于您的视频必须到达用户的设备,因此实际上您无法阻止用户拦截和存储文件(如果他们愿意的话)。
此问题的典型解决方案是对文件进行加密,并只与您要查看的人共享加密视频的 key 。 “坏”用户仍然可以下载视频文件,但如果没有正确的 key 将无法播放。
将 key 提供给用户的方式可以非常简单(通过一些单独的通信 channel (如电子邮件)直接告诉他们),也可以使用某种 DRM 方法更加复杂。
DRM 是有争议的(请参阅下面链接中的 Firefox 讨论),但它已被纳入 HTML5 EME(加密 Meida 扩展)的标准中,因此正变得越来越主流。 EME 实质上允许浏览器请求浏览器/设备中受信任的(由视频制作者)元素来解码和播放加密视频。在下面的第二个链接中查看对 EME 的良好概述。
关于javascript - 防止通过检查元素下载html5视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31780760/