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

问题描述

我想知道为什么我平时传输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 或更低。