我正在尝试使用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
任何人都可以帮我解决我做错的事吗?
答案 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信息。