视频压缩工具箱
文章专栏 / 编码技术

视频码率详解 - CBR vs VBR vs CRF

发布于 2025-11-12 · 阅读约 13 分钟 · 视频压缩工具箱编辑部

视频压缩时应该选择固定码率还是可变码率?CRF质量模式又是什么?本文将系统讲解三种主流码率控制方式的原理、优缺点和最佳应用场景。

快速结论

日常压缩推荐CRF模式(质量优先)、直播推流用CBR(带宽稳定)、专业存档用VBR两遍编码(体积与质量最佳平衡)。

什么是视频码率

码率(Bitrate)是指视频每秒传输的数据量,单位通常是Mbps(兆比特每秒)或Kbps(千比特每秒)。码率直接决定了视频的文件大小和画质。

计算公式很简单:文件大小 = 码率 × 时长

例如,码率5Mbps的10分钟视频,文件大小约为:5 × 60 × 10 ÷ 8 = 375 MB

注意单位转换:1 Byte = 8 bit,所以Mbps要除以8才能得到MB/s。

码率与画质的关系

码率越高,画质通常越好,但这个关系不是线性的。从1Mbps提升到3Mbps,画质提升很明显;但从20Mbps提升到50Mbps,肉眼可能完全看不出差别。

分辨率 最低可用码率 推荐码率 高质量码率
480P 0.5 Mbps 1-2 Mbps 2-3 Mbps
720P 1.5 Mbps 2.5-4 Mbps 4-6 Mbps
1080P 3 Mbps 5-8 Mbps 8-12 Mbps
4K 15 Mbps 25-40 Mbps 50-80 Mbps

CBR - 恒定码率模式

CBR(Constant Bitrate)保持整个视频的码率恒定不变。无论画面简单还是复杂,每秒都使用相同的数据量。

工作原理

编码器会严格控制每秒输出的数据量。简单画面时可能会浪费码率(质量过高),复杂画面时码率不够用(质量下降)。

想象你用固定速度的水龙头装水,不管容器大小,流速都一样。小杯子会溢出,大桶又装不满。

优点

缺点

FFmpeg命令

ffmpeg -i input.mp4 -c:v libx264 -b:v 5M -minrate 5M -maxrate 5M -bufsize 10M -c:a aac -b:a 128k output.mp4

参数说明:

适用场景

VBR - 可变码率模式

VBR(Variable Bitrate)根据画面复杂度动态调整码率。简单画面用低码率,复杂画面用高码率,整体平衡质量和体积。

工作原理

编码器会分析每一帧的复杂度,自动分配合适的数据量。静止的风景画面可能只用2Mbps,激烈的打斗场景可能用到15Mbps,但平均下来可能是8Mbps。

VBR的三种模式

1. 单遍VBR(One-Pass VBR)

编码时实时决定码率分配,速度快但效果一般。

ffmpeg -i input.mp4 -c:v libx264 -b:v 5M -c:a copy output.mp4

2. 两遍VBR(Two-Pass VBR)

第一遍分析视频,第二遍根据分析结果优化码率分配。质量最好但编码时间翻倍。

第一遍:

ffmpeg -i input.mp4 -c:v libx264 -b:v 5M -pass 1 -an -f null /dev/null

第二遍:

ffmpeg -i input.mp4 -c:v libx264 -b:v 5M -pass 2 -c:a aac output.mp4

3. 约束VBR(Constrained VBR)

设置平均码率和峰值码率,在范围内动态调整。

ffmpeg -i input.mp4 -c:v libx264 -b:v 5M -maxrate 8M -bufsize 10M -c:a copy output.mp4

优点

缺点

适用场景

CRF - 恒定质量模式

CRF(Constant Rate Factor)是最智能的编码模式,不控制码率而是控制质量。编码器会根据画面复杂度自动选择合适的码率,保持整个视频的主观质量一致。

工作原理

CRF值越小质量越高。编码器会分析每一帧,为了达到目标质量自动调整码率。简单画面用低码率就能达到高质量,复杂画面会增加码率保证质量。

CRF值范围0-51:

FFmpeg命令

H.264编码:

ffmpeg -i input.mp4 -c:v libx264 -crf 23 -preset medium -c:a copy output.mp4

H.265编码:

ffmpeg -i input.mp4 -c:v libx265 -crf 26 -preset medium -c:a copy output.mp4
注意:H.265的CRF值通常比H.264高3-4才能达到相同的主观质量。

优点

缺点

适用场景

三种模式实测对比

使用相同的1080P 10分钟测试视频(包含静止、动作、字幕等多种场景)进行对比。

测试设置

模式 参数设置 目标
CBR 5 Mbps恒定 固定码率
VBR单遍 平均5 Mbps 可变码率
VBR两遍 平均5 Mbps,两遍 最优分配
CRF CRF 23 恒定质量

测试结果

模式 文件大小 实际平均码率 VMAF评分 编码时间
CBR 375 MB 5.0 Mbps 89.3 4分15秒
VBR单遍 368 MB 4.9 Mbps 91.2 4分20秒
VBR两遍 365 MB 4.87 Mbps 92.8 8分50秒
CRF 23 412 MB 5.5 Mbps 93.5 4分30秒

不同场景表现

分析视频中三个典型场景的码率分配:

场景 CBR VBR单遍 VBR两遍 CRF
静止风景 5.0 Mbps 2.8 Mbps 2.3 Mbps 2.5 Mbps
人物对话 5.0 Mbps 4.5 Mbps 4.2 Mbps 5.0 Mbps
激烈动作 5.0 Mbps 8.2 Mbps 9.5 Mbps 11.3 Mbps

分析:

选择建议总结:

  • 日常使用 → CRF 20-23(H.264)或 22-26(H.265)
  • 直播推流 → CBR,根据网络设置固定码率
  • 文件大小限制 → VBR两遍,精确控制体积
  • 快速处理 → CRF或VBR单遍
  • 最高质量 → VBR两遍或CRF 18-20

进阶:码率计算与预估

如何计算所需码率

如果要把视频压缩到特定大小,可以反向计算所需码率:

公式:码率(Kbps) = 目标大小(MB) × 8192 ÷ 时长(秒) - 音频码率

示例:把30分钟视频压到500MB(音频128Kbps)

视频码率 = 500 × 8192 ÷ 1800 - 128 = 2150 Kbps ≈ 2.1 Mbps

FFmpeg命令:

ffmpeg -i input.mp4 -c:v libx264 -b:v 2100k -pass 1 -an -f null /dev/null ffmpeg -i input.mp4 -c:v libx264 -b:v 2100k -pass 2 -c:a aac -b:a 128k output.mp4

CRF与文件大小的关系

CRF无法精确预测文件大小,但有规律可循:

示例:

CRF 23生成了1GB文件,估算其他CRF值的大小:

特殊场景的码率选择

屏幕录制视频

屏幕内容变化少,可以用较低码率获得高质量:

ffmpeg -i screen.mp4 -c:v libx264 -crf 18 -preset medium -tune stillimage -c:a copy output.mp4

注意使用-tune stillimage参数优化静态画面。

动画/卡通视频

平滑的色块和清晰的线条,压缩效率很高:

ffmpeg -i anime.mp4 -c:v libx264 -crf 20 -preset slow -tune animation -c:a copy output.mp4

高动态场景(运动、游戏)

快速运动需要更高码率:

电影/剧集

平衡质量和体积:

常见问题

为什么CRF 23的文件比5Mbps VBR还大?

CRF追求质量一致性,会给复杂场景更多码率。如果视频整体比较复杂,CRF的平均码率可能超过固定码率设置。这是正常的,说明CRF在保证质量。

直播应该用多大码率?

根据平台和网络条件:

音频码率应该设多少?

音频质量 AAC码率 适用场景
语音 64-96 Kbps 会议录音、有声书
标准 128 Kbps 日常视频、社交分享
高质量 192 Kbps 音乐视频、影视剧
顶级 256-320 Kbps 音乐专辑、专业存档

如何测试最佳CRF值?

用短片段(30-60秒)测试不同CRF值:

ffmpeg -i input.mp4 -ss 300 -t 60 -c:v libx264 -crf 20 -preset medium test_crf20.mp4 ffmpeg -i input.mp4 -ss 300 -t 60 -c:v libx264 -crf 22 -preset medium test_crf22.mp4 ffmpeg -i input.mp4 -ss 300 -t 60 -c:v libx264 -crf 24 -preset medium test_crf24.mp4

对比文件大小和画质,找到最满意的平衡点。


理解码率控制模式是掌握视频压缩的关键。对于95%的日常场景,CRF模式都是最佳选择,简单、高效、质量稳定。只有特殊需求(如直播、精确大小限制)才需要用CBR或VBR。记住:不要盲目追求低码率,画质才是最重要的。

#视频码率 #CBR #VBR #CRF #编码技术

相关文章

← 返回文章列表