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

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

【问题讨论】:

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

标签: javascript asp.net html video html5-video


【解决方案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 可能在视频开始加载之前过期,导致它被“合法”用户屏蔽。
  • 您是否在某处运行此代码,以便我们证明它不会阻止人们下载视频?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-02
相关资源
最近更新 更多