Android中DRM框架的示例/教程

时间:2011-10-27 12:22:48

标签: android drm android-4.0-ice-cream-sandwich

Android 4.0为智能手机带来了drm框架。我有兴趣编写一个播放受DRM保护的视频的代码,但找不到足够的信息。

  1. 是否有关于使用DRM框架的教程?示例代码?
  2. 如何设置环境 - 创建内容和许可证的服务器端?
  3. 互联网上是否有可用于测试的受DRM保护的视频?
  4. 插件框架声称可扩展性,但我找不到插件AI定义,也没有找到如何创建/添加自定义插件的描述

4 个答案:

答案 0 :(得分:9)

编辑:AOSP现在提供了一个示例直通DRM插件,位于 frameworks / base / drm / libdrmframework / plugins / passthru /


  

是否有关于使用DRM框架的教程?示例代码?

不幸的是,还没有。有关此问题的唯一公开文档位于android.drm包摘要文档。

  

如何设置环境 - 创建内容和许可证的服务器端?

这是DRM提供商特有的。

  

互联网上是否有可用于测试的受DRM保护的视频?

这也是DRM提供商特有的。

  

插件框架声称可扩展性,但我找不到插件AI定义,也没有找到如何创建/添加自定义插件的描述

我认为一旦源代码发布,这将变得更加清晰,但目前还没有任何进一步的信息。

答案 1 :(得分:5)

有关Android上DRM和DRM概念的详细解释,请访问:http://developer.samsung.com/android/technical-docs/DRM-in-Android

答案 2 :(得分:0)

Android可能是DRM播放的复杂环境,需要考虑多个方面,这是我最大的尝试,目的是提供有关在Android应用程序中实现DRM的最佳教程。同样,很难提供有关DRM的全球答案,这取决于用例,内容要求和设备支持。在这里,我只是建议一种方法,但还有其他方法。默认的Android播放器是Exoplayer,需要对其进行配置以支持DRM,因为Bitmovin播放器具有开箱即用的功能。我在Bitmovin拥有专业DRM实现和在实际环境中工作配置的经验,因此此答案基于该经验。

  1. 您可以找到在应用程序中实现Widevine DRM的教程(帖子中也链接了示例Android应用程序的代码),基本上,在两种情况下,您都需要在实例化视频播放器时为DRM加载外部模块在应用内。外部模块将需要配置有MPD和DRM许可证服务器位置,以便播放器知道要播放的内容以及如何对其进行解密以进行播放,以及在Android中实现Widevine DRM的一些资源:

  2. 您可以使用DRM测试代理服务器通过DRM保护和解密内容:

    • Bitmovin提供的有关创建多DRM内容的教程,这里是链接:https://bitmovin.com/docs/encoding/tutorials/how-to-create-multi-drm-protected-content-with-intertrust-expressplay
    • 检查播放器上的播放以测试流。要使用DRM保护的示例DASH内容(钢之泪)和Widevine测试代理进行测试,可以使用以下播放器:https://bitmovin.com/demos/drm
    • 清单URL的钢含量的泪水,请使用以下值:https://storage.googleapis.com/wvmedia/cenc/h264/tears/tears_hd.mpd
    • 测试的Widevine代理服务,请使用以下值:https://widevine-proxy.appspot.com/proxy
    • 然后可以播放Widevine DRM保护的内容!
    • 如果遇到困难,请使用Chrome Web Inspector,然后在“网络”标签中检查从播放器到DRM许可证服务器的请求以及密钥交换。
  3. 由于难以从头开始创建流,因此要测试您的配置是否正常运行,可以在此处使用许多不同的数据集:https://bitmovin.com/mpeg-dash-hls-examples-sample-streams/

  4. 你能澄清这个问题吗?

答案 3 :(得分:0)

一种可能的检查方法是使用Exoplayer library中的演示应用程序。 演示播放器使用test content进行宽屏播放和准备播放。因此,您可以参考所使用的​​API。