2014-06-15 56 views
6

此问题不询问resolutions和帧率getUserMedia()更改质量网站RTC

这是关于如何在使用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

你说的是什么品质?发送质量?本地视频播放的质量?如果不是分辨率或帧速率,你想要什么? –

回答

2

如果没有分辨率或帧速率,我假设你要么谈论比特率或相机设置(白平衡,曝光,对比度等)。

getUserMedia提供的视频流应该以相机硬件提供的最高质量提供未压缩的视频。无法调整相机设置;它们是完全自动的,由相机驱动程序和/或操作系统控制。如果要调整图像,可以使用2d或webgl上下文使用画布处理图像。有multiplelibraries可用于帮助你。

至于比特率,这只会在通过对等连接传输视频时成为问题。这也是自适应和自动完成的。

无论提供的媒体流的质量和大小的,网络堆栈实现其自己的流量控制和拥塞控制算法:每个连接开始通过在低比特率(< 500 Kbps)的音频和视频流并且然后开始调整流的质量以匹配可用带宽。

来源:High Performance Browser Networking

+3

您可以通过向SDP添加一个比特率属性,然后将其设置为本地并将其发送给远程方,从而为比特率设置Webrtc连接的上限。 –

+0

@MoathHowari视频质量究竟是什么意思? – brianchirls

+0

@brianchirls视频质量意味着视频质量 究竟是什么意思? – Muath