2017-08-03 123 views
0

工作我想DASH流在Android中使用ExoPlayer DRM ClearKey加密文件。在media.exolist.json添加的條目的詳情如下:ClearKey解密不ExoPlayer

{ 
     "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

這ExoPlayer告訴你它找不到在媒體PSSH頭的UUID指示的DRM方案:

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

的DRM信息可以被包括在清單和/或媒體文件本身。在媒體文件中,它將位於保護系統專用標題(PSSH)中。

UUID的只是爲每個不同的保護系統的唯一標識符(例如針對不同的數字版權保護)。

對於你的情況看來,媒體文件(視頻文件或流本身)沒有在其PSSH頭的預期DRM信息。