gpt4 book ai didi

javascript - Firefox 帧率最大限制

转载 作者:行者123 更新时间:2023-11-29 10:36:37 26 4
gpt4 key购买 nike

在 Firefox 中,当调用 getUserMedia() 时,我添加了一个约束来限制帧速率。但是,任何低于 30fps 的值都不允许在 GUM 权限对话框中选择网络摄像头。

Firefox frame rate constraint

例如,我在 https://mikeg0.github.io/samples/src/content/peerconnection/constraints/ 克隆并更改了 github.com/webrtc/samples 的约束示例.我将 frameRate.min 变量重命名为 frameRate.max。这在 Chrome 中按预期工作,但在 Firefox 中不行。

我找到了 this bugzilla 报告,但它表示已实现帧速率限制。这是 Firefox 尚未解决的问题吗?与this有关吗错误?

或者我是否错误地使用了这个约束条件?

最佳答案

相机发现

浏览器(甚至操作系统)对于从 getUserMedia 返回哪些相机模式存在分歧。

Chrome 会根据您的要求重新缩放和裁剪,而 Firefox 仅返回特定相机的原生模式。两者都在规范范围内。

这两种方法各有优势,但不幸的是它们相互排斥,因为如果您总是得到想要的东西,那么您就没有发现任何关于相机的东西。

至于为什么没有低于 30 fps 的模式,可能是因为您的相机没有任何模式。对于它的值(value),在 Windows 7 上使用 Firefox,我从我的 Logitech C920 获得了各种模式,但是当我限制帧速率时,我倾向于只返回非常高分辨率的模式(比如 2592 x 1944 x 10fps),这可能成为我的特定模型的特征。

在 OSX 上还有 bug 1131861你找到的。 OSX 很棘手,因为它在操作系统级别上透露的相机信息很少。 30 fps 是目前的人为限制。

设置带宽限制

从您的评论来看,您真正关心的是降低对等连接的带宽要求。该规范仍在研究 how to specify encoding parameters like bitrate, resolution and framerate directly ,目前看起来像这样:

var encoding = { maxBitrate: 60000, maxFramerate: 5, scaleResolutionDownBy: 2 };

var sender = pc.addTrack(stream.getVideoTracks()[0], stream);
sender.setParameters({ encodings: [encoding] });

您可以为联播指定多个编码

此功能在 Firefox 47(测试版)中可用,其中 this fiddle应该可以。

关于javascript - Firefox 帧率最大限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35516416/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com