码率控制模式有哪几种?码率控制VBR和CBR哪个好

什么是码率控制?

码率(Bitrate)是指在单位时间内传输或处理的数据量,通常以比特每秒(bps)为单位。视频编码是要在尽可能低的码率下实现更高的视频质量。一般来说,在编码完成后,视频的码率越高,质量也就越好。但是传输带宽限制,存储空间限制,延迟要求等等也会要求码率不能过高。在不同的编码场景下会选择不同的码率控制方式。

简单来说,码率控制的目的是:

  • 满足传输带宽限制:确保视频数据可以在有限的带宽环境中有效传输。
  • 保持视频质量:在有限的码率下尽可能保持视频质量。
  • 缓冲区管理:防止在网络传输或播放过程中出现缓冲区溢出或欠载。
码率控制模式有哪几种?码率控制VBR和CBR哪个好

码率控制模式有哪几种?

常见码率控制模式有以下几种:

1. VBR(Variable Bit Rate)可变比特率

比特率可以在给定范围内自动变化,具体取决于编码内容的复杂程度,并由编码器选择。VBR一般是指要达到目标码率,但是在播放期间可以根据视频复杂度来调整码率。一般要先扫描视频识别出不同区域的复杂度,再编码,属于 2-PASS 技术。

2. CBR(Constant Bit Rate)恒定比特率

CBR要求码率在统计时间内保持编码码率恒定。常常应用在需要稳定传输或者需要视频流的场景中,例如直播。其基本实现是通过对复杂场景运动场景增大QP,对简单场景静止场景减小QP来保证一段时间内码率的恒定,是单PASS技术。

3. CQP(Constant Quantization Parameter)恒定量化参数

量化参数控制着压缩的大小,qp越大压缩率越高,质量越低。但在开源编码器x264.x265中使用QP来确定量化参数,CQP方便查看代码做编码器研究。实际应用中是几乎不可能用到的。

4. CRF(Constant Rate Factor)/CQF(Constant Quality Factor) 恒定质量

恒定质量可以让视频的质量比较好,在存储视频时每一部分都能有一个比较好的质量,适用于存档或者一些中间文件的生成。编码器会通过调整码率来达到所需质量,但这意味着码率可能变动比较大,而且直到编码完成才知道具体大小,在流媒体场景下不适用。

5. CVBR(Constrained Variable Bit Rate)可变比特率

CVBR是改进的VBR。通过限制最大码率,实现兼顾带宽和图像质量的目的。适用于大多数点播活动。

6. CABR(Content Adaptive BitRate)内容自适应比特率

CABR 是一种通过适应输入流的内容来提高质量同时降低比特率的编码模式。

另外,还有 Per Title ,它是一种自适应的编码模式,通过大量的码流转码来选择最佳的码率/质量比。

码率控制VBR和CBR哪个好?

什么时候使用 VBR?

VBR 视频编码有几种用例,其中主要包括:

1. 高品质视频制作

  • 如果编码的主要目标是生成高质量视频,那么 VBR 编码可能是一个不错的选择。
  • 它允许在视频中需要更多信息以保持高质量水平的区域中增加比特率,而在需要较少信息的区域降低比特率。
  • 这可以更有效地利用带宽(重要场景中的更多位数)并产生高质量的输出。

2. 使用ABR流式传输视频

  • VBR 编码在通过互联网传输视频时非常有用,因为它可以适应网络条件的变化并保持一致的质量水平。
  • 必须小心不要超过 HLS / DASH 清单中宣传的最大比特率。如果您没有保持在宣传的比特率限制内,那么播放器可能会遭受缓冲区溢出/下溢。

3. 文件大小优化

  • 如果您需要减小视频文件大小而不牺牲太多质量,VBR 编码是一个不错的选择。
  • 它在文件大小方面比 CBR 编码更高效,同时仍保持高水平的视频质量。

值得注意的是,VBR 编码可能并非在所有情况下都是最佳选择。例如,如果您需要确保视频文件满足特定大小或带宽要求,CBR 编码可能是更好的选择。最终,最佳视频编码方法将取决于您的特定需求和视频内容的特征。

什么时候使用 CBR?

CBR 在某些情况下非常有用,例如当您需要确保视频文件满足特定大小或带宽要求时。例如,如果您需要将视频上传到具有最大文件大小限制的网站或流媒体服务,则使用 CBR 编码可以帮助您保持在该限制之内。

CBR 视频编码的另一个潜在用例是,当您需要确保在各种设备和互联网连接上保持一致的视频质量时。由于比特率是恒定的,视频质量也将保持一致,如果您要向广大观众分发视频,这一点很重要。

然而,CBR 编码可能并不总是最好的选择。它可能导致可用带宽的利用效率降低,从而导致视频质量低于其他编码方法。

简单归类如下:

模式操作优点缺点用于
CBR– 调整质量以达到码率
– 整个文件的码率相同
– 码率一致
– 单pass
– 牺牲整体质量
– 牺牲瞬态质量
– 直播
– 带宽受限的 VOD
VBR– 调整质量以达到码率
– 根据场景复杂度调整码率
– 整体质量
– 瞬态质量
– 码率可变
– 成本较高(2 次或多遍编码)
– 大多数其他 VOD

总之,CBR 的目标是保持位数不变,但会牺牲视频质量,而 VBR 会改变每秒传输的位数,以提高视频质量。

ZEGO建议:关于码率在RTC中的使用

直播场景通常需要较大码率来提升视频质量,一般建议将直播码率设为通话场景的两倍。

场景推荐值
视频通话分辨率 360 × 640、帧率 15 fps、码率 600 Kbps
直播分辨率 540 x 960、帧率 24 fps、码率 1500 Kbps

ZEGO 实时音视频 SDK 默认使用 CBR 模式,同时提供预设场景,可以根据选定的场景,自动应用适合该场景的分辨率、码率、帧率,以获取最佳体验效果,详情请参考场景化音视频配置。若需要特殊设置视频的分辨率、帧率和码率,可参考常用视频配置,直接使用 SDK 提供的预设组合值,或自定义参数。

原创文章,作者:ZEGO即构科技,如若转载,请注明出处:https://market-blogs.zego.im/reports-baike/2014/

(0)
上一篇 12月 13, 2024 9:11 上午
下一篇 12月 18, 2024 10:43 上午

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注