【问题标题】:How to get crypto scheme UUID如何获取加密方案 UUID
【发布时间】:2013-05-04 01:55:54
【问题描述】:

MediaCrypto 类可以与MediaCodec 结合使用来解码加密的媒体数据。加密方案分配有 16 字节的 UUID,isCryptoSchemeSupported(UUID) 方法可用于查询设备是否支持给定方案。 http://developer.android.com/reference/android/media/MediaCrypto.html

但是什么是加密方案 UUID,我在哪里可以得到它?好像错过了。

提前致谢:)

【问题讨论】:

    标签: android encryption android-mediaplayer codec


    【解决方案1】:

    UUID 是插件标识符,因此 UUID 取决于 OEM 提供的内容

    下面的snip代码来自MediaDrmMockTest.java(尝试使用mock插件)

    static final UUID mockScheme = new UUID(0x0102030405060708L, 0x090a0b0c0d0e0f10L);

    【讨论】:

      【解决方案2】:

      MediaDrm 文档说

      应用首先构造 MediaExtractor 和 MediaCodec 对象。它 访问 DRM-scheme-identifying UUID,通常来自元数据 内容,并使用此 UUID 构造 MediaDrm 的实例 能够支持内容所需的 DRM 方案的对象。

      所以 UUID 是从内容中提取的,如果你已经有的话,但我不清楚你是如何提取它的。

      您可以在ExoPlayer source code 中找到一些 UUID:

      final UUID COMMON_PSSH_UUID = new UUID(0x1077EFECC0B24D02L, 0xACE33C1E52E2FB4BL);
      final UUID CLEARKEY_UUID = new UUID(0xE2719D58A985B3C9L, 0x781AB030AF78D30EL);
      final UUID WIDEVINE_UUID = new UUID(0xEDEF8BA979D64ACEL, 0xA3C827DCD51D21EDL);
      final UUID PLAYREADY_UUID = new UUID(0x9A04F07998404286L, 0xAB92E65BE0885F95L);
      

      (只需连接十六进制数字即可获得完整的 UUID,不带破折号。) DASH documentation 列出了更多的 UUID:

      • 马林:5E629AF5-38DA-4063-8977-97FFBD9902D4
      • Verimatrix VCAS:9a27dd82-fde2-4725-8cbc-4234aa06ec09
      • Adobe Primetime:F239E769-EFA3-4850-9C16-A903C6932EFB

      和其他人。

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-27
      • 2011-04-19
      • 2017-08-10
      • 2018-10-15
      • 1970-01-01
      • 2021-06-20
      相关资源
      最近更新 更多