ClearKey解密在ExoPlayer中不起作用

时间:2017-08-03 06:44:46

标签: android encryption exoplayer drm mpeg-dash

我正在尝试使用Android ExoPlayer中的ClearKey DRM对加密文件进行DASH流式处理。 media.exolist.json中添加的条目详情如下:

{
        "name": "ClearKey",
        "uri": "https://drmdemo-94ea7.firebaseapp.com/encrypt/manifest.mpd",
        "extension": "mpd",
        "drm_scheme": "cenc",
        "drm_license_url": "https://drmdemo-94ea7.firebaseapp.com/encrypt/key.json"
}

这是我得到的错误

Caused by: com.google.android.exoplayer2.drm.DrmSession$DrmSessionException: java.lang.IllegalStateException: Media does not support uuid: 1077efec-c0b2-4d02-ace3-3c1e52e2fb4b

任何人都可以帮我解决我做错的事吗?

1 个答案:

答案 0 :(得分:0)

这是ExoPlayer告诉您它无法在媒体PSSH标题中找到由UUID指示的DRM方案:

schemePsshData = psshData.get(uuid);
      if (schemePsshData == null) {
        onError(new IllegalStateException("Media does not support uuid: " + uuid));
        return;
      }

DRM信息可以包含在清单和/或媒体文件本身中。在媒体文件中,它将位于保护系统特定标头(PSSH)中。

UUID只是每个不同保护系统的唯一标识符(例如,针对不同的DRM)。

对于您的情况,似乎媒体文件(视频文件或流本身)在其PSSH标题中没有预期的DRM信息。