Android 演员使用自定义加密播放视频
Android cast playing a video with custom encryption
我有一个 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 的支持 - 以便能够将视频从手机 phone 流式传输到电视。
但是查看 api 我无法找到实现我的解密算法的方法。
据我所知,它支持未加密的视频或具有某些标准 DRM 的视频。
是否可以实现自定义加密,类似于上面的代码?
新的 CAF 框架提供了三个不同的选项:
- 样式化媒体接收器
- 自定义接收器
- 默认媒体接收器
唯一支持 DRM 的是自定义接收器,正如您所说,它是为标准 DRM 设计的。
但是它应该支持 CENC 明文密钥,这可能足以满足您的需求并允许您避免使用 DRM 服务。
CENC 明文密钥顾名思义就是明文密钥。它不是很安全,但对您来说 'hurdle'(这基本上是大多数安全系统)可能就足够了。
我有一个 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 的支持 - 以便能够将视频从手机 phone 流式传输到电视。
但是查看 api 我无法找到实现我的解密算法的方法。 据我所知,它支持未加密的视频或具有某些标准 DRM 的视频。
是否可以实现自定义加密,类似于上面的代码?
新的 CAF 框架提供了三个不同的选项:
- 样式化媒体接收器
- 自定义接收器
- 默认媒体接收器
唯一支持 DRM 的是自定义接收器,正如您所说,它是为标准 DRM 设计的。
但是它应该支持 CENC 明文密钥,这可能足以满足您的需求并允许您避免使用 DRM 服务。
CENC 明文密钥顾名思义就是明文密钥。它不是很安全,但对您来说 'hurdle'(这基本上是大多数安全系统)可能就足够了。