压缩视频时最纠结的就是那个 0 到 100 的滑块:往左怕没压小,往右怕压糊。多数人只能一档一档试,压完再看大小,来回折腾。
其实这个滑块的含义比你以为的更直白。这篇用 NBTools 视频压缩的真实计算逻辑,把滑块背后那条公式和两条保底线讲清楚。处理在你的浏览器本地完成,视频不上传服务器。
滑块代表「保留多少原始码率」
滑块不是「压缩率」,而是保留比例。它对应的计算是:
目标码率 = 原始码率 × (100 − 强度) ÷ 100
- 0:保留原始码率,等于几乎不压缩;
- 50:保留一半码率;
- 100:理论上归零,实际上会被保底机制接住(见下节)。
明白这一点,滑块就不用靠猜了:你想要多大体积,反推保留多少比例即可。
实测:各档位的码率与预估体积
以一个 1080p、60 秒、100 MB 的视频为例(原始码率约 13.98 Mbps),不同强度的实测结果:
| 压缩强度 | 目标码率 | 预估体积 |
|---|---|---|
| 0 | 13.98 Mbps | 100.0 MB |
| 20 | 11.18 Mbps | 80.0 MB |
| 40 | 8.39 Mbps | 60.0 MB |
| 50 | 6.99 Mbps | 50.0 MB |
| 70(默认) | 4.19 Mbps | 30.0 MB |
| 85 | 2.10 Mbps | 15.0 MB |
| 95 | 1.24 Mbps | 8.9 MB |
| 100 | 1.24 Mbps | 8.9 MB |
看出来了吗:95 和 100 的结果完全一样。这不是 bug,是下一条要说的保底机制。
为什么拉到最大也不再变小
码率不能无限往下降,否则画面会彻底崩掉。工具设了两条保底:
- 保底一:目标码率不低于 50,000 bps;
- 保底二:每像素每帧至少 0.02 bits(按 30fps 估算)。
对 1080p 来说,保底二算出来约为 1.24 Mbps——正好就是上面表格里 95 和 100 那一行的数值。也就是说,这个视频在强度约 90 以上时就撞到了保底,再往右拉只会让画质继续变差,体积却不会再小。
分辨率越小,保底值也越低。例如 640×360 的视频,保底约 0.14 Mbps,可以压得比 1080p 小得多。
还有一条上限:码率天花板
反方向也有约束。工具按目标分辨率设了码率上限,防止原本高码率的视频在低压缩强度时输出过大:
| 分辨率 | 码率上限 |
|---|---|
| 360p / 480p / 720p | 8 Mbps |
| 1080p | 16 Mbps |
| 2.5K | 30 Mbps |
| 4K 及以上 | 50 Mbps |
所以如果你把滑块拉到 0 想「原样输出」,而原视频码率超过天花板,输出仍会被压到天花板以内。想完全不动画质,通常应该直接发原文件,而不是压一遍。
怎么选档位
下面是经验区间,具体还要看原片本身的码率和画面复杂度:
- 30~50:只想小一点、尽量保住画质,适合要保留细节的素材。
- 70(默认):日常分享、微信发送,体积和观感比较平衡。
- 85 左右:只在手机上小屏看、内容以人声讲解为主。
- 不建议 95 以上:撞到保底后体积不再下降,却会继续掉画质。
调的时候看工具给出的「预估大小」,它用的就是上面这套算法,和实际输出一致。如果预估体积显示超过原文件,工具会明确提示,这时应当直接发原文件。
常见问题
压缩强度 100 和 95 结果一样,是坏了吗?
不是。工具设有保底:每像素每帧至少 0.02 bits(按 30fps),1080p 约为 1.24 Mbps。强度约 90 以上就会撞到这条线,再拉高只会损画质,体积不再下降。
滑块调到 0 就是原画质吗?
接近但不完全等于。0 表示保留原始码率,但仍受码率天花板限制(如 1080p 上限 16 Mbps)。若原片码率高于天花板,输出仍会被压到上限内。要完全不动画质,建议直接发原文件。
预估大小和实际结果差多少?
预估用的就是实际压缩所依据的目标码率算法,因此与实际输出接近。差异主要来自画面复杂度——同样码率下,运动剧烈的画面需要更多数据。
为什么预估体积比原文件还大?
当原文件本身已经很紧凑(码率低)时,按当前参数算出的目标码率可能高于原始码率。工具会提示「预估大小超过原始文件」,此时应降低压缩强度或直接发送原文件。
关掉「保留音频」能小多少?
去掉音轨会省下音频占用的部分,具体多少取决于原片的音轨码率。画面不需要声音时(如纯背景素材)可以关掉。
视频会上传吗?
不会。压缩在你的浏览器本地完成,视频不上传服务器。
相关工具
- NBTools 视频压缩:https://nbtools.cn/tools/video-compress
- 分辨率怎么选:五档真实尺寸与「1080p 不放大」
- 视频格式转换:MP4 / WebM / MOV 互转
- 视频剪切:先掐头去尾再压缩