有没有办法在 HTML5 视频上使用 DRM?
Posted
技术标签:
【中文标题】有没有办法在 HTML5 视频上使用 DRM?【英文标题】:Is there a way to use DRM on HTML5 video? 【发布时间】:2011-02-28 08:08:58 【问题描述】:由于 Flash 正在失势,我想知道是否有办法使用 DRM(H264、.ogg 和 WebM)保护 html5 视频。
【问题讨论】:
我在该页面上找不到特别提到 MOV 文件支持 DRM 的位置。你能澄清一下确切的来源吗? (我可能只是想念它。)谢谢! Quicktime 流媒体使用提示,这至少可以防止用户使用另存为功能。这不是真正的 DRM 解决方案,因为它很容易找出要直接指向的文件。 电影业还没有找到“保护”好莱坞电影的方法。互联网还没有找到一种方法来“保护”用户可以查看的网络上的其他媒体,甚至是静态图像。您正在这两者的交汇处寻找一些东西。您找到的任何“解决方案”仍然可以轻松绕过任何可以捕获我的计算机正在播放的任何视频的免费/廉价程序。我想说你的时间最好花在其他地方,比如改进你的内容,例如,斯皮尔伯格并没有为此失眠。 :-) 如果有人感兴趣的话,W3C bug tracker 有一个很好的讨论:w3.org/Bugs/Public/show_bug.cgi?id=10902 【参考方案1】:W3C FAQ on HTML5 上写着:
是否支持 HTML5 视频中的数字版权管理 (DRM)? HTML5 不提供直接支持,也没有任何障碍在视频中使用 DRM。它目前期望这将由特定的编解码器/实现来处理。有一些实现允许在 HTML5 视频中使用 DRM。
在 HTML5 的范围内处理 DRM 吗? 如果有足够多的利益相关者希望将 HTML5 本身中处理 DRM 的某些方面标准化为包含视频和音频媒体的一部分,那么 W3C 帮助标准化满足市场需求的方法是有意义的。然而,与所有 W3C 工作一样,相关利益相关者需要表现出他们致力于开发它,而不是期望它会自行发生。
这意味着它目前不受支持,但在 W3C 错误跟踪器 here 上已对此进行了讨论。
更新: 对此主题感兴趣的人可能想查阅新的encrypted media extension standard 的工作草案。
更新:目前主流浏览器都支持 EME。
【讨论】:
我添加了这个作为答案,因为它添加了一些相关的新信息。 Netflix 最近将尝试实现他们的 approch techblog.netflix.com/2013/04/html5-video-at-netflix.html 来保护他们的内容并使用 Html v5 @Joost :我需要有关支持 EME 的浏览器版本的更多详细信息。 Chrome 34+、IE 11+、Chrome for android 34+ 和 Safari 8+ 支持 EME 版本(可能不是最新的,请随时查找更多详细信息)。 Firefox EME 支持正在开发中bugzilla.mozilla.org/show_bug.cgi?id=eme @user2284570 也看到托尼的回答。【参考方案2】:现在可以了。 https://dvcs.w3.org/hg/html-media/raw-file/tip/encrypted-media/encrypted-media.html
这是一个例子。 http://www.html5rocks.com/en/tutorials/eme/basics/
这是我在当前浏览器支持方面能找到的最好的页面。 http://www.jwplayer.com/html5/mediasource/
在撰写本文时,
支持 EME Win8.1 中的 IE11 Chrome(桌面和移动) OSX Yosemite 中的 Safari 8【讨论】:
【参考方案3】:可能不会,即使有 EME DRM 插件界面。
一些浏览器现在支持另一种类型的插件,称为 EME(加密媒体扩展 CDM),用于特定于供应商的 DRM 实施,例如 Microsoft PlayReady、Google WideVine、Apple FairPlay 等。
但是,它唯一属于公共标准的部分是启动特定于供应商的 EME 插件的 JS API。
使用它所需的实际 DRM API 是特定于供应商的、机密的和专有的。要跨浏览器使用 DRM,您必须与 Adobe、Microsoft、Google 和 Apple 签署单独的合同(如果您不是 Netflix,这可能会很困难)。
考虑放弃 DRM 的想法,因为它更有可能适得其反而不是保护内容。
这是一个更新的答案,cmets 不再有意义了
【讨论】:
出于对 HTML 的普遍兴趣,我认为这很有趣,也许可以测试一些 hack。您的建议似乎很容易被一个简单的插件所迷惑。我发现的一个“黑客”是一种无法完全下载视频的方法。我通过在下载快要完成时无限延迟/休眠进程来让下载无法完成。这仍然允许仅使用 html5 和服务器端 hack 来查看视频,但不能下载视频。这种黑客攻击当然不是 100% 安全的,而且对服务器端的资源不利,但应该有解决方案。 当然,这些技巧很容易解决。破解服务器永远不会完成下载也不会阻止任何人 - 在大多数浏览器中,用户只需单击“停止”即可停止下载并保留迄今为止已下载的数据。【参考方案4】:已经在 chrome 中了。
这里是a running example 使用它。
【讨论】:
好点。尽管您仍然必须在 chrome://flags/ 中的 这个答案说明了什么?【参考方案5】:Widewine 为 HTML5 和 h.264 提供视频 DRM。最近,另一家公司海海软件表示他们发布了用于 MP4 和 WebM 视频的 HTML5 DRM:.它不再需要 Flash。你可以在网上试试。 HTML5 Demo in Xvast browserDRM-X 4.0 in the news
【讨论】:
包含图片的网页是否有任何 DRM?【参考方案6】:您可以使用公钥/私钥实施某种加密方案 - 我最近听说 http://www.widevine.com/ 似乎正在为 html5 和 h.264 做类似的事情。但我不知道有谁申请过网络视频。
【讨论】:
他们似乎没有提供任何与 html5 相关的内容。它主要是一个闪存实现。 Netflix 也使用 Widevine,但由于 DRM 问题,不会很快转向 HTML5。 我最近看到一个他们声称支持 HTML5(即 H.264 可能)的演示文稿 他们的 Demo 页面似乎需要 flash... (Flash 10.x+)【参考方案7】:当然,您可以阻止某人下载文件,只需不授予他们从您服务器上某些文件夹下载任何内容的权限即可。也许我在这里缺少一些东西。看起来这将是一个相对简单的解决方案。
【讨论】:
DRM 的理念是用户可以在特定条件下访问文件。您可以让用户观看视频,但不能下载。 Silverlight 和 Flash 为网络提供 DRM 视频,但使用原生 HTML 元素当然更好。以上是关于有没有办法在 HTML5 视频上使用 DRM?的主要内容,如果未能解决你的问题,请参考以下文章
无法在 Android 中使用 React Native Video DRM Fork 播放 DRM 视频