gpt4 book ai didi

android - 如何使用android.drm框架

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:26:36 24 4
gpt4 key购买 nike

我正在开发一个基于 DRM 的安卓应用。应用程序旨在在下载文件(音频、视频)并获得对文件(音频、视频)的控制访问权限后加密(音频、视频)文件,以防止文件(音频、视频)复制和粘贴并使文档过期,从而无法再查看它们。为此,我正在使用 android.drm

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

所以请分享一些示例代码,解释如何使用 DRM 框架 api。

引用:

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 系统请求 key 才能查看内容的播放设备。

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

更新

protected 内容的示例工作流:

  1. 内容在服务器上摄取(即以某种方式加载或放置在流媒体服务器上)
  2. 内容已在 DRM 许可服务器上注册并请求了加密 key
  3. 当用户请求视频文件时,该文件会被打包成适合设备的流媒体协议(protocol)(通常是 Android 的 MPEG DASH),并使用从 DRM 服务器收到的 key 对视频文件进行加密。
  4. 请求流的设备(即您的 Android 设备)接收流并识别它是加密的。它从许可证服务器请求许可证 key 。在使用 Widevine DRM 的 Android 设备上,播放器配置中必须包含许可服务器的 URL。
  5. DRM 服务器将 key 安全地发送到播放内容的 Android 设备。应用甚至操作系统都看不到 key 和未加密的内容,因为它们是使用 DRM 系统和设备安全媒体路径播放的。

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

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

如果您想试验 DRM,则可以将 clearkey DRM 与 Exoplayer 支持的 MPEG DASH 结合使用。它不如常规 DRM 方案安全,但它是免费的,因此值得检查它是否满足您的需求。

一些编码服务允许您尝试设置 clearkey - 请在此处查看示例:https://bitmovin.com/tutorials/mpeg-cenc-clearkey-drm-encryption/

关于android - 如何使用android.drm框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44022453/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com