Как скачать зашифрованное видео 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

Другие вопросы по тегам