Как скачать зашифрованное видео ClearKey в ExoPlayer 2
У меня есть файл .MPD, который зашифрован по схеме ClearKey DRM. Я могу воспроизвести этот файл в Exoplayer2 с подключением к Интернету. Exoplayer2 использует LocalMediaDrmCallback для лицензирования файла .MPD
Теперь я пытаюсь загрузить это видео в автономном режиме, после чего воспроизводить это видео в автономном режиме в Exoplayer2(без подключения к Интернету).
До сих пор я пытался использовать DashDownloadHelper для загрузки видео из файла .MPD. Пожалуйста, объясните мне, как предоставить информацию о лицензировании при загрузке файла.
0 ответов
Вы можете просто загрузить содержимое, как обычный файл.MPD, и выполнить лицензирование двумя способами, т.е.
- онлайн во время воспроизведения видео с помощью HttpMediaDrmCallback
HttpDataSource.Factory licenseDataSourceFactory = CinemaApplication.getAppInstance().buildHttpDataSourceFactory(); HttpMediaDrmCallback httpMediaDrmCallback = new HttpMediaDrmCallback(licenseUrl, licenseDataSourceFactory); if (keyRequestPropertiesArray != null) { for (int i = 0; i < keyRequestPropertiesArray.length - 1; i += 2) { httpMediaDrmCallback.setKeyRequestProperty(keyRequestPropertiesArray[i], keyRequestPropertiesArray[i + 1]); } }
Используя LocalMediaDrmCallback
drmCallback = new LocalMediaDrmCallback (PlayerActivity.KEY_JSON.getBytes ());
Используя вышеупомянутый drmCallback, создайте экземпляр DefaultDrmSessionManager
releaseMediaDrm();
mediaDrm = FrameworkMediaDrm.newInstance(uuid);
DefaultDrmSessionManager<FrameworkMediaCrypto> drmSessionManager = new DefaultDrmSessionManager<>(uuid, mediaDrm, drmCallback, null, false);
Для получения дополнительной ссылки на автономную лицензию ClearKey