保护Flash视频免受下载/保护

时间:2008-11-19 01:23:50

标签: video streaming drm copy-protection

是否可以保护flv文件免遭下载?我想保护我的文件免受下载,但我没有资金用于流媒体服务器,我认为它提供了某种保护。这些文件通过PHP流式传输,位于我服务器上的上传文件夹中。

我已经使用PHP来确保只有订阅者可以观看视频,但我基本上希望更进一步,防止订阅者在登录时使用下载程序(如Sothink Flv Downloader for Firefox)下载我的视频。

9 个答案:

答案 0 :(得分:33)

我完全同意DRM对其他答案的共识。但是想补充一下......

有一些 obfuscation 技术可以满足您的需求。 “足够好”,正如他们所说。这些不是完全证明机制,但很可能会阻止80%-99%的人尝试复制您的FLV流/文件。一个专门的黑客会得到它,但大多数人只是脚本小子(或他们的FireFox插件爱表兄弟。)此外,其中一些技术非常简单:

  • 更改/删除服务器正在响应的MIME类型。无论如何,Flash播放器幸福地忽略了它。例如:image / jpeg
  • 将文件扩展名从.flv更改为其他内容,例如.jpg。无论如何,Flash播放器幸福地忽略了它。此外,一旦文件保存到磁盘,非FLV播放器将打开它(并抱怨它是无效的文件格式。)
  • 为您的所有FLV内容设置积极的“请勿缓存”标题。 (这自然意味着消耗更多的流量和带宽。也许这对您来说不是问题?)
  • 基于UDP的协议流(如RTSP)。虽然我的读法是UDP协议正在大规模流式传输点播内容,但复制起来要困难得多。例如:Real Downloader目前无法窃取这些流。
  • 将内容分解为两部分或更多部分内容,然后背靠背播放。
  • 将您的FLV内容隐藏在简单的自定义一次性身份验证机制背后
    • 播放器请求内容A的授权密钥
    • 服务器返回 authorization1 键: SHA1 (内容键+ salt1
    • 服务器存储内容密钥, authorization1 密钥, authorization2 密钥( SHA1 authorization1 + salt2 ))
      • 一次使用
      • 有效期(例如:2秒)
    • 播放器创建 authorization2
    • 播放器使用 authorization2
    • 请求内容a
    • 当且仅当,服务器将'FLV'内容发送给客户端
      • 授权密钥与服务器端商店中的内容密钥匹配
      • 授权密钥尚未过期

我实际上已经实现了最后一个想法,授权机制,我自己并且可以保证它的实际效果。不,这不完全安全。但它足够好了。即使是高级用户也无法击败它。

击败它需要

  1. 逆向工程,
  2. 反编译您的Flash播放器,
  3. 将它们全部重新组合在一起。
  4. 足够好。


    这篇文章从“简单,自定义的一次性身份验证机制”建议生成了多少“plz发给我teh codez”电子邮件,真是令人惊讶。不要打扰,我不能 - 这是我的雇主的专有项目,xtendx AG。如果有兴趣购买该系统,请发送电子邮件至sales@xtendx.com。

答案 1 :(得分:8)

无法为静态FLV文件添加DRM保护(即加密) - 任何知道URL的人都可以简单地下载它们,或者(在某些情况下)将它们从浏览器的缓存中取出,然后在任何文件中播放它们支持球员。 (但是,您可以阻止人们将您的内容嵌入其他网站 - 谷歌“Hotlinking protection”。)

流式传输FLV可以通过Red 5等OSS免费完成。这本身不提供“DRM”保护,但它确实在文件流中发送视频,因此没有单个文件供用户下载和保存。用户仍然可以使用某些程序捕获文件,但它更加不方便。

至于“真正的”DRM,我所知道的唯一解决方案是Adobe Flash Media Rights Management Server。我从来没有使用它,但显然它会传输DRM加密的FLV或MP3内容,并使您能够应用常见的DRM限制。

答案 2 :(得分:6)

你做不到。您花在追逐DRM上的任何努力或资金都将浪费您可以用于改进产品的资源。将您的徽标和网址放入视频中,以便复制它们的任何人都在宣传您的网站,在视频中加入版权声明并起诉任何您非法复制内容的人,并将其称为一天。

答案 3 :(得分:3)

短版本是DRM(任何形式)都是军备竞赛,如果我可以玩它,我可以偷它。唯一的问题是它有多难。

就个人而言,我认为DRM不是一个好主意。从长远来看,它不会有所帮助,因为窃取它的人,无论你做什么都会偷走它,而那些不这样做的人即使这样也会给它带来不便。

http://xkcd.com/488/


那就是说,窃取它也不是一个好主意,你应该有权控制你生产的东西。 (但我不知道该怎么做)


我能想到的唯一答案是:1)开始销售一些不能被盗的东西或1)让它更容易购买然后偷。第一个是Pandora-for-fee / Netflix-for-music(但主要标签歌曲上有CC许可证)。第二个问题甚至不是音乐产业问题,而是金融业问题;如何在不欺骗买方或卖方的情况下为双方提供简单安全的在线支付。

答案 4 :(得分:2)

您是否考虑过在Amazon S3上托管视频?您可以设置视频的网址到期,以便视频链接仅在特定时间段内有效。这不会阻止任何人在下载后从缓存中获取视频,也不会阻止其他方式,例如使用Orbit下载程序或RealPlayer视频下载程序,但这会阻止热链接。

我同意评论这是一场军备竞赛和视频传播策略,接受人们确实想要下载视频以共享或复制到其他设备等并尝试与之共存可能是最成功和最痛苦的自由。水印,嵌入到您的网站的链接,尝试利用由于可下载而观看您的视频的眼球数量的增加。

答案 5 :(得分:1)

像youtube这样的网站试图通过混淆闪存并且经常更改结构来使下载视频变得困难。正如其他人所说,这是一场军备竞赛。 Youtube会更新其结构,然后像pytube这样的工具也必须更新。

答案 6 :(得分:0)

查看this analysis from Longtail

首先是黄金法则:

  

任何可以观看您视频的人都可以窃取您的视频。

最终会出现一系列非常好的安全问题和预防技巧。

答案 7 :(得分:0)

为您的内容创建一个单独的网站。为第二个站点(“内容服务器”)配置Web服务器应用程序设置,以拦截对任何静态内容(您的视频,图片等)的请求,以便您可以检查每个请求的内容的权限cookie,以检查它们是否已被验证并授予对该内容的访问权限。

答案 8 :(得分:-1)

没有任何保护可以简单地使用WireShark + NetMiner。

周期。

哦,顺便说一句,关于youtube,如果你使用Chrome,请查看此扩展程序:

http://hosting.gmodules.com/ig/gadgets/file/113621719436589749332/ZiTube.crx

它只是在youtube视频下创建了一个下载按钮;)