最近有一个Android 数字版权保护相关的项目,经过一周的攻关基本demo出来了;
项目需求:
1、实现一个android万能播放器,可以播放用户的普通视频;
2、实现一个视频加密程序,可以在windows上或其他平台使用;
3、使用该android万能播放器播放经过加密以后的视频,必须时一边播放一边解密;
基本思路:
1、播放器方面使用vitamio开源项目来进行解码播放;见:http://vitamio.org/
2、加密程序方面,目前demo使用的是AR4 加密算法,对流进行加密;
3、解密方面启动一个service进行解密,使用相同的算法和簇大小进行解密输出;
需要注意的地方:
1、Content-Range 头一定要添加,而且必须正确否则无法正常显示播放控制条;
response.addHeader("Content-Range", "bytes " + startFrom + "-"+ (f.length()-1) + "/" + f.length());
2、当开始播放的点在簇中间时,必须回退到上一个簇的起点进行解密,否则解密会出现错误;
3、java 和 C# 的byte 字节有区别,一个是-128-127, 一个是0-255;如果不处理也会出现解密错误;
哈哈,2013 加油~~