Widevine DRM - Body request payload

hix*_*ixe 6 video drm widevine eme

I'm working on the integration of a player which have to play streams secured with Widevine DRM in a browser.

I've checked some well-known players :

Fortunately, these players provide some samples of stream secured using Widevine DRM.

My question concerns the XHR executes to retrieve DRM Key. In any Widevine secured stream, I can see (in devtools) at least 2 XHR targeting the license server.

Let's take an example: https://media.axprod.net/TestVectors/v7-MultiDRM-SingleKey/Manifest_1080p.mpd

This stream is available in :

在 Chrome (65.0.3325.181) 上,当我加载流时,我可以 2 XHR(让我们省略飞行前的“OPTIONS”xhr):

  • 邮政https://drm-widevine-licensing.axtest.net/AcquireLicense
    • X-AxDRM-MessageAxinom 特有的请求标头
    • 要求Content-Length: 2
    • 请求有效负载等于\x08\x04(右键单击 XHR,然后“复制为 cURL”并将其粘贴到任何文本编辑器中)
    • 回复Content-Length: 706
  • 邮政https://drm-widevine-licensing.axtest.net/AcquireLicense
    • X-AxDRM-MessageAxinom 特有的请求标头
    • 要求Content-Length: 3929
    • 具有一定数据量的请求负载
    • 回复Content-Length: 426

我不明白为什么有2个XHR?\x08\x04此外,无论选择哪种流(在 Widevine DRM 流的情况下),第一个包含两个字符的 XHR总是会发送,有具体含义吗?

dig*_*PBK 4

第一个请求是 Widevine 服务证书

第二个请求是实际的许可证请求

您可以在https://www.widevine.com/product_news.html上阅读更多相关信息

参见 参考资料 部分Update - Chrome 59 and Service Certificates