Widevine DRM - полезный груз запроса тела

Я работаю над интеграцией плеера, который должен проигрывать потоки, защищенные с помощью Widevine DRM, в браузере.

Я проверил некоторых известных игроков:

К счастью, эти проигрыватели предоставляют некоторые образцы потока, защищенного с помощью Widevine DRM.

Мой вопрос касается выполнения XHR для получения ключа DRM. В любом защищенном потоке Widevine я вижу (в devtools) как минимум 2 XHR для сервера лицензий.

Давайте рассмотрим пример: https://media.axprod.net/TestVectors/v7-MultiDRM-SingleKey/Manifest_1080p.mpd

Этот поток доступен в:

На Chrome (65.0.3325.181), когда я загружаю поток, я могу сделать 2 XHR (давайте опустим предполетный "OPTIONS" xhr):

  • СООБЩЕНИЕ https://drm-widevine-licensing.axtest.net/AcquireLicense
    • Запрос X-AxDRM-Message заголовок, специфичный для Axinom
    • Запрос Content-Length: 2
    • Полезная нагрузка запроса равна \x08\x04 (Щелкните правой кнопкой мыши на XHR, затем "Копировать как cURL" и вставьте его в любой текстовый редактор)
    • отклик Content-Length: 706
  • СООБЩЕНИЕ https://drm-widevine-licensing.axtest.net/AcquireLicense
    • Запрос X-AxDRM-Message специфичный для Axinom заголовок
    • Запрос Content-Length: 3929
    • Запрос полезной нагрузки с определенным количеством данных
    • отклик Content-Length: 426

Я не понимаю, почему есть 2 XHR? Более того, первый XHR с двумя символами \x08\x04 всегда отправляется независимо от выбранного потока (в случае потока Widevine DRM), есть ли конкретное значение?

2 ответа

Решение

В первом запросе действительно есть конкретное значение. Но точное значение не является общедоступным знанием. Вам потребуется связаться с Widevine и получить сертификат CWIP.

Первый запрос на сертификат сервиса Widevine

Второй запрос является фактическим запросом лицензии

Вы можете прочитать больше об этом на https://www.widevine.com/product_news.html

Смотрите раздел Update - Chrome 59 and Service Certificates

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