我正在用AWS + Serverless构建一个Widevine许可证代理,并通过具有标准内容:https://storage.googleapis.com/wvmedia/cenc/h264/tears/tears.mpd的Shaka播放器对其进行测试。ContentKey API运行良好,但是如果我尝试使用带有CENC编码的DRM内容的Lambda端点作为许可URL,播放失败是因为Shaka试图发出一个在Lambda中使用Unsupported HTTP method失败的CONNECT请求,对SERVICE_CERTIFICATE的第一个POST请求有效,第二个POST请求用于请求证书的PAYLOAD失败。具体而言:
curl -H 'Host: drm.*****.com:443' -H 'Proxy-Connection: keep-alive' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36' -X CONNECT 'https://drm.******.com'分析与查尔斯的流量,失败是:Client SSL handshake failed - Remote host closed connection during handshake和结果在Unsupported HTTP method。
编辑:,所以Shaka请求密钥将资产解密为一个Widevine,在Lambda上和API后面执行。来自沙卡播放器的service_certificate (有效载荷CAQ=)的第一个POST请求可以工作。第二个请求(来自Shaka player的许可证请求)在CONNECT步骤中阻塞,然后连接被API网关不支持的HTTP方法响应关闭。
对于如何使许可服务器工作,有什么想法吗?
发布于 2018-10-03 09:35:59
因此,经过更多的研究,我发现无法使用Serverless和AWS来完成,因为Shaka player (例如)用于加载CENC内容的HTTP方法是不受支持的。
https://stackoverflow.com/questions/52286099
复制相似问题