【问题标题】:How to handle multikey DRM with MediaDrm如何使用 MediaDrm 处理多键 DRM
【发布时间】:2020-09-12 13:56:23
【问题描述】:

Android MediaDrm documentation 只有最简单用例的序列图。它没有说明具有多个连续加密密钥的 DASH 流应该如何工作。 (例如,前 10 个用 keyA 加密,接下来的 20 个用 keyB 加密)

考虑到每个 DRM 会话只能持有一个密钥,并且每个 MediaCodec 只能配置一个 DRM 会话。如何执行以下操作:

  • 除了检查所有 CryptoInfo.key 值或等待 CryptoException.ERROR_NO_KEY 之外,请注意密钥已更改。
  • 将 MediaCodec 切换到新的 DRM 会话而不影响播放? (停止、刷新、重新配置)

【问题讨论】:

    标签: android android-mediaplayer android-mediacodec drm android-drm


    【解决方案1】:

    在查看另一个实现时,我发现正在使用以下属性字符串。

    mediaDrm.setPropertyString("sessionSharing", "enable");
    

    显然,设置此项允许 DRM 实现在需要时使用由 MediaDrm 对象创建的任何会话中的密钥,而无需重新配置 MediaCodec。

    令人沮丧的是,在 Android 文档或其他任何在线网站中都没有提及该属性字符串。我看到它也在Chromium MediaDrmBridge code 中使用,仅此而已。

    【讨论】:

    • 那个 mediaDrm 对象你必须将它添加到另一个对象或者只是创建 mediaDrm 实例并设置该属性?
    • 只需要创建mediaDrm实例并设置属性字符串即可。
    猜你喜欢
    • 2014-08-22
    • 1970-01-01
    • 2010-11-18
    • 1970-01-01
    • 2021-12-28
    • 1970-01-01
    • 2018-07-27
    • 1970-01-01
    • 2019-07-08
    相关资源
    最近更新 更多