为什么我们不能简单地编写一个脚本来收集所有可见/点亮的像素并将其创建为图像?

Vik*_*kas 0 screenshot display

如您所知,Netflix 和 Prime Video 等不允许截图。但是我很难理解为什么我们不能写一个脚本,也许用 JavaScript(并在浏览器控制台中运行)读取屏幕和屏幕每个像素的光强度/颜色,然后将它们组合起来创建一个图像即截图?

毕竟,我们在视频中看到的基本上是带有一些光线和颜色的像素。不可能吗?

注意:我知道这样做是不合法的,但我只是好奇是否可能。如果可能,为什么人们不这样做?

Mok*_*bai 5

尝试这样做的工作量完全超出了真正“可行”的范围。它还需要处理视频的硬件的合作。

您需要单独检查超过 200 万个像素 (1080p),然后构建和格式化图像,然后临时存储它,然后在 33 毫秒 (30fps) 后收集下一帧,并使用 JavaScript 一遍又一遍地重复。JavaScript 已经是一种效率相对较低的编程语言,并且正在浏览器中工作,该浏览器试图保护用户免受网页越界的影响。

还有一个事实是视频(最有可能)使用所谓的“覆盖”在显卡上的硬件中播放。这意味着您的浏览器本身会绘制一个黑色、白色或绿色区域,然后简单地告诉图形卡“这是一些视频数据,对其进行解码并将其显示在该空间上”。图形卡完成这项工作,然后作为最后步骤之一覆盖视频,然后将数据推送到显示器。

由于视频保护,最后一步可能是您的浏览器甚至无法在显示点请求该像素的真实代表性副本。很可能视频仅作为受加密保护的最终显示输出的一部分合并到数据流中。

因此,JavaScript 可能看到的只是在该区域上绘制的单一纯色。捕捉并不完全有用。