WebRTC的自适应速率控制:分辨率是否也会改变?

问题描述 投票:1回答:1

很明显,WebRTC使用自己的速率控制(GCC)来控制编码器的比特率,但我也找不到任何有关改变分辨率的信息。

WebRTC(或其他实时视频系统,如环聊,Skype)是否仅在实时摄取期间更改比特率而非分辨率? 如果它没有改变分辨率,那为什么呢?

根据下面显示的比特率,质量,分辨率曲线,enter image description here仅使用单个固定分辨率来覆盖比特率变化似乎效率不高。 这是因为如果单个分辨率的比特率非常低,则质量会大幅下降。 (因为左侧曲线的斜率很大) 因此,在我看来,改变分辨率和比特率是必要和合理的,但我不确定这是否得到WebRTC,环聊,Skype或其他实时移动视频系统的支持。

图片参考:https://teradek.com/blogs/articles/what-is-the-optimal-bitrate-for-your-resolution

javascript webrtc skypedeveloper video-conferencing hangouts-chat
1个回答
0
投票

是的,WebRTC也会在带宽限制的情况下改变分辨率。

有一个控制面为这个甚至计划,称为degradationPreference

const p = sender.getParameters();
console.log(p.degradationPreference); // "balanced" by default 
p.degradationPreference = pick? "maintain-framerate" : "maintain-resolution";
await sender.setParameters(p);

但控制isn't implemented by anyone yet。实现通常会在当前进行自己的判断调用(这是默认的"balanced")。

© www.soinside.com 2019 - 2024. All rights reserved.