我有一个可播放一些视频内容的android应用。该视频为mp4,带有一些简单的自定义加密。 在android中,播放器(ExoPlayer)在播放时实时解密视频。
它使用如下代码:
// overriding the function that reads the video file to insert the decryption
public int read(byte[] buffer, int offset, int readLength) throws FileDataSourceException {
// ...
// buffer[] holds the video bits, decrypt them here
buffer[offset] = (byte)(buffer[offset] ^ 1234);
// ...
}
}
我现在想添加对Chrome Cast的支持-以便能够将视频从手机流式传输到电视。
但是,看一下api,我看不到实现解密算法的方法。 从我的角度来看,它支持未加密的视频或具有某些标准DRM的视频。
是否可以实现类似于上面的代码的自定义加密?
答案 0 :(得分:1)
新的CAF框架提供了三种不同的选择:
唯一支持DRM的是自定义接收器,正如您所说的,它是为标准DRM设计的。
但是,它应该支持CENC清除密钥,这可能足以满足您的需求,并且可以避免使用DRM服务。
CENC清除键的名称中包含清除键。它虽然不是很安全,但是无论如何对您来说可能只是一个“障碍”(基本上是大多数安全系统所需要的)。