是否可以保护flv文件免遭下载?我想保护我的文件免受下载,但我没有资金用于流媒体服务器,我认为它提供了某种保护.这些文件通过PHP流式传输,位于我服务器上的上传文件夹中.
我已经使用PHP来确保只有订阅者可以观看视频,但我基本上希望更进一步,防止订阅者在登录时使用下载程序(如Sothink Flv Downloader for Firefox)下载我的视频.
我完全同意DRM对其他答案的共识.但是想补充一下......
有几种混淆技术可以满足您的需求. 他们说,"足够好".这些不是完全证明机制,但很可能会阻止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秒)
玩家创建授权2
播放器使用授权2请求内容a
当且仅当时,服务器将'FLV'内容发送给客户端
授权密钥与服务器端存储中的内容密钥匹配
授权密钥尚未过期
我实际上已经实现了最后一个想法,授权机制,我自己并且可以保证它的实际效果.不,这不完全安全.但它足够好了.即使是高级用户也无法击败它.
击败它需要
逆向工程,
反编译您的Flash播放器,
将它们全部重新组合在一起.
令人惊讶的是,这篇文章通过"简单,自定义的一次性身份验证机制"建议生成了多少"plz发送给我的代码"电子邮件.不要打扰,我不能 - 这是我的雇主xtendx AG的专有项目.如果有兴趣购买该系统,请发送电子邮件至sales@xtendx.com.
无法向静态FLV文件添加DRM保护(即加密) - 任何知道URL的人都可以简单地下载它们,或者(在某些情况下)将它们从浏览器的缓存中取出,然后在任何支持的播放器中播放它们.(但是,您可以阻止人们将您的内容嵌入其他网站 - 谷歌" Hotlinking protection ".)
使用像Red 5这样的OSS可以免费流式传输FLV .这本身不提供"DRM"保护,但它确实在文件流中发送视频,因此没有单个文件供用户下载和保存.用户仍然可以使用某些程序捕获文件,但它更加不方便.
至于"真正的"DRM,我所知道的唯一解决方案是Adobe Flash Media Rights Management Server.我从来没有使用它,但显然它会传输DRM加密的FLV或MP3内容,并使您能够应用常见的DRM限制.
你不能.您花在追逐DRM上的任何努力或资金都将浪费您可以用于改进产品的资源.将您的徽标和网址放入视频中,以便复制它们的任何人都在宣传您的网站,在视频中加入版权声明并起诉任何您非法复制内容的人,并将其称为一天.