我有一个项目需要播放视频但不允许下载。
我很想使用 Flash,但我见过一些应用程序可以让你从 YouTube 下载文件——这让我怀疑 Flash 是否不那么安全。
我必须使用 Quicktime 还是 Windows Media?
如果您将数据发送给某人,则无法阻止他们捕获数据以供以后重播。故事结局。
如果您想使用 Flash,那么您可以结合使用 RTMPE 协议(重要的是“E”部分)和SWF 验证来保护您的媒体流。这并非牢不可破,因为数据必须解密才能播放并且不受 DRM 保护,但它提供了合理的威慑力,并且可能足以阻止大多数人尝试使用您的数据。
受 DRM 保护的媒体可提供更高的安全性。Adobe 有一个适用于 Flex 的版本,但我不相信它目前适用于 Flash。除此之外,您还拥有 Apple 或 Microsoft 的实现,它们都非常安全(请注意,Microsoft 刚刚发布了用于 DRM 应用程序的下一代 PlayReady 服务器 SDK)。
坚定的破解者会得到你的数据,不管它对他们有价值;你所能做的就是设置足够多的障碍,让它比它的价值更麻烦。
YouTube 可能会使用 Flash 作为播放器,但视频本身是以相当正常的格式下载的。如果您知道 URL(位于 HTML 文件中),那么您可以捕获它。
Quicktime 和 Windows Media 流也可以被捕获。用户可以播放的任何流也可以以某种方式被捕获。没有任何形式的保护是牢不可破的。
我想最安全的方法是编写自己的浏览器插件,但这太疯狂了。使用专有格式会使捕捉视频变得更加困难,但仍然不是不可能的。
我至少能想到该领域的另一个竞争对手:RealPlayer。没有好的选择,因为每个 DRM 系统最终都会被破坏,这只是它有多难的问题。
DRM 的本质永远不会是完美的。DRM 的整个想法只是一种通过默默无闻来实现安全的奇特方式,任何称职的安全专业人士都会说这几乎总是错误的解决方案。为了获得适当的安全性,您不会让锁很难找到:您可以保护实际的钥匙。
现在,话虽如此,我可以设想一种接近您想要的方法:但它需要一个自定义插件。您可以使用频繁更改的密钥(例如每隔几秒)对视频流进行加密。这意味着您的插件必须不断请求下一个密钥才能解密下一段视频。即使您使用其他正常格式,这种方法也会使下载的视频毫无用处。
正如有人之前所说的“模拟孔”。
引用维基百科:
“一旦将数字信息转换为人类可感知的(模拟)形式,以不受限制的形式以数字方式重新捕获模拟再现是一件相对简单的事情”
所以,如果你能看到它——你就可以记录下来。您无法下载原始副本,但谁在乎副本何时变得难以察觉?
只需下载fraps - 命中记录。