如何获得加密方案UUID

时间:2013-05-04 01:55:54

标签: android encryption android-mediaplayer codec

  

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

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

提前致谢:)

2 个答案:

答案 0 :(得分:1)

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

下面的剪辑代码来自MediaDrmMockTest.java(尝试使用模拟插件)

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

答案 1 :(得分:1)

MediaDrm文档说

  

该应用程序首先构造MediaExtractor和MediaCodec对象。它   访问标识DRM方案的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
  • Adob​​e Primetime:F239E769-EFA3-4850-9C16-A903C6932EFB

和其他人。