WebRtc 带宽/分辨率/帧率控制

WebRtc Bandwidth / resolution / frame rate control

我想知道为什么我正常传输320240分辨率的视频,默认上行流量是1.5MB; 当我修改SDP带宽限制时,例如在500kbps/s时,我的视频宽度和高度仍然是320240并且帧率没有降低; 那么减少的上行流量到底是什么?

= =

WebRTC 使用所谓的“有损感知视频压缩”。也就是说,视频能够被压缩成各种带宽的比特流……在您的情况下为 1.5mbps 和 0.5mbps。这就像 JPEG 的质量参数:在 JPEG 中,调整该参数会改变图像文件的大小。在视频压缩中,您请求的不是质量参数而是比特率。

当解压缩较低比特率的视频流时,它对原始内容的表现不太忠实。如果您知道要寻找什么,您可以在解压缩图像中看到各种压缩伪影“块状”、物体周围的“蚊子”等等。

流媒体视频和 DVD 视频节目(电影院)使用高带宽将这些影响降至 1080p 或 4K 分辨率下的感知阈值以下。

在您的 SIF (320x240) 分辨率情况下,解码后的 0.5mbps 视频比 1.5mbps 视频有更多伪像。但是,由于分辨率相对较低,因此需要一些时间才能找到这些伪像。如果它们不会惹恼您或您的用户,您可以得出结论,0.5mbps 适合您的应用程序。长期的经验表明,您应该在该比特率和分辨率下取得成功。您甚至可以尝试 250kbps。

降低帧率并不能成比例地节省带宽;大多数压缩视频帧代表与前一帧的差异。

较低的比特率更适合移动设备;它们可以节省电量和您用户的数据计划。

如果您想看到夸张的压缩失真及其外观,请将比特率设置为 125kbps 或更低。