移动端离线视频防盗思路

1. 背景

2013年我在有道词典开发云图书项目,虽然叫云图书,其实用户下载使用的是富媒体资料,其中就包括与外部合作的资料,例如50音图的日文音频书,新东方的视频书。这些资料合作方是有要求不能被用户盗用的,只能通过我们的软件使用。而云图书的一个必备功能就是下载之后可以离线使用,所以我们需要对移动端(Andoird和IOS)进行离线的文件加密。

2. 需求与问题

对epub格式的电子书、离线的web应用、音频、视频文件进行防盗处理。 首先遇到的问题就是我们的播放器是弱播放器,对于epub文件,其实用的就是webview浏览器,对于音频和视频,其实也是封装后用h5来调用。另外移动端还需要考虑性能问题,例如我们就不能对视频文件边解压边播放或者边解密边播放。 所以我们最后的方案就是:我们所有的文件都打成压缩包,对较小的文本文件的压缩包例如epub,我们会对压缩包进行加密,而客户端只有至少一次联网后,用自己的userId,才能从服务端获取密钥,对压缩包进行解密。而解密后的文件,其实也就是放在了用户手机上,如果想盗用的话,也是可以盗用的。所以这种方案在云图书项目的后期也就不做了。现在想想真的是可笑,这种文件资料,就算免费求着用户使用,还真不一定有人想用呢,这真是中国出版行业的一个悲哀。而对于音频与视频文件,我们当时的判断就是,不加密。合作方不愿意,那就别发布好了。

所以看博客的你在看到这里的时候,有两点是一定要注意到的:

  1. 防盗前,必须心里明白,永远防不了盗,只能加大盗版用户获取的成本,以及让录播没有价值。另外,DRM是个笑话~
  2. 互联网服务提供者可以允许用户上传任何内容。若发现侵权内容,只要在接到举报后删除,便可免责。这个也是避风港原则。虽然另外还有红旗原则,不过具体到了官司阶段,基本都调解搞完或者看法官的态度了,他判对判错不是你说了算。这种事情让防盗变得更加不靠谱。

3. 我的思路

我想了一下一些思路,整理到这里,如果大家有补充,我会及时更新。

3.1 产品思路

  1. 关键的视频不允许下载,只能在线看.例如电视剧大结局。
  2. 离线观看的视频是不允许修改的调整版,例如是有删除的摘要版; 或者语速特别快之类的让人不爽的版本;或者是特别不清晰的版本。这个思路对于一些学习类的视频其实挺好的,因为对于在线教育的视频,有时离线真的可能只是对摘要的复习,或者听听声音就好了。
  3. 加水印,加片头。被别家盗了再发律师函。
  4. 加视频识别码,每个用户下载的视频是不一样的。发现盗版视频后,可以进行反查,确定是从哪个用户流失的。不过需要为每个用户生成不同的视频文件供下载,并且也不能作为法律依据,只能加入黑名单。
  5. 只有过了一定的期限,才能下载。这样降低让视频的价值。

3.2 技术思路

非加密方案

这种思路主要就是加大普通用户的传播成本。

  1. 弄上百层的随机的文件夹,再加一些假目录,根据文件id可以找到这个文件真正存放在哪个目录中,播放器可以找得到,提高个人用户查找的成本,不过不能防别的软件扫描工具。
  2. 做很多的假的类似大小的视频文件,只有播放器知道哪个文件是真的,另外后缀也给改掉,可以和上面的方法一起使用。
  3. 将视频文件进行细小的拆分,例如2小时的视频拆成200段,用播放器可以自动流畅的播放,但如果想盗用还得每次合并,另外还可以对文件名加入一定的规则进行混淆,例如播放次序是1->199->3->11,这个次序可以是根据文件id根据规则生成的。自己的播放器知道规则。

加密方案

一类是针对视频本身加密,这时需要自己定制的播放器。这也是目前主流视频网站的做法,不过依然被破解。可以搜索一下优酷的方案。 针对视频本身,也可以针对:视频元信息、视频每一帧甚至视频中每一帧的一些块区域进行加密。都有比较成熟的加密方案了,可以自行搜索。

另一类是针对存放视频的容器。例如一并放在压缩包中,解压时放在内存中可以加大拷贝成本,如果存在手机外部存储上,除非及时删除,否则也很容易被拷贝走。


附思维导图

视频离线防盗

comments powered by Disqus