CBR 与 VBR – 恒定和动态比特率流媒体之间的区别

CBR(恒定比特率)和 VBR(动态比特率)是两种不同的码率控制方法,用于通过 Internet 流式传输视频的视频编码。顾名思义,CBR 旨在保持比特数不变,同时牺牲视频质量,而 VBR 改变每秒传输的比特数以提高视频质量。

CBR 和 VBR 都有非常具体和重要的用例,在本文中,我们将详细介绍两者以及为什么将它们用于视频流。而且,在我们深入了解 CBR 和 VBR 的定义之前,我们需要花几分钟时间了解“比特率”的真正含义,以及它如何与视频和帧的复杂性联系起来。

了解场景复杂性和比特率后,就很容易理解 CBR 和 VBR 的基础知识以及在何处使用它们。

比特率和场景复杂性

比特率

对视频进行转码时,通常会指定比特率和分辨率。比特率可能是 1500 kbps 或 2.4 mbps(每秒千/兆比特)。这意味着编码器应该使用 2.4 兆比特的数据对 1 秒的视频进行编码。这几乎就像是编码器和试图流式传输内容的播放器之间的合同。当播放器被告知每一秒的视频“消耗”1.5 兆位时,播放器就可以确保其缓冲区中有足够的空间来容纳这么多数据。

如果编码器将其比特率“宣传”为 1.5 兆比特/秒,但产生的视频却是 6 兆比特/秒,那么播放器将在缓冲区管理和播放方面遇到严重问题。

有很多比特的复杂场景
需要大量位进行编码的复杂场景示例

场景复杂度

n 编码器根据场景复杂度在 1 秒视频的所有帧中分配比特。具有大量运动和纹理的复杂场景将需要更多的比特,而简单的场景可能需要更少的比特来生成视频质量可接受的视频。因此,编码器必须“向前看”并决定如何分配其比特预算以平衡比特率约束和视频质量。

了解了这一点,让我们继续了解 CBR 和 VBR 的全部内容。

CBR(恒定比特率)

在 CBR 编码中,比特率(每秒传输的数据量)在整个视频中保持不变这意味着无论场景的复杂程度如何,视频的每一秒都会传输相同数量的数据。

为什么这很重要?为什么编码器的目标是保持比特率恒定而不是有利于视频质量?

CBR 编码对于质量水平一致很重要的情况很有用,例如在直播或实时视频会议中。但是,它可能会导致带宽使用效率低下,因为某些场景可能不需要像其他场景那样多的数据来保持相同的质量水平。

在视频质量是主要关注点的情况下,最好使用可变比特率 (VBR) 编码方法,它会根据视频内容的复杂性调整比特率。

VBR(动态比特率)

与 CBR 编码相比,我们看到 VBR 编码根据场景的复杂程度调整比特率

换句话说,在 VBR 编码中,允许视频流的比特率根据帧的复杂性而变化。这意味着对于复杂的场景传输更多的数据,对于更简单的场景传输更少的数据。VBR 编码可以更有效地使用带宽,因为它将更多数据分配给最需要它的视频部分。但是,视频的质量可能会随着比特率在整个视频中的变化而波动。

此外,值得注意的是还有另一个选项称为“Capped VBR”,其中比特率(最大)约束位于 VBR 之上,以确保播放器不会对来自编码器的非常大的比特率感到惊讶。

何时使用 CBR?

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

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

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

什么时候使用 VBR?

VBR 视频编码有多种用例,其中主要的是:

  1. 高质量视频制作
    • 如果编码的主要目标是生成高质量视频,VBR 编码可能是一个不错的选择。
    • 它允许在需要更多信息以保持高质量的视频区域增加比特率,并在需要较少信息的区域降低比特率。
    • 这可以更有效地使用带宽(在重要场景中使用更多位)并产生高质量的输出。
  2. 使用 ABR 流式传输视频
    • VBR 编码在通过 Internet 流式传输视频时非常有用,因为它可以适应网络条件的变化并保持一致的质量水平。
    • 但是,必须注意不要超过 HLS/DASH 清单中公布的最大比特率。如果您没有保持在广告比特率的限制范围内,那么播放器可能会遭受缓冲区溢出/下溢。
  3. 文件大小优化
    • 如果您需要在不牺牲太多质量的情况下减小视频的文件大小,VBR 编码可能是一个不错的选择。
    • 它在文件大小方面比 CBR 编码更有效,同时仍保持高水平的视频质量。

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

结论——CBR 与 VBR

通常,CBR 的目标是在牺牲视频质量的同时保持比特数不变,而 VBR 会改变每秒传送的比特数以提高视频质量。

作者:Krishna Rao Vijayanagar 博士

版权声明:本文内容转自互联网,本文观点仅代表作者本人。本站仅提供信息存储空间服务,所有权归原作者所有。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至1393616908@qq.com 举报,一经查实,本站将立刻删除。

(0)

发表回复

登录后才能评论