当前位置: 首页 > 知识库问答 >
问题:

如何使用DRM下载MPEG Dash?

傅砚
2023-03-14

可以用DRM下载MPEG Dash内容吗?

如何使用MPD文件进行解密?

我尝试下载所有M4S片段(音频和视频),但当我加入这些片段时,视频无法正常工作。

该网站正在使用Widevine平台进行数字版权管理。

我尝试了太多的youtube dl和dash proxy,但再次失败。

我在谷歌上搜索,但没有成功。

共有3个答案

郭兴文
2023-03-14

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

邰勇军
2023-03-14

我假设您正在询问如何使用dash proxy或类似工具处理DRM部分,以及下载部分是否正常?

DRM与DASH streaming配合使用的方式是,播放视频的播放器将在您尝试播放视频时从清单和/或视频流中识别该视频已加密,并向DRM许可证服务器索要许可证。

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

如果您下载了视频,那么播放机仍需要识别视频已加密,DRM系统是widevine,并且需要告知许可证服务器从中请求许可证。

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

如果您没有授权,或者视频最初是实时流,或者如果有时间限制,您可能无法获得许可。同样,如果您计划脱机观看,则需要获得永久许可证(在设备上有效一段时间),该许可证可能不适用于您想要观看的视频。

史劲
2023-03-14

不,因为它不是浏览器的一部分。浏览器实现了eming,允许将视频解码“卸载”到第三方软件。

当您下载chrome时,您会下载另一个编译的“CDM”应用程序,它进行解码并且是一个“黑匣子”。所以你需要修改那个黑匣子CDM,而不是浏览器。所以唯一的选择是屏幕截图。

微软有一个系统,甚至可以防止屏幕捕捉软件(因为视窗控制操作系统)Chrome桌面清洁发展机制有弱点,但不是在“youtube下载器”的联盟中。

谷歌也不为修改后的浏览器提供清洁发展机制。

几年前,twitter上的一名研究人员声称,基于对CDM正在做什么的了解,通过直接破解加密本身,打败了加密。不过,现在已经超出了“另眼相看”的范围,如果你发布此类信息或内容,你肯定会面临法律风险。

在未来,谷歌希望所有这些都能在硬件上实现,从而使其更难被击败。例如,一旦他们让几家硬件制造商在他们的显示器上安装芯片,他们可能会直截了当地说,“如果你想观看谷歌播放或netflix,你需要一个‘安全显示器’(你知道,这样人们就不会监视你了……)。

这是基础经济学。如果没有netflix你就活不下去,他们会封锁它,让你为每一次观看付费。如果你是“meh”,他们会让你达到9.99,然后把你卷进去。如果你真的喜欢一些“开源电影网站,那里所有东西都是免费的,虽然很蹩脚”,他们会试图追踪你的兴趣,希望有更好的一天,他们可以制作一些你愿意付费的不可抗拒的东西。

在这一点上,人们相当“上瘾”,所以加密芯片被放入显示器、主板、视频卡,甚至连显示器和计算机的连接电缆。但如果他们挤得太厉害,人们就会走开。但他们的数据模型现在会警告他们,如果人们达到了这个极限,那就不太可能了。

编辑:今天我遇到了一个代码库,它是一个chrome扩展,在解密视频时会告诉你解密密钥。我不会在这里发布链接(但它目前在github公开发布)。它包含Google Widevine CDM用来解密密钥(从许可证服务器加密发送)的私钥。因此,如果你有权观看一段视频(例如,你在google play租了一段视频),那么你可以看到密钥,下载mp4,然后使用ffmpeg对mp4进行解密,密钥是在你播放视频时报告的。然后你会有一个未加密的视频。这就是为什么谷歌告诉他们的内容提供商只为桌面浏览器提供“低质量”版本,并为在硬件芯片上进行解密的环境保留高质量(如4K)内容。

 类似资料:
  • 问题内容: 我正在尝试获取下载链接并下载文件。 我有一个包含以下链接的日志文件: 我有这样的代码: 到目前为止,我不知道如何获取下载链接并下载它。可以使用selenium下载文件吗? 问题答案: 根据文档,您应该配置为自动下载具有指定内容类型的文件。这是在txt文件中使用第一个URL的示例,该文件将文件保存在当前目录中: 注意,我也简化了xpath。

  • 我想用php从我的服务器下载文件。我搜索了谷歌,在这里找到了答案。这个答案表明我必须为此编写这些代码。 但我能做到这一点,只需这两行: 那么,我为什么还要像上面的代码那样多写几行呢?

  • 问题内容: 我试图使用Python从Internet下载某些内容,但我使用的是urllib模块,但无法正常工作。我希望能够将下载的文件保存到我选择的位置。如果有人可以用清晰的例子向我解释如何做到这一点,将不胜感激。 问题答案: 我建议像这样使用urllib2: 您甚至可以将其缩短为(尽管,如果您打算将每个单独的调用括在-中,则不想将其缩短):

  • 我正在使用axios处理基本的http请求,如GET和POST,并且运行良好。现在我需要能够下载Excel文件了。axios是否可以实现这一点?如果有,有人有一些示例代码吗?如果没有,我还可以在React应用程序中使用什么来执行相同的操作?

  • 问题内容: 我想在没有X的情况下使用OpenGL渲染,而在Google上我找到了它:http : //dvdhrm.wordpress.com/2012/08/11/kmscon-linux-kmsdrm-based-virtual- console/ 那里说有可能。我应该使用DRM和EGL。EGL可以创建opengl上下文,但需要一个NativeWindow。DRM可能会为我提供NativeWi

  • 问题内容: 我正在尝试使用cURL从GitHub下载tarball ,但似乎没有重定向: 注意:wget对我有用: 但是我想使用cURL,因为最终我想用类似以下内容的内嵌来解压缩它: 我发现重定向后的URL原来是https://download.github.com/pinard- Pymacs-v0.24-beta1-0-gcebc80b.tar.gz ,但是我希望cURL足够聪明以至于可以理解