如何使用android.drm框架

我正在开发一个基于DRM的Android应用程序.
应用程序旨在加载(音频,视频)文件后下载并获取文件(音频,视频)的控制访问权限,防止文件(音频,视频)复制和粘贴文件,使文档无法再查看.为此,我使用android.drm

我搜索了很多但没有得到任何结果

所以请分享一些解释如何使用DRM框架API的示例代码.

Refered:

https://www.widevine.com/wv_drm.html

https://source.android.com/devices/drm

https://developer.android.com/reference/android/drm/package-summary.html

解决方法:

在大多数DRM场景中,从DRM的角度来看,Android设备将是客户端,而不是服务器.

换句话说,Android设备通常是回放设备,其需要向DRM系统询问密钥以查看内容.

理论上没有理由说为什么Android设备不能作为打包器或加密内容,但它不是常态,因此它不是如何设置Android中的DRM框架或示例.

如果您确实想要了解如何在设备上播放受DRM保护的内容,那么Exoplayer演示有很好的工作示例.

查看DefaultDRMSessionManager作为起点:https://github.com/google/ExoPlayer/blob/d979469659861f7fe1d39d153b90bdff1ab479cc/library/core/src/main/java/com/google/android/exoplayer2/drm/DefaultDrmSessionManager.java

更新

受保护内容的示例工作流程:

>内容被摄取在服务器上(即以某种方式加载或放置在流媒体服务器上)
>内容已在DRM许可证服务器和请求的加密密钥中注册
>当用户请求视频文件时,文件被打包到设备的适当流协议(通常是Android的MPEG DASH)中,并且视频文件使用从DRM服务器接收的密钥加密.
>请求流的设备(即您的情况下的Android设备)接收流并识别它是否已加密.它从许可证服务器请求许可证密钥.在使用Widevine DRM的Android设备上,它必须具有播放器配置中包含的许可证服务器的URL.
> DRM服务器将密钥安全地发送到播放内容的Android设备.应用程序甚至操作系统都不会看到密钥和未加密的内容,因为它是使用DRM系统和设备安全媒体路径播放的.

流式服务器和DRM服务器通常是非常复杂的系统,您不太可能想要自己构建.

对于流媒体服务器,您可以查看和使用开源示例 – 例如:https://gstreamer.freedesktop.org

如果您想尝试DRM,那么您可以使用具有MPEG DASH的clearkey DRM,Exoplayer将支持该DRM.它不像常规DRM方案那样安全,但它是免费的,因此值得检查它是否满足您的需求.

某些编码服务允许您尝试使用clearkey设置 – 请参阅此处的示例:https://bitmovin.com/tutorials/mpeg-cenc-clearkey-drm-encryption/

上一篇:Python06-01_字符串的驻留机制和字符串的比较


下一篇:如何在Android上实现OMA前进锁定?