Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何更改分辨率为640*480的getusermedia中的FPS?_Javascript_Webrtc_Frame Rate_Getusermedia - Fatal编程技术网

Javascript 如何更改分辨率为640*480的getusermedia中的FPS?

Javascript 如何更改分辨率为640*480的getusermedia中的FPS?,javascript,webrtc,frame-rate,getusermedia,Javascript,Webrtc,Frame Rate,Getusermedia,我在中更改了FPS,但分辨率也更改了。如何在保持分辨率为640×480的情况下降低FPS 我尝试了下面的代码,但视频显示的分辨率不同 var约束={ 视频:{ 宽度:640, 身高:480, 帧率:{ 理想:10, 最高:15 } } }; 试试: 请注意,虽然并非所有平台上的所有浏览器都会缩小到任意尺寸,但会让您在离散的本机模式中进行选择。看到分辨率的变化通常是一种迹象,因为它是如何计算的。因此,如果失败,要做好后备准备 更好的策略可能是先获得所需分辨率的相机,然后使用applyConstra

我在中更改了FPS,但分辨率也更改了。如何在保持分辨率为640×480的情况下降低FPS

我尝试了下面的代码,但视频显示的分辨率不同

var约束={
视频:{
宽度:640,
身高:480,
帧率:{
理想:10,
最高:15
}
}
};
试试:

请注意,虽然并非所有平台上的所有浏览器都会缩小到任意尺寸,但会让您在离散的本机模式中进行选择。看到分辨率的变化通常是一种迹象,因为它是如何计算的。因此,如果失败,要做好后备准备

更好的策略可能是先获得所需分辨率的相机,然后使用
applyConstraints
降低其帧率:

await stream.getVideoTracks()[0].applyConstraints({
  width: {exact: 640},
  height: {exact: 480},
  frameRate: {ideal: 10, max: 15}
]);

如果webrtc需要,您还可以使用新的收发器API,更准确地说,通过使用
YourRTPeerConnection.add收发器('video',{kind:'sendonly',sendEncodings:[{Framerate:15,scaleResolutionDownBy:2}]),来设置帧速率和视频缩放比例
@nasskalte.juni我想你是说?当心对它的支持是零散的atm。对同步广播有用(每层不同的帧率)。是的,我忘记了“max”-前缀,很好的捕捉。目前,您只能在较新的chrome版本中使用它,但正如您所说的,它可能会在同步广播场景中派上用场。
await stream.getVideoTracks()[0].applyConstraints({
  width: {exact: 640},
  height: {exact: 480},
  frameRate: {ideal: 10, max: 15}
]);