首页 > 解决方案 > 使用 NodeJS 创建一个 Widevine 许可证代理服务器

问题描述

我正在使用 Shaka Player 在我们的网站上播放受 DRM 保护的媒体流媒体内容。我想在客户端和原始许可证请求之间创建一个代理服务器,以便所有许可证请求都转发到我的服务器,它请求许可证并将响应转发回客户端。

代码:我正在运行contentId一个以参数为参数的快速服务器。POST我使用 axios创建一个请求。对于请求bodyheaders我只是从原始请求中传递过来。

当玩家提出两个请求时,我的第一个包含2-Byte有效负载的请求被接受,我得到了所需的响应,如此处所示。 图 1:第一个请求的正文负载

图 2:第一个请求的响应

播放器获取所需的数据并使用新的有效负载发出第二个请求,但此时我的服务器抛出错误,因为来自服务器的请求失败403: Access Denied

图 3:第二个请求的负载

需要帮助了解我的代码在哪里失败。我还在 SOF 上查看了更多此类问题,但没有发现这样做的想法,但人们说这是可能的。只是补充一下,如果许可证 URL 直接添加到播放器,那么它就可以工作。

标签: networkingaxiosdrmwidevineshaka

解决方案


推荐阅读