禁用 HTML5 视频下载? [复制]

Posted

技术标签:

【中文标题】禁用 HTML5 视频下载? [复制]【英文标题】:Disable HTML5 video download? [duplicate] 【发布时间】:2014-06-14 04:16:45 【问题描述】:

如何禁用以 html5 格式下载视频?我不明白this 无论如何这个问题没有令人满意的答案

【问题讨论】:

正如它所说,你不能,但作为答案也说你可以用$('#videoElementID').bind('contextmenu',function() return false; );禁用右键单击。正确防止视频下载并不是一件简单的事情。也许你应该问为什么你在乎? 简短回答 - 你不能。如果用户可以下载/流式传输您的视频内容以查看它,他们也可以保存它。 @scunliffe 你真的可以!试试 user3549636 的代码,太棒了 @Quentin 当然有一个简单的方法来看看答案!! @javaseaayameradost — 答案无效。 【参考方案1】:

我不太确定您的问题,但据我了解,您想阻止人们下载您的 html5 视频。为此,您可以使用 this 方法或我的方法: 制作 2 个 cshtml 页面:page 和 ogvpage(您已将问题标记为 asp.net)。在页面中插入此代码:

var request = UrlData[0];
if(Request.Cookies["allow"] != null)
Response.Redirect(Href("VIDEO PATH", request + ".mp4"));

这在 ogvpage 中:

    var request = UrlData[0];
if(Request.Cookies["allow"] != null)
Response.Redirect(Href("VIDEO PATH", request + ".ogv"));

第 1 页将提供 mp4 视频,第 2 页将提供 ogv。打开您想要播放视频的页面并用以下内容替换您的视频元素:

    <video>
    <source src="/page/video name without extention" type="video/mp4"/>
    <source src="/ogvpage/video name without extention" type="video/ogv>
    </video>

最后把它放在页面顶部:

    if(Request.Cookies["allow"] == null)
    HttpCookie myCookie = new HttpCookie("allow");
    myCookie.Value = "true";
    myCookie.Expires = DateTime.Now.AddSeconds(5);
    Response.Cookies.Add(myCookie);

【讨论】:

@user3549636 — 给我看一个测试服务器。我会给你看一段视频。 @user3549636 — 它不起作用。开发者工具会显示真实的视频 URL。 查看网络请求,而不是 DOM。 嗯……我的第一条评论去哪儿了?有人指出,这完全取决于人们在 cookie 过期之前获取视频的速度太慢,并且通过查看重定向到的位置很容易绕过它,并指出在慢速连接时,cookie 可能在视频开始加载之前过期,导致它被“合法”用户屏蔽。 您是否在某处运行此代码,以便我们证明它不会阻止人们下载视频?

以上是关于禁用 HTML5 视频下载? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 HTML5 视频中禁用画中画模式

在android上的html5视频标签中禁用默认的丑陋海报图像

在 HTML5 视频中切换隐藏式字幕并禁用默认视频控件

如何禁用全屏 HTML5 视频的默认控件?

如何使用 HTML5 视频标签禁用搜索?

如何禁用 iOS HTML5 视频控件? [关闭]