是否可以防止从网站下载视频

2023-11-24

是否可以防止网站上的视频被下载?

虽然用户可以使用某些硬件设备录制视频,但不可能使用某些链接下载视频 - 就像谷歌视频一样。

例如,如果我的系统中有 Real One Player,我可以选择下载视频;这应该受到限制。


是的。永远不要向任何人展示它。一旦你这样做了,所有的赌注都会被取消(对于不那么偏执的答案,请参阅最后一段)。

这是复制保护的常见问题:您无法以任何方式区分合法用户和对手(因为他们甚至可能是同一个人)。

编辑:回复“我的用户可以观看该视频。但他们不能下载该视频” 让我们尝试拆解这个:

  • 用户在播放器的“播放”按钮上单击鼠标
  • 点击声会通过计算机的操作系统到达您的播放器
  • 播放器通过网络向您的服务器发送请求“向我发送视频”
  • (根据定义,这要求请求通过用户计算机具有的任何网络堆栈)
  • 服务器如果确定它是合法玩家,就会开始向用户的计算机发送数据。
  • (根据定义,这意味着用户的计算机正在“下载”数据)
  • *数据通过网络进入计算机(尽管在这个阶段捕获数据对于NSA比用户)
  • *操作系统处理较低的数据层(即“这是一个数据包,从 $yourserver 到我,应该传递到 $yourapp”)
  • *操作系统将数据传递给请求它的应用程序
  • 播放器接收数据
  • *播放器将数据转换为图像序列(也称为视频)和音轨
  • *播放器将图像发送到操作系统的显示子系统,或将其保存到磁盘
  • *显示系统将图像转换为屏幕可以理解的格式
  • *图像通过电缆传输到屏幕上
  • *图像显示在屏幕上(此时它们以光的形式退出计算机)
  • 光线到达用户的眼睛

您的视频可以在标有 * 的每个点处被截取(和/或修改)(尽管副本的质量可能会降低,尤其是在捕获模拟输出时)。除非您能以某种方式消除其中每一个(祝最后一个好运),否则您所能做的就是使数据捕获/转换更加复杂。整个行业都是围绕这些“弱点”建立的(谷歌“流撕裂”你自己看看)。

您可以使用各种 DRM 技术使捕获变得复杂,但最终,数据流必须在某个地方变成模拟视频和模拟音频(也称为光和声音)。

However,如果你不关心确定的用户will绕过你的保护,如果足以保护 90% 用户的视频,我相信你提到的 Real 格式确实有一些标志“不允许保存”。这将禁用播放器中的“另存为”选项(即上面的“或将其保存到磁盘”选项);对于大多数用户来说,这将是一个足够大的障碍。任何更多的内容都可能会给 100% 的用户带来不便和愤怒,同时不会提供更多的保护。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否可以防止从网站下载视频 的相关文章

  • 如何使用 PHP 获取列中的所有值?

    我一直在到处寻找这个问题 但仍然找不到解决方案 如何从 mySQL 列中获取所有值并将它们存储在数组中 例如 表名称 客户 列名称 ID 名称 行数 5 我想获取此表中所有 5 个名称的数组 我该如何去做呢 我正在使用 PHP 我试图 SE
  • 禁用/启用用户访问/下载,但允许 php 编辑 - 使用 chown 和 chmod

    我想 move uploaded files到某个文件夹 比方说http localhost myproject protected 并且 PHP 应该能够rm mv cp 里面的一切protected 例如 启用 禁用用户对任何文件的访问
  • 如何移动 Zend_Layout 的“视图”

    通常它会是这样的结构 application modules somemodule views scripts index index phtml 我如何将其移动到 application templates somemodule temp
  • 将字符串的第一个字母大写(前面带有特殊字符) - PHP

    我想将字符串大写 例如 hello 我希望我的函数返回 Hello 我尝试过使用 regex 和 preg match 但没有运气 这是我之前的问题 与此相关 preg match 正在匹配两个字符 而它应该只匹配一个字符 https st
  • 从 Symfony2 中的 http_basic auth 注销

    每当我去 admin logout 我已正确重定向到项目的根目录 但在访问时仍处于登录状态 admin 因为没有提示我输入凭据 这是我的配置 安全 yml security firewalls admin area pattern admi
  • php 中 php.ini 的 log_errors 和 error_log

    我正在尝试通过 php ini 更改 php ini 中的设置 我的问题是 当出现错误时 它不会放入文件 error log txt 中 那么我做错了什么 这是我的代码 Settings for php ini ini set sessio
  • 使用 ImapMailbox.php 按日期对 Imap 邮箱进行排序

    我有一个客户支持系统 它会在收到电子邮件时创建电子邮件 我曾经使用后缀和特殊配置来获取电子邮件以添加额外的功能 例如 我想包含从电子邮件发送的附件 系统不会执行此操作 而是创建一封带有主题的电子邮件 因此我可以通过匹配主题来包含附件 我使用
  • PHP 函数 iconv 字符编码从 iso-8859-1 到 utf-8

    我正在尝试将字符串从 iso 8859 1 转换为 utf 8 但是当我找到这两个字符 和 时 函数返回 一个字符 是一个里面有两个数字的正方形 我该如何解决这个问题 我认为您正在寻找的编码是Windows 代码页 1252 http en
  • Laravel 5 配置语言环境,不起作用

    已完成的修改 on 配置 应用程序 php locale gt env APP LOCALE en fallback locale gt en on env APP LOCALE pt 我也复制了 资源 lang en文件到 资源 lang
  • 使用 CodeIgniter 加载视图文件夹外的视图

    我需要从以下范围之外加载视图 this gt load gt view 这似乎是从base application views目录 如何从外部访问视图 application 目录 我想我将不得不延长CI Loader class这是最好的
  • WooCommerce 自定义字段 - 多选

    我在 WooCommerce 的结账页面添加额外的字段 我可以添加文本框等基本字段 但需要添加一个 多 选择框 用户可以在其中选择多个项目 我已经弄清楚如何通过代码添加选择框 如下所示 add action woocommerce afte
  • PHP FTP_PUT 上传到目录

    我正在自学PHP 一本名为 PHP完全参考 PHP5 2 的书 我目前正在使用第 11 章 FTP 上传 删除 makedir 等 但遇到了一些本书未涵盖的问题 根据我的教科书 这是上传到服务器的简单代码 connect ftp conne
  • PHP 多个 Ajax 请求:第一个请求阻止第二个请求

    我在一页上有 2 个 ajax 请求 我运行了第一个请求并单独启动了第二个请求 但第二个在第一个运行后停止工作 第一次结束后继续 第一个请求需要很长时间 大约 30 60 秒 此时我需要第二个请求来显示日志第一个请求发生的情况 我尝试使用
  • CakePHP Unfilled 单选按钮在提交时更改为不需要的值

    我有这个表单元素 form gt input ChecklistResponseGovernmentInfo driversLicenseIsOnline array type gt radio empty gt true options
  • 使用活动目录对 Intranet 站点上的用户进行身份验证

    我建立了一个 内联网 站点 它有自己的登录系统 用户注册为新用户 并使用其上的用户名 密码登录该站点 但是 现在我想扩展它 让 Intranet 站点使用现有的 ActiveDirectory 进行身份验证 这就是我正在寻找的 前进 当用户
  • 根据重复值对 PHP 数组进行排序

    我有一个包含重复值的数组 我想对数组进行排序 以便重复次数最多的值出现在行中的第一个 这是我的数组的示例 array 1 2 3 2 1 2 2 我想对该数组进行排序 以便它根据重复项的数量对自身进行排序 如下所示 array 2 1 3
  • Google Drive V3、Google API 客户端 2.0 - 批量上传失败

    使用 Google Drive V3 和 API v2 0 主分支进行批量上传失败 我已经修改了https github com google google api php client blob master examples batch
  • 使用 yaml 路由描述时如何在运行时获取 Symfony2 中的路由名称?

    在这里你可以找到我的n关于 Symfony2 的第一个问题 我正在与一个分页捆绑 https github com makerlabs PagerBundle wiki使用中提供的路由名称routing yml文件 从我的角度来看 这种方法
  • Nginx 安全链接模块不适用于 php 文件,但适用于静态文件

    我在用http nginx org en docs http ngx http secure link module html http nginx org en docs http ngx http secure link module
  • SimpleXML 返回空数组

    我正在尝试使用 Google Maps API 和 PHP SimpleXML 获取城市的纬度和经度 我尝试这样做 xml simplexml load file http maps googleapis com maps api geoc

随机推荐

  • 如何使用Android的CacheManager?

    我目前正在开发一个使用 http 请求获取图像的 Android 应用程序 如果我可以缓存这些图像以提高性能和带宽使用 那就太好了 我在 Android 参考中遇到了 CacheManager 类 但我真的不知道如何使用它 也不知道它的真正
  • 在Python中创建一个具有最大长度的空双端队列?

    我正在查看 Python 双端队列的文档 看起来构造函数是deque iterable maxlen 是否没有办法创建一个具有最大长度的空双端队列 即 不指定可迭代对象 您可以直接提供列表文字 因此不必在单独的行上声明任何内容 gt gt
  • 按任意时间间隔对 DateTime 进行分组

    我有一个项目类的 IEnumerable 定义如下 public class Item public DateTime Date get private set public decimal Value get private set pu
  • WPF:将虚拟文件拖放到 Windows 资源管理器中

    我正在开发一个类似于 dropbox 的应用程序 并在 WPF 列表视图上显示远程文件 我想将这些元素拖放到 Windows 资源管理器中 我见过这样的代码 var dataObject new DataObject DataFormats
  • 在 Windows 8.1 中运行 Visual Studio 6 C++

    我最近将系统迁移到 Windows 8 1 不幸的是 像其他人一样 我无法再启动 Visual Studio 6 软件在启动时崩溃 闪屏 我知道有一些解决方法 可以在较新的 IDE 中使用 vc6 进行编译 但这对我不起作用 因为我必须编译
  • IIS Express 为每个请求加载和卸载模块

    我们有一个 ASP NET 项目在调试时使用 IIS Express 启动VS2013 然后加载解决方案 构建解决方案并在调试模式下启动Web应用程序后 输出窗口列出了一堆已加载和卸载的DLL 经过一番搜索后 我发现 IIS Express
  • Redis 是单线程的。那我为什么要用生菜呢?

    Redis 4 0之后 Redis可以多线程执行一些功能 1 删除后台对象等 但Redis通常仍然使用单线程 常见问题解答 Redis 所以我觉得生菜没什么用 Lettuce 是 Redis 客户端 可以在 1 个连接中使用多个线程 但 R
  • 如何确保提交到 ThreadPoolExecutor 然后取消的 FutureTask 的垃圾回收?

    我正在提交Callable对象到ThreadPoolExecutor他们似乎一直留在记忆中 使用 Eclipse 的 MAT 工具查看堆转储 可以看到Callable对象正在被引用FutureTask Sync s callable多变的
  • eclipse中“JUnit插件测试”和“JUnit测试”之间的区别

    在eclipse运行命令中 有两种选择 JUnit Plug in Test and JUnit Test 之前 我尝试启动 eclipse 插件测试 org eclipse jdt ui tests refactoring 我遇到了一些问
  • 如何使用 C++ 在 Windows 中复制和粘贴文件?

    我已经用谷歌搜索过这个 但我仍然对如何使用它感到困惑 我正在制作一个文件管理器 我希望能够将文件复制并粘贴到新目录中 我知道要复制我需要使用file copy 但我不确定如何将其实现到我的代码中 我想使用 fstream 来做到这一点 如果
  • 缓存生成器

    最近的一个类似问题 isinstance foo types GeneratorType 还是inspect isgenerator foo 让我好奇如何一般地实现这一点 实际上 拥有一个生成器类型的对象似乎是一个普遍有用的东西 它将在第一
  • D3树:用线代替对角线投影

    我正在使用 d3 js 创建一棵树这个例子 这可以完美地处理我拥有的数据并产生期望的结果 除了一个细节 我不想要那些wiggly节点之间的连接线 我想要一条干净简单的线 谁能告诉我如何制作它 我一直在查看 d3 js 的 API 文档 但没
  • WPF WebBrowser 浏览器版本

    WPF WebBrowser 控件是否取决于用户计算机上安装的 IE 版本 或者它是否使用跨计算机一致的单独库 我读到它只能在 IE7 模式下呈现 但我想确保没有安装 IE 或由于某种原因仍在 IE6 上的用户不会出现任何问题 The MS
  • 点击 MKAnnotation 来“选择”它真的很慢

    在点击 MKMapView 上的注释和显示标注之间有近 0 5 秒的延迟 有谁知道为什么会出现这种情况 以及当用户点击地图时如何使其立即响应 即使用户位置注释在点击时在标注中显示 当前位置 也会发生这种情况 我希望它在点击时立即显示 没有奇
  • 找到重叠的圆圈

    我有一个矩形区域 其中有半径相等的圆 我想找到哪些圆与其他圆重叠 输出是重叠圆的 2 元素集的列表 我知道如何检查两个圆是否重叠 它们的中心之间的距离小于直径 我可以对每对圆圈执行此检查 但我想知道是否有更好的算法 比O n 2 EDIT
  • 用于 iOS 开发的 Objective-C++

    是否可以使用 Objective C 进行 iOS 应用程序 iPhone iPad iPod touch 开发 网上有例子和源代码吗 使用 ObjC 非常简单 您必须声明扩展名为 mm 的源文件 它将使编译器将它们视为 ObjC 与标头相
  • 在Eclipse中用subversion填充@version标签

    我想在 Eclipse 中使用 Subclipse 或 Subversion 填充注释标签 version CVS 会自动完成此操作 但 Subversion 不会 这会很有帮助 我尝试用谷歌搜索 version 但似乎不可能 CVS 所做
  • Puppeteer:如何单击元素以便在新选项卡中打开?

    我有一个包含 25 个可点击元素的列表 我需要在新选项卡中打开它们中的每一个 抓取在新选项卡中打开的新页面 然后将其关闭 然后转到下一个元素 并对列表中的每个元素执行相同的操作 但是 我在通过单击链接在新选项卡中打开链接时遇到问题 然后我设
  • 验证 mongoose 中父级范围内嵌入文档的唯一性

    我在猫鼬中有以下架构 UserSchema new Schema username type String required true GameSchema new Schema identifier String users UserSc
  • 是否可以防止从网站下载视频

    是否可以防止网站上的视频被下载 虽然用户可以使用某些硬件设备录制视频 但不可能使用某些链接下载视频 就像谷歌视频一样 例如 如果我的系统中有 Real One Player 我可以选择下载视频 这应该受到限制 是的 永远不要向任何人展示它