gpt4 book ai didi

java - 使用 "pure"Java播放DRM加密的视频流

转载 作者:行者123 更新时间:2023-11-30 05:23:07 25 4
gpt4 key购买 nike

我正在研究是否有可能(我确信是的,我的意思是简单的方法)构建一个基于Java的客户端桌面应用程序来播放受DRM保护的视频流。

DRM:DASH CENC DRM1、PlayReady、Widevine Classic\Modular、FairPlay。

VLCJ支持从内存输入功能来实现自定义协议(protocol)或 DRM,但它看起来像是一个痛苦的 DRM 规范挖掘。

有一个Node.js开源项目DOWNstream对于 Electron这可以帮助 Widevine DRM。article描述了 Java 和 Electron 集成 ( source ),但我想在这种情况下这是偶然的复杂性。

以前我没有面对视频流领域,我不想重新发明轮子,所以我的问题是:

  • 似乎没有“纯”Java 实现。为什么?因为格式之战?安全问题?
  • 您是否知道任何简单的方法(DalvikVM 支持开箱即用的 Widevine)来创建应用程序,而无需涉及 JS 等“浏览器技术”?

谢谢。我很高兴听到您的想法。

最佳答案

我认为了解 DRM 在平台上的提供方式可能会帮助您了解这些选项,并让您思考如何实现您的解决方案。

DRM 客户端功能,即驻留在手机、平板电脑或笔记本电脑等上的 DRM 功能,而不是 DRM 服务器端功能,通常由设备或操作系统供应商在生产设备或操作系统时内置/制造。对于某些设备上的某些 DRM,也可以通过 SDK 添加它。

大多数 DRM 是通过移动设备和平板电脑中的“ native ”播放器以及 PC、笔记本电脑等上的浏览器使用的,因此这是您通常可以信赖的默认支持。智能电视和游戏机更加多样化,可以通过浏览器或 native 进行,具体取决于设备。

最近,几乎所有移动和平板电脑浏览器都添加了对基于浏览器的 DRM 的支持,但笔记本电脑上的许多 DRM 仅限于浏览器,或者更具体地说,CDM(内容解密模块)浏览器添加了特定于 DRM 的内容。

PC 和笔记本电脑上的浏览器外部支持某些 DRM - 例如,基于 Windows 的设备通常会以应用程序可以访问的方式支持 PlayReady DRM。 Microsoft 在此处提供了更多相关信息:

上面的链接有一个很好的图表,总结了不同的设备,我也将其复制到下面,因为它有助于解释:

enter image description here

我不知道 PC 或笔记本电脑上有类似的 Widevine 或 FairPlay 支持,尽管可能存在或正在开发中。

所以,回到你的问题,大多数跨平台应用程序在笔记本电脑和 PC 上使用 Javascript 和浏览器技术进行 DRM 的原因并不是真正的语言问题,而是因为通过浏览器是访问某些笔记本电脑和 PC 上的 DRM 功能。

对于 Windows,您可以选择使用通用 Windows 平台 API,但这仍然可能无法满足您的需求,并且是 Windows 和 PlayReady 特定的。

关于java - 使用 "pure"Java播放DRM加密的视频流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59176140/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com