我正在将屏幕捕获集成到我正在扩展的框架中。我通过 getDisplayMedia 方法请求屏幕的 MediaStream 并使用RecordRTC library记录它。Firefox 和 Chrome 都允许用户指定共享的具体内容,例如整个屏幕、特定窗口或单个选项卡(仅限 Chrome)。我注意到这里的选择会显着影响生成的视频文件大小。下面的结果来自 30 秒的记录,其中浏览器窗口填满了整个屏幕。
铬合金:
整个屏幕:3.44 MB
窗口:0.81 MB
标签:0.15 MB
火狐:
整个屏幕:5.23 MB
窗口:3.56 MB
当然,当录制与整个屏幕相对的窗口时,分辨率会稍微变小。就像 Firefox 录制一样:整个屏幕 = 2560x1440 和窗口 = 2488x1376,但我认为这不会有太大的不同。
我尝试查看 Chromium 源代码(因为它是开源的和基于 Chrome 的)以找出不同选项之间的区别,但似乎无法弄清楚发生了什么。我的谷歌搜索也没有成功。
有谁知道这些巨大差异的原因是什么?
如果这有所作为,我在 Ubuntu 20.04 上。