我正在使用带有 VP9 编解码器的 webrtc 在 chrome 中测试浏览器屏幕共享。问题是发送者视频的编码具有非常低的帧率 - 或多或少 5fps。我没有在任何地方限制它,这是我的 getDisplayMedia 选项:
const stream = await navigator.mediaDevices.getDisplayMedia({
video: {
frameRate: { ideal: 30, max: 60 },
width: { ideal: 1280, max: 1920 },
height: { ideal: 720, max: 1080 }
},
cursor: 'always',
});
有趣的是,VP8 编解码器没有问题 - 帧速率非常正常(20-30fps)。此外,当我用网络摄像头替换屏幕共享时,即使使用 VP9,它也有 20-30fps。所以问题只在于与 VP9 的屏幕共享。对于这种特定情况,WebRtc 是否有任何限制?有什么办法可以禁用它?
这是我正在使用的简单测试工具的代码(它基于 webrtc 示例): https ://github.com/MikolajMGT/web-rtc-test