比较简单的就是做防盗链。盗链就是通过某些技术手段,将别人服务器上的内容直接展示在自己的网站上。常常是一些小网站来盗取其他网站的视频,就可以节省大量空间和流量。为了防止这种行为,需要将视频的链接进行一些加密,让别人找不到视频的真正链接或得到链接后离开网站就不能播放。
常见的方法有referer和token。Referer是header中的一部分,当浏览器向服务器发送请求的时候通常会带上referer,由此告诉服务器我是由哪个页面来的,服务器可通过验证referer来进行一些处理,比如说防止来自非本站的referer信息访问或直接跳转到其他页面。
Token防盗链就是在访问视频链接的时候加上一段token,通常里面包含时间等信息。当服务器得到token后就将其时间和服务器当前时间进行比较,如果过期了或者没有token就拒绝访问。Token通常由服务器生成,并且需要加密,否则很容易被破解。
防盗链严格来说不属于视频加密,只能防止一部分人下载。相对于其他方式成本很低,但安全性也很低。也可以在此基础上使用m3u8文件格式来传输,这样安全性更高,即使被下载,下载者得到的也是多个ts格式的片段,要想获得完整视频还需要对这些片段视频进行处理,进一步增加了成本。
终极办法就是采用DRM即数字版权管理。其工作原理大概是,首先建立数字节目授权中心,编码压缩后的视频内容,利用密钥进行加密保护。加密的数字节目头部存放着KeyID和授权中心的URL,用户在播放视频时根据KeyID和URL可以得到验证授权后的密钥解密,才能播放成功。需要保护的内容被加密,即使是被用户下载,再没有得到授权也无法播放。密钥一般有公钥和私钥。公钥用于加密视频,私钥用于解密。
目前无论哪种方法都不能绝对的保证视频的安全,只能不断更新防盗技术才能更好的保护数字版权。