【问题标题】:How download a MPEG Dash with DRM?如何使用 DRM 下载 MPEG Dash?
【发布时间】:2021-04-17 15:14:48
【问题描述】:

是否可以使用 DRM 下载 MPEG Dash 内容?

如何使用 MPD 文件解密?

我尝试下载所有 M4S 片段(音频和视频),但是当我加入片段时,视频无法正常播放。

该网站正在使用 Widevine 平台进行 DRM。

我也尝试过youtube-dldash-proxy,但又失败了。

我在 Google 上搜索但没有成功。

【问题讨论】:

  • 您不能没有 Widevine 客户端和 Widevine 许可证。您通常可以在 PC 上获得的唯一 Widevine 客户端与 Web 浏览器(Chrome、Opera 和可能还有 Firefox)捆绑在一起。您可能对此答案感兴趣以了解 DRM / Widevine 提供的内容:stackoverflow.com/a/43866624/413501
  • 是否可以修改像 Chromium 这样的浏览器来下载视频?
  • @aneto 可能使用像 PhantomJS 这样的无头浏览器,使用 JavaScript 获取视频输出并将其保存为文件。否则,可以通过录制您的计算机屏幕将视频保存为截屏视频。

标签: drm mpeg-dash youtube-dl widevine


【解决方案1】:

不,因为它不是浏览器的一部分。浏览器实现了 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)内容。

【讨论】:

    【解决方案2】:

    我假设您在问如何处理 DRM 部分并且下载部分是否正常,使用 dash-proxy 或类似的?

    DRM 与 DASH 流式传输的工作方式是,当您尝试播放视频时,流式传输视频的播放器将从清单和/或视频流中识别出该视频已加密,并将向 DRM 许可服务器询问许可.

    对于widevine,它需要配置许可证服务器的 URL 或将其输入到播放器中 - 请参阅 Shaka 播放器中的示例:https://shaka-player-demo.appspot.com 并从下拉列表中选择自定义资产,您将看到如何输入许可证服务器 URL。

    如果您已经下载了视频,那么播放器仍然需要识别视频是加密的,DRM 系统是宽泛的,并且需要告知许可服务器向其请求许可。

    播放器可以识别出内容是从 MP4 PSSH 框加密的 - 一个标头,表明它已加密并且正在使用 DRM 系统,在您的情况下是 Widevine。

    如果您没有授权,或者视频最初是直播视频,或者有时间限制,您可能不会获得许可。同样,如果您打算离线观看,则需要获得永久许可证(在设备上有效一段时间的许可证),该许可证可能不适用于您要观看的视频。

    【讨论】:

    • 是否可以修改像 Chromium 这样的浏览器来下载视频?
    【解决方案3】:

    如果您有用于加密内容的密钥,您可以尝试托管在 Drm-Dash-stream-downloader 存储库中的 github 上的 dashdownloader 脚本。它使用 ffmpeg 处理 aes-128 加密内容,使用 Bento 工具 SDK 中的 mp4decrypt 处理其他密码套件。

    【讨论】:

      猜你喜欢
      • 2020-09-01
      • 2019-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多