使用Electron desktopCapturer配合getUserMedia时如何限制采集帧率?
可以对desktopCapturer采集源设置帧率限制,你遇到的报错是约束语法混用导致的。
报错原因是你当前使用了Chrome早期的mandatory/optional专有约束语法,而frameRate属于W3C标准约束的写法,两种语法不能同时使用才会触发该错误。
现在Electron已经支持将桌面采集的专属参数直接写在video约束层级下,不需要再套mandatory字段,调整后的代码如下:
const sources = await window.api.desktopCapturer.getSources({ types: ["screen"], }) const constraints = { audio: false, video: { chromeMediaSource: "desktop", chromeMediaSourceId: sources[0].id, frameRate: { max: 5 } }, }
如果需要强制固定帧率,可将frameRate设置为{ exact: 5 },注意要确认采集源本身支持对应帧率,否则会抛出约束不支持的错误。
内容的提问来源于stack exchange,提问作者sunknudsen
相关产品推荐
相关产品推荐

