【发布时间】:2020-03-29 06:18:42
【问题描述】:
我正在研究是否有可能(我确定它是,我的意思是简单的方法)构建一个基于 Java 的客户端桌面应用程序来播放受 DRM 保护的视频流。
DRM:DASH CENC DRM1、PlayReady、Widevine Classic\Modular、FairPlay。
VLCJ 支持从内存输入功能来实现自定义协议或 DRM,但它看起来像一个痛苦的 DRM 规范挖掘。
有一个 Node.js 开源项目 DOWNstream for Electron 可以帮助 Widevine DRM。 article 描述了 Java 和 Electron 的集成 (source),但我想在这种情况下这是偶然的复杂性。
以前我没有面对视频流域,也不想重新发明轮子,所以我的问题是:
- 似乎没有“纯”Java 实现。为什么?因为格式战?安全问题?
- 您是否知道任何简单的方法(DalvikVM 支持开箱即用的 Widevine)来创建应用程序而不涉及像 JS 这样的“浏览器技术”?
谢谢。很高兴听到您的想法。
【问题讨论】:
-
可能是因为过去几年对桌面 Java 的兴趣很少。所有的操作都是服务器端的(或者 Android,如果你想把它算作 Java,但那里会使用本机媒体堆栈)。
-
@Thilo 感谢您的评论。由于Web,桌面用户界面将保持活力。实际上,Electron 就是一个很好的例子。您是否同意没有机会找到简单的解决方案?
-
问题 1 将吸引大多数固执己见的答案,这不符合 SO 政策。问题 2 也可能被视为推荐任何支持您需求的第三方工具的请求,这也是题外话,可能只会吸引固执己见的建议,这又不是 SO 想要的范围。
-
“感谢 Web,桌面 UI 将保持活力”。就Java而言,恰恰相反。小程序完全死了,现在 Web 浏览器中发生的一切都在使用 HTML5/Javascript 技术。在浏览器之外,很多“桌面应用程序”实际上是重新打包的网络应用程序(例如 Electron),也使用 Javascript 堆栈而不是原生或 Java 工具。
-
@Thilo 有道理。泰。
标签: java electron drm widevine