如何保护在线视频,播放Flash或HTML5


How can protect online video, playing by Flash or HTML5?

我想在我的网站上播放视频与认证,这样只有注册用户可以看到它。

我的意思是:

  • 视频文件不能被未注册用户访问
  • 视频文件必须不能下载(只能在线播放)

可以使用Flash Media Server和Amazon Cloudfront实现安全流媒体。

注意:Amazon cloudfront是付费服务

虽然你可以屏蔽下载HTML5和Flash视频的界面,但这并不能保证它不会被盗版。只要看看YouTube上的下载人数,你就会明白我的意思了。

尽管如此,HTML5并不是DRM的理想选择。Flash通过RTMPE/RTMPS提供DRM,但是破解加密的工具广泛可用。微软Silverlight是第三种提供DRM的技术,但它不能在基于linux的计算机上工作。我从来没有研究过Silverlight的DRM,但我很确定它也可以被破解。

上述技术均支持认证;在向客户端提供视频之前,您只需检查用户是否已登录。如果视频来自同一服务器,这对于HTML5来说是最简单的,但它也可以通过使用唯一的URL为用户提供视频,然后让视频流服务器联系处理登录的服务器,以检查用户/IP地址是否被授权查看视频流来验证所有其他技术。

总结:如果你重视跨平台兼容性,选择HTML5并阻止右键菜单以阻止下载;否则,您可以使用Flash或Silverlight DRM -但要注意,这两种方法都不是完美的。

没有真正的方法来保护HTML5视频。浏览器通常允许你右键点击->下载。YouTube防止这种情况的方式是阻止右键点击的覆盖层……但它远非完美。

在W3 bug tracker上有一些关于DRM的讨论,但是还没有真正的解决方案。其中提到的一个有趣的方法可以在这里找到。也可以参阅主帖子,其中提供了一些有趣的见解。

制作一个自定义视频播放器,使用一些复杂的算法来更改视频流的URL并加密流数据,以便只有您的播放器可以查看它。

adobe RTMPE协议基本上就是为了这个目的而制定的。Adobe Flash Media Server产品将在飞行中对您的视频进行转码,以受保护的方式将其交付给您的客户。本质上,它是一个DRM解决方案。您的客户端将使用Adobe Flash Player或Adobe AIR来观看视频,在完美的情况下,未经授权的用户将无法查看内容。

当然,DRM或RTMPE是否符合行业或用户的要求是另一回事。就像能否为了盗版内容而破坏系统一样。