问题标签 [eme]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
162 浏览

android - 不支持 Android WebView 和 Widevine 永久许可证?

我正在开发一个具有嵌入式 WebView 以播放受 DRM 保护的内容的应用程序。虽然我可以使用 Widevine 正确播放内容,但我无法创建允许持久许可证的 EME 密钥系统(会话类型:['persistent-license'])。

通过检查,Android 设备上的 Chrome 确实支持 Chrome 下的永久许可证:https ://www.shaka-player-demo.appspot.com/support.html

但是,在 WebView 中检查相同显示支持持久性。

我假设缺少配置或 WebView 缺少功能,但有关离线许可证的文档非常稀少。

0 投票
1 回答
195 浏览

encryption - 如何在本地服务器中使用 videojs-contrib-eme

谁能指导我在没有互联网的本地服务器(带有接入点)中使用 videojs-contrib-eme实现加密媒体扩展的步骤。

用户通过移动设备使用 WiFi 连接到本地服务器并在浏览器中播放视频。

所以我的问题是 EME 实现使用以下外部组件

  1. 钥匙系统
  2. 内容解密模块 (CDM):
  3. 许可证(密钥)服务器
  4. 包装服务

(请参阅更多信息——https: //developers.google.com/web/fundamentals/media/eme

videojs-contrib-eme已经提供了哪些组件,我需要实现哪些组件?

0 投票
2 回答
142 浏览

javascript - “加密”事件未触发,尽管使用 cenc mp4 数据提供源缓冲区

我试图了解 DRM 系统是如何工作的,所以我的旅程开始于尝试使用 Clear Key DRM 系统播放 cenc 加密的 mp4 视频,而不使用 dash.js 或 Shaka Player 等任何库。

我遇到的第一个问题是我并不总是收到“加密”事件。我只在 Safari 上收到“加密”,但在 Google Chrome 和 Firefox 上都没有。

有趣的是,我确实在 Google Chrome 和 Safari 上收到了“waitingforkey”,但在 Firefox 上却没有。

这个事实最让我困惑,因为如果谷歌浏览器知道它需要一个密钥,我假设它必须知道媒体是加密的,那么为什么它不触发“加密”事件呢?

您可以在下面找到我使用的代码。我正在使用一些便利功能。我希望很清楚他们做了什么。如果不是,您可以在此处查看它们的定义。我的示例也在这里在线供您在浏览器中进行测试和调试。

我拥有的 cenc encrpyted mp4 文件来自 dash.js 示例页面,所以我认为这不是我问题的根源。

总结一下我的主要问题是:为什么没有触发“加密”事件,或者我认为应该触发它的假设是错误的?

我还认为我花哨的 util 函数可能是问题的原因。可悲的是,情况并非如此。您可以在此处查看没有 utils 文件的我的版本。它的行为就像其他版本一样。

0 投票
0 回答
34 浏览

xamarin.android - Xamarin Android WebView EME API

Xamarin Android WebView 是否有权访问 EME API?如果没有可以激活吗?如果无法激活,是否有类似 WebView 的东西可以访问 EME API?

0 投票
0 回答
42 浏览

javascript - EME 如何保护 DRM 的版权?

我试图在我的编程参考网站上解释加密媒体扩展 (EME) API 。

在对视频文件进行加密和解密后,我开始想知道 EME API 将如何保护视频的版权。如果用户只是简单地下载电影文件并截获许可证密钥怎么办?用户也不能解密视频吗?