针对原创视频所有者提供包括PC端、Android端、IOS端在内的全平台视频课程加密技术。开发的视频加密系统主要是针对FLV、F4V、MP4这类视频文件进行加密,防止非授权用户的播放。 系统分为加密和播放两部分:FLV视频加密程序:负责对视频文件进行加密,可以将flv/f4v/MP4文件通过该软件进行加密,加密后的文件别的播放软件无法播放;加密后的FLV/F4V/MP4文件只通过播放端进行播放。视频文件播放端:用于播放加密或者未加密的FLV/F4V/MP4文件。
视频加密系统提供的Android、IOS下的加密视频播放方案,是指可提供播放器引擎,能在授权后播放点量软件加密系统加密过的视频。视频一次加密后,可以在选择在网站端还是移动端播放。移动端需要使用到播放器引擎开发一个APP软件。
手机里可以设置成加密隐藏(有的自带就有像联想乐安全、有的要下载软件),搜索看不到打开要密码;电脑里最简单就是改名在它后缀名的后面加个数字什么的,等要看再改回来,或者文件夹属性里设置成隐藏属性,也不会被搜索到。如果你指的是更高级的加密我就不知道了。
视频加密的方法挺多的,具体看需要的加密等级高低,初级的视频加密可能在网上看些教程就可以学会,不过这个也只能防那些对于技术一窍不通的人,因为你在网上学习的加密教程,同样也有解密教程。总的来说现在视频加密常见的技术有以下几种:
一、防盗链:严格来说,这不属于视频加密,只是防止下载。意义不大,顶多是一些header、refer的限制,或者加一些token,或者弄上多段加载;但总归是有办法下载的,这个不属于加密的范畴,就不展开来讨论。
二、基于微软DRM SDK等,或者网上公开的drm方案,比如rtmpe/ hls的加密方案等。大致分开来讲:
A)微软DRM SDK,这个在windows时代是比较常见的方案,但现在缺点明显,一个是微软的sdk现在申请需要较高费用和周期;另一个是,移动时代,这个模式的弊端太多,比如各种手机用户的支持,支持的视频格式等。
B)rtmpe:首先流媒体服务器软件价格不低;当然,我觉得这种最大的问题在于:数据不能缓存,用户每次播放都要占用服务器带宽,不容易结合CDN加速等。服务器带宽压力大!
C)HLS的加密,也就是m3u8里面的ts数据都进行了加密处理,然后浏览器或者播放器播放时,通过m3u8里面内置的解密秘钥地址,去动态解密。这种相对来说实现简单些,但也有弊端,那就是这一类使用公开加密标准的通病。
以上这类公开标准方案,通病就是:标准统一、公开。如果作为技术人员想去破解,还是有机会的。比如微软的DRM树大招风,破解软件网上会有提供;hls这种,如果我伪装成自己是浏览器,你总要给我解密秘钥的,我就自然可以获取后将视频解密开来。总的来说,加密这些,如果太标准化了,太统一了,就容易破解。
三、国内部分厂商的平台化方案,这类是不公开的标准,相对方案二里面的安全了些,但作为一个平台化,还是有各种弊端和被人攻击的风险,破的人多了,没有破不掉的加密技术。
四、私有化解决方案:比如点量是为各个在线教育等客户提供个性化加密解决方案,每个不同客户采用不同的加密算法和加密思路,从而可以提升加密的安全性。首先给一些干货,大概怎么加密:
A)视频可以通过帧级加密,比如每个数据关键帧,从二进制做加密运算,加密算法当然是不能公开;最好不同的客户用不同的加密算法,或者做变形,确保一个客户被破解了,另一个客户是安全的;并且加密最好有版本号机制,破解后可以升级,你破我防,保持定期更新。
B)加密的一个弱项其实是在播放,比如很多同行采用flash播放器去播放加密的视频。flash是很容易逆向的,你的解密播放代码被人逆向后看到,那你的解密代码就可以被人利用去解密视频。
当然,业内还可以考虑采用FlashCC技术,也就是将C++代码编译后内嵌如flash,这样逆向后看不到解密的代码,但这样就真的安全么?其实只是相对纯flash安全了,要想更安全,还是要做很多事情的,对于内嵌flashCC的,如何去破解,如何加强安全性,这里面为了业内很多同行方案的安全性,就不过多展开了。
C)考虑视频加密还需要考虑兼容性,比如PC端、手机APP以及H5等。往往突破口是在某个弱项的入口,所以一定要每个入口都是安全的。
以上是常用的一些视频加密的可选方案。
其实除了考察视频加密,还要考虑播放器的功能性,比如是否支持水印、字幕、是否支持问答等。用户可能通过翻录来破解,如果有水印等功能,可以追溯泄密用户。另外字幕、换肤等功能,也会影响客户体验等。
简单的用一机一码加密,复杂的用加密狗加密
小犇视频加密还不错,最近我一直用,