此问题不是询问getUserMedia()
上的resolutions和frameRates。
关于如何在使用getUSerMedia()
时减少/提高视频中一帧的质量。
这里使用getUserMedia()Demo。
如何更改视频质量? //Please Fiddle answer.
代码:
var video_constraints = {mandatory: {
maxWidth: 320,
maxHeight: 240,
maxAspectRatio:4/3,
maxFrameRate:1
},
optional: [ ]
};
var constraints = {audio: true, video: video_constraints };
navigator.getUserMedia(constraints, successCallback, errorCallback);
答案 0 :(得分:4)
如果不是分辨率或帧速率,我假设你要么谈论比特率或相机设置(白平衡,曝光,对比度等)。
getUserMedia
提供的视频流应该能够以相机硬件提供的最高质量为您提供未压缩的视频。无法调整相机设置;它们是全自动的,由相机驱动程序和/或操作系统控制。如果要调整图像,可以使用画布处理它,使用2d或webgl上下文。有multiple libraries可以帮助您。
对于比特率,当您通过对等连接传输视频时,这只会成为一个问题。这也是自适应地自动完成的。
无论提供的媒体流的质量和大小如何,网络堆栈都实现了自己的流量和拥塞控制算法:每个连接都以低比特率(<500 Kbps)流式传输音频和视频开始,然后开始调整流的质量以匹配可用带宽。