Как загрузить видео с шифрованием ClearKey в ExoPlayer 2

У меня есть файл .MPD, зашифрованный с помощью схемы ClearKey DRM. Я могу воспроизвести этот файл в Exoplayer2 с подключением к Интернету. Exoplayer2 использует LocalMediaDrmCallback для лицензирования файла .MPD.

Теперь я пытаюсь загрузить это видео в автономном режиме, после этого воспроизведу это видео в автономном режиме в Exoplayer2 (без подключения к Интернету).

До сих пор я пытался использовать DashDownloadHelper для загрузки видео из файла .MPD. Пожалуйста, объясните мне, как предоставить лицензионную информацию при загрузке файла.


person Kushal    schedule 28.11.2018    source источник


Ответы (1)


Вы можете просто загрузить контент, как обычный файл .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]);
                }
            }
  • # P2 #
    # P3 #

Используя приведенный выше drmCallback, создайте экземпляр DefaultDrmSessionManager

releaseMediaDrm();
mediaDrm = FrameworkMediaDrm.newInstance(uuid);
DefaultDrmSessionManager<FrameworkMediaCrypto> drmSessionManager = new DefaultDrmSessionManager<>(uuid, mediaDrm, drmCallback, null, false);

Дополнительные сведения об автономной лицензии ClearKey

person Kushal    schedule 11.12.2018