在网站上,我有一个加载我的游戏(从另一个域)的 iframe,我想捕获并流式传输它。我怎样才能实现这个目标?只是用户与其交互时此 iframe 的内容,而不是整个屏幕或页面。
这是我尝试过的:
使用 Chromium/Mozilla 浏览器 API 中的
getDisplayMedia()
,
我认为将 feature-policy:
添加到 HTTP 标头和 allow
属性可以解决问题,但实际情况是它只允许您使用 Screen Capture API,而该 API 似乎不支持将 iframe 内容捕获为视频。
第二,我尝试使用 iframe 有
allow='displaycapture'
但是当我调用 getDisplayUserMedia()
时,iframe 没有显示。
我最后放弃的绝望尝试是一个浏览器扩展,它可以以某种方式捕获 iframe 内容作为视频流,但这似乎很困难,因为它不像 iframe 屏幕输出作为二进制文件在 chromium 引擎深处的某个地方进行流式传输。
出于安全原因,无法记录来自第 3 方来源的嵌入页面。您需要将其放在同一域下,在这种情况下,您可以使用
<iframe allow='displaycapture'/>
或添加 HTTP 标头 Permissions-Policy: display-capture=(self)
。除此之外,你运气不好。