改变质量webRTC

Mua*_*ath 10 javascript html5 html5-video webrtc

这个问题不是询问有关分辨率和frameRates的问题getUserMedia().

它是关于如何在使用时降低/提高视频中一帧的质量getUSerMedia().

这里使用getUserMedia()进行演示.

如何改变视频的质量? //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);
Run Code Online (Sandbox Code Playgroud)

bri*_*rls 6

如果不是分辨率或帧速率,我假设您是在谈论比特率或相机设置(白平衡、曝光、对比度等)。

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

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

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

来源:高性能浏览器网络

  • 在将 SDP 设置为本地并将其发送到远程方之前,您可以通过向 SDP 添加比特率属性来设置 webrtc 连接的比特率上限。 (7认同)
  • 影响视频质量的因素有很多。分辨率、比特率、色彩保真度、噪声等。 (4认同)
  • @brianchirls 视频质量是指视频质量,您所说的到底是什么意思? (2认同)