Dan*_*ari 9 javascript screenshot recording reactjs
我正在为我的一个客户制作一个教育网站,他要求实现一项可以防止用户在网站上录制屏幕的功能,因为该网站会有付费内容和一些 Vimeo 视频,所以他不想允许有人通过屏幕录制窃取他的视频。我知道这可以为 Android 或 IOS 应用程序完成。作为一名 React 开发人员,我还可以使用 expo 为 Android 应用程序实现此功能。但客户想要在网络浏览器上为网站执行此操作。我花了4个小时在网上搜索,仍然一片空白,因为我没有得到一个解决方案。你能告诉我怎样才能做到吗?即使可能或不可能?
这些答案有点错误。他们使用称为 DRM(数字版权管理)的技术。
DRM(数字版权管理)播放器是采用 DRM 技术来保护视频、音乐和电子书等数字内容免遭未经授权的访问、复制或分发的媒体播放器。DRM 通常涉及对内容进行加密并限制对解密密钥的访问,该解密密钥仅可供授权用户使用。
当谈到防止屏幕捕获时,DRM 播放器经常使用加密和水印技术的组合。视频已加密,播放器会即时解密以进行播放。然而,解密过程通常是在受保护的环境中完成的,这使得屏幕录制软件很难捕获解密的内容。播放器还会在视频帧中添加不可见的水印,以识别正在观看视频的观看者。当尝试进行屏幕录制时,播放器可以检测捕获的帧中的水印并显示黑屏或其他混淆方法以防止视频被录制。
这项技术之所以有效,是因为屏幕录制软件会捕获屏幕上显示的所有内容,无论它是否加密。然而,如果屏幕录制软件无法访问解密的内容,它只会捕获黑屏或混淆方法,这使得录制的视频毫无用处。
我无法用一个简单的答案清楚地解释这一过程是如何工作的,因为有很多事情需要理解。希望你能从我的回答中得到一些信息。
小智 5
不幸的是,这似乎不可能。目前,浏览器无法了解是否有人正在录制屏幕。
如果浏览器能够识别像屏幕录像机这样简单的东西,那将是一个相当大的安全风险。这意味着浏览器具有比应有的更高级别的权限。
您应该将此传达给您的客户。有时客户根本不了解该技术。