是否可以使用 DRM 下载 MPEG Dash 内容?
如何使用 MPD 文件解密?
我尝试下载所有 M4S 片段(音频和视频),但是当我加入这些片段时,视频无法正常工作。
该站点使用 Widevine 平台进行 DRM。
我也尝试过youtube-dl和dash-proxy但再次失败。
我在谷歌上搜索但我没有成功。
是否可以使用 DRM 下载 MPEG Dash 内容?
如何使用 MPD 文件解密?
我尝试下载所有 M4S 片段(音频和视频),但是当我加入这些片段时,视频无法正常工作。
该站点使用 Widevine 平台进行 DRM。
我也尝试过youtube-dl和dash-proxy但再次失败。
我在谷歌上搜索但我没有成功。
不,因为它不是浏览器的一部分。浏览器实现了 eme,它允许将视频解码“卸载”到第三方软件。
当您下载 chrome 时,您会下载另一个编译的“CDM”应用程序,它会进行解码并且是一个“黑匣子”。所以你需要修改那个黑盒 CDM,而不是浏览器。所以唯一的选择就是屏幕截图。
MS 有一个系统甚至可以阻止屏幕捕获软件(因为 Windows 控制操作系统) Chrome 桌面 CDM 有弱点,但不在“youtube 下载器”联盟中。
Google 也不为修改后的浏览器提供 CDM。
几年前,推特上的一位研究人员声称,根据对 CDM 所做工作的了解,直接破解加密本身来打败加密。但在这一点上,它已经超出了“另辟蹊径”的范围,如果您分发此类信息或内容,您肯定会处于法律危险之中。
未来,谷歌希望所有这一切都在硬件中完成,进一步使其难以击败。例如,一旦他们让几家硬件制造商在他们的显示器中安装芯片,他们可能会直接说“如果你想看 google play 或 netflix,你需要一个‘安全显示器’(你知道,所以人们不会监视你。 ..)”。
是基础经济学。如果你不能没有 netflix,他们会锁定它并让你为每次观看付费。如果你是“meh”,他们将把它变成 9.99 并让你沉迷。如果你真的更喜欢一些“开源电影网站,一切都是免费的,虽然很蹩脚”,他们只会尝试跟踪你的兴趣,以便他们可以过上更好的一天做一些你会付出代价的不可抗拒的东西。
在这一点上,人们非常“上瘾”,因此加密芯片被放入显示器、主板、视频卡,甚至连接显示器和计算机的电缆中。但如果他们挤得太紧,人们就会走开。但是他们的数据模型现在会在人们达到这个限制时警告他们,所以这不太可能。
编辑:今天我遇到了一个代码库,它是一个 chrome 扩展,它会在解密视频时告诉你解密密钥。我不会在这里发布链接(但它目前在 github 上公开)。它包含 Google Widevine CDM 用来解密密钥(从许可证服务器加密发送)的私钥。因此,如果您有权观看视频(例如,您在 google play 租用视频),那么您可以看到密钥,下载 mp4,然后使用 ffmpeg 使用播放视频时报告的密钥解密 mp4。然后,您将拥有未加密的视频。这就是为什么 Google 告诉他们的内容提供商只为桌面浏览器提供“低质量”版本,并为在硬件芯片中进行解密的环境保留高质量(例如 4K)内容。
我假设您在问如何处理 DRM 部分并且下载部分可以,使用 dash-proxy 或类似的?
DRM 与 DASH 流式传输的工作方式是,当您尝试播放视频时,流式传输视频的播放器将从清单和/或视频流中识别出视频已加密,并将向 DRM 许可证服务器询问许可证。
对于 Widevine,它需要配置许可证服务器的 URL 或将其输入到播放器中 - 请参阅 Shaka 播放器的示例:https ://shaka-player-demo.appspot.com并从下拉列表中选择自定义资产,然后您将看到如何输入许可证服务器 URL。
如果您已经下载了视频,那么播放器仍然需要识别视频是加密的,DRM 系统是宽泛的,并且需要告知许可证服务器从其请求许可证。
播放器可以识别内容是从 MP4 PSSH 框加密的 - 一个标头,表明它已加密并且正在使用 DRM 系统,在您的情况下是 Widevine。
如果您没有授权,或者视频最初是直播视频,或者如果它有一些时间限制,您可能不会获得许可。同样,如果您打算离线观看,则需要获得永久许可证(在设备上有效一段时间),该许可证可能不适用于您要观看的视频。
如果您有用于加密内容的密钥,您可以尝试来自托管在 Drm-Dash-stream-downloader 存储库中的 github 的 dashdownloader 脚本。它使用 ffmpeg 处理 aes-128 加密内容,使用 Bento 工具 SDK 中的 mp4decrypt 处理其他密码套件。