Javascript 如何更改分辨率为640*480的getusermedia中的FPS?
我在中更改了FPS,但分辨率也更改了。如何在保持分辨率为640×480的情况下降低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
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}
]);