我正在使用Github的官方定制接收器,我正在尝试播放MPEG-DASH Widevine受保护的视频流。 Receiver正在Nexus Player 5.1.1上运行。我正确设置customData和许可证服务器URL。问题是播放器(DRM组件)没有正确地为许可证服务器生成POST请求所需的数据。应使用PSSH box中的数据生成此数据,并包含有关DRM客户端等的信息。下面是几乎为空的POST请求(省略了一些CORS特定的头文件),请求主体只包含两个字节(08 04)
POST XYZ HTTP/1.1
Host: XYZ
Connection: keep-alive
Content-Length: 2
Origin: ABC
User-Agent: Mozilla/5.0 (Linux; Android 5.1.1; Nexus Player Build/LMY47V) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.75 Safari/537.36 CrKey/1.13.31432
content-type: text/xml;charset=utf-8
Accept: */*
Referer: http://ABC/ftp-custom/CastMediaPlayerStreamingDRM/mpl.html
Accept-Encoding: gzip, deflate
Accept-Language: en-GB
CAST-DEVICE-CAPABILITIES: {"display_supported":true}
..
正确的请求正文(在Windows / Chrome上)应如下所示(请求正文中的“非人类可读”内容)
POST XYZ HTTP/1.1
Host: XYZ
Connection: keep-alive
Content-Length: 1763
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.152 Safari/537.36
Origin: http://shaka-player-demo.appspot.com
Accept: */*
Referer: http://shaka-player-demo.appspot.com/
Accept-Encoding: gzip, deflate
Accept-Language: cs,en;q=0.8
ChromeCDM-Windows-x86
architecture_name x86-32
company_name Google
model_name ChromeCDM
platform_name Windows2
感谢您了解如何使其正常工作。