音视频开发-码率和码率控制
2026/8/2 14:37:20 网站建设 项目流程

1. 码率是什么?

码率——Bitrate,指单位时间内传输或处理的数据量。

单位
单位是bps(bits per second),即“比特每秒”。常见衍生单位有:

  • kbps(千比特/秒,1 kbps = 1000 bps)
  • Mbps(兆比特/秒,1 Mbps = 1000 kbps)
  • 文件大小常用kB/s(千字节/秒),1 Byte = 8 bits

核心公式:

文件大小 = 码率 × 时长 / 8

比如:一段 60 秒、码率 2 Mbps 的视频,大约占用 15 MB 空间(2 Mbps × 60s ÷ 8)。

码率直接决定了三个东西:

  • ⬆️画质 / 音质:越高越清晰,但边际收益递减
  • ⬆️文件大小:成正比
  • ⬆️传输带宽要求:越高越容易卡顿

2. 固定码率 vs 可变码率

编码器通常会让你在两种基础策略中二选一:

策略英文思路优点缺点
固定码率CBR(Constant Bitrate)全程保持一个恒定码率码率稳定,适合直播简单场景浪费带宽,复杂场景画质变差
可变码率VBR(Variable Bitrate)简单画面给低码率,复杂画面给高码率整体文件更小、画质更均匀码率波动大,瞬时高码率可能超过带宽上限

简单场景(白墙、静态 PPT)不需要高码率也能压缩得很好;复杂场景(运动会、花丛飞舞)则需要更多数据才能保留细节。VBR 就是利用了这个原理。


3. 码率控制:不只“定死”,还要“管活”

码率控制不是简单的码率值设定,而是编码器对码率进行动态管理的一整套算法,核心解决两个问题:

  • 给多少:每一帧分配多少比特
  • 怎么控:如何既满足画质要求,又不超过带宽或文件大小限制

最常见的控制模式如下(⚠️ 不同编码器之间命名差异较大,本质都是在下面几种数学框架里做变体):

3.1 CBR(恒定码率)

编码器尽力让每一秒的码率保持恒定。
👉适用场景:直播推流(如 RTMP),带宽稳定的场景。

3.2 ABR(平均码率)

整个文件最终的平均码率达到目标值即可,允许局部波动,比纯 CBR 灵活。
👉适用场景:视频网站点播。

3.3 受限 VBR(Capped VBR)

在 VBR 的基础上设一个“天花板”——瞬时码率不允许超过某个上限。
👉适用场景:既想要 VBR 的画质优势,又不希望瞬间流量冲垮播放器的场景(比如硬件播放设备对峰值码率有限制)。

3.4 CRF(恒定质量)

编码器不关心码率是多少,只保证每一帧的视觉质量恒定。画质好的场景码率自动低,画质复杂的场景码率自动飙高。最终码率完全由画面复杂度决定。
👉适用场景:本地存档、后期处理、离线转码;不适合直播,因为码率完全不可预测。

3.5 CQP(恒定量化参数)

用固定量化参数(如 H.264/AVC 中的 QP)来编码,量化参数决定了压缩强度,从而间接控制码率。
👉适用场景:编码器测试、算法研究,实际应用中较少直接使用。


下面这张图帮你理清它们的关系:

码率控制策略

CBR

VBR 体系

VBR(单纯)

受限 VBR

ABR(平均码率)

基于质量的

CRF(恒定质量)

CQP(恒定量化参数)


4. 到底怎么选?(一句话指南)

你的场景推荐理由
直播推流CBR 或 ABR带宽必须稳定
视频站点播ABR 或受限 VBR质量与带宽的折中
本地高质量存档CRF(推荐 16~23)不关心码率,只在乎画质
硬件播放设备受限 VBR峰值码率不能超过芯片解码上限
编码器研究/测试CQP需要精确控制每帧压缩强度

🔧 所有模式都围绕同一个博弈:画质、文件大小、带宽稳定性——你只能同时满足其中两个。


最后总结一句话:

  • 码率是每秒钟花掉的数据量(单位:bps)
  • 码率控制是一整套分配数据的策略(CBR稳住它、VBR省空间、CRF保证画质)
  • 没有万能模式,只有适合你场景的取舍

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询