我有一个大问题,当制作一个屏幕共享演示之间的铬浏览器依赖于WebRTC。
环境:MacBookPro macOS 10.13.3,chrome: 64.0.3282.119
为了获得屏幕媒体sourceId,我还做了一个铬扩展,后台脚本as代码如下:
var screenOptions = ['screen', 'window'];
......
chrome.desktopCapture.chooseDesktopMedia(screenOptions, port.sender.tab, onAccessApproved);
当在我的html javascript中获取媒体sourceId时,请求屏幕媒体如下所示:
var constraints = {
video: {
mandatory: {
chromeMediaSource: 'desktop',
maxWidth: 1280,
maxHeight: 720,
maxFrameRate: 30,
minAspectRatio: 1.77,
chromeMediaSourceId: sourceId
}
}
};
navigator.mediaDevices.getUserMedia(constraints).then(gotLocalStream).catch(function (e) {
alert('getUserMedia() error: ' + e.name);
});
问题来了:当我检查chrome:// WebRTC内部的webrtc统计数据时,我发现当我在主显示器上播放视频时,googFrameRateInput非常低(<=10),而当在主显示器上不做任何事情时,googFrameRateInput可以达到30。
我也尝试在视窗铬,googFrameRateInput可以达到24~30甚至当播放一个视频。
为什么googFrameRateInput在mac中太低?
非常感谢。
发布于 2019-08-28 19:24:23
更新电子6.0.2解决了这一问题。
https://stackoverflow.com/questions/48513388
复制相似问题