Использование строки лицензии для воспроизведения контента с DRM-защитой Widevine на ExoPlayer

Я пытаюсь воспроизвести файл тире, защищенный DRM Widevine на ExoPlayer (v2.5.4). У меня нет доступа к серверу лицензий, но есть прокси-сервер, на котором я могу выполнить вызов API для получения ответа на лицензию. Сервер лицензий содержит следующий ответ:

  1. Строка лицензии в кодировке Base64
  2. ContentKeys, который представляет собой список из двух строк (снова выглядит как кодировка base64)

Есть ли способ передать эти значения напрямую в ExoPlayer? По сути, я пытаюсь воспроизвести контент, защищенный DRM, без URL-адреса. Аналогичный вопрос: https://github.com/google/ExoPlayer/issues/3107


person chochim    schedule 08.06.2021    source источник


Ответы (1)


Widevine и другие системы DRM фактически зашифруют запрос и ответ на лицензию, поэтому простое получение копии ответа на лицензию не предоставит вам ключ дешифрования мультимедиа для контента таким образом, чтобы вы могли получить к нему доступ, если это то, что вы имеете в виду. Другими словами, ответ о лицензии был создан таким образом, что только клиент DRM на устройстве может правильно прочитать его и извлечь ключ.

Если вы имеете в виду, что между вашим проигрывателем, отправляющим запрос Widevine, и сервером лицензий есть прокси-сервер, это не имеет значения, если прокси не изменяет или не обновляет запрос и ответ.

Вы можете иметь в виду, что у вас действительно есть доступ к самому ключу шифрования мультимедиа - если да, вы можете просто самостоятельно расшифровать контент в своем приложении или на своем устройстве и предоставить его игроку, или вы могли бы обновить манифест и предоставить ключ с помощью другого метода, например, механизма Клирки в DASH.

person Mick    schedule 08.06.2021
comment
Спасибо за ответ, Мик. Я проверю, не портит ли прокси-сервер исходную лицензию в какой-либо форме. - person chochim; 09.06.2021