万圣节特惠不给糖,就修片!三档同时降价,永久授权立省 $30截至 11 月 2 日 23:59(美西时间)

查看定价

如何减少视频文件体积,又看不出画质变化?(实测)

我们把一个 49 MB 的“手机风格”视频压小了 77% 到 94%,并给每个结果打分。哪些设置能大幅减小体积,哪些会明显伤画质,一次讲清。

要点速览

  • 文件大小 = 码率 × 时长。想让文件变小,就在眼睛察觉不到的地方少花一些比特。
  • 手机视频和录屏用的是又高又固定的码率;改用“恒定质量”重新编码,我们的测试文件小了 77%,VMAF 只降了 1.9 分。
  • 换成 H.265,体积又能再减一半,得分相近;更慢的预设几乎没有帮助。
  • 文件大小相同时,保留分辨率、加大压缩,得分比缩到 720P 更高。
  • 从质量最高的副本只压缩一次;删原文件之前,先全屏检查压缩结果。

大多数情况下,你可以把视频文件压到原来的几分之一,而看不出区别,因为大多数相机和录屏软件写入的数据远比画面需要的多。关键在于改用恒定质量重新编码,而不是固定码率,再选一个高效的编码格式。

每次重新编码都会损失一点,所以“不影响画质”其实是“看不出画质变化”。本文会讲清视频文件为什么大、我们实测了哪些设置能用最小的可见代价换来最大的体积缩减、怎么压到指定大小,以及在 KwaFlux 里或用 FFmpeg 怎么做。

目录

  1. 视频文件为什么这么大
  2. 我们的测试:同一个文件,七种压缩方式
  3. 该选哪种方法?
  4. 方法 1:用恒定质量(CRF)重新编码
  5. 方法 2:换成 H.265
  6. 方法 3:压到指定大小
  7. 其他小幅节省:音频、轨道、时长
  8. 在 KwaFlux 里怎么做
  9. 问题排查
  10. 常见问题

视频文件为什么这么大

视频的文件大小等于码率乘以时长,再加上一点封装开销。一段 1 分钟、16 Mbps 的视频就是 16 × 60 ÷ 8 = 120 MB,与分辨率无关。所以能调的只有几样:

  • 码率:每秒给多少比特。这是最大的一根杠杆。
  • 编码效率:H.265、AV1 这类较新的编码,描述同样的画面比 H.264 用的比特更少。
  • 分辨率和帧率:像素少、帧数少,需要的比特就少,但会损失细节或流畅度。
  • 音频:通常占比不大,但也不是零。
  • 时长:剪掉多余的部分,瘦身的同时不付出任何画质代价。

手机和录屏软件为了实时跟上,用的是快速的硬件编码器和宽裕的固定码率。这就给更慢、更聪明的编码器留出了很大空间。

我们的测试:同一个文件,七种压缩方式

我们做了一个“手机风格”的原文件:30 秒 1080P 电影片段,用快速编码器、按 16 Mbps 的目标码率编码(49.2 MB,实际平均约 13 Mbps),再用七种方式压小。每个结果都和未压缩的母版对比打 VMAF 分(0 到 100,越高越接近母版),原文件也按同样方法打分。所有结果的音频都是 128 kbps 的 AAC。

结果大小缩小了VMAF 得分编码耗时
原文件(目标码率 16 Mbps,快速编码器)约 49.2 MB不适用83.1 分不适用
H.264,CRF 20,medium 预设约 11.2 MB缩小 77%81.2 分11 秒
H.264,CRF 20,slow 预设约 10.9 MB缩小 78%81.2 分16 秒
H.264,CRF 23,medium 预设约 7.4 MB缩小 85%80.1 分9 秒
H.265,CRF 24,medium 预设约 4.7 MB缩小 90%79.7 分36 秒
H.264,两遍编码,目标 5 MB约 5.2 MB缩小 89%78.2 分未计时
H.265,CRF 28,medium 预设约 2.8 MB缩小 94%77.3 分30 秒
H.265,CRF 24,缩到 720P约 2.7 MB缩小 95%75.1 分21 秒

测试素材取自《钢铁之泪》(Tears of Steel,CC BY 3.0 授权);耗时来自同一台 Intel 笔记本的 CPU。

数字说明了这几件事:

  1. 大部分体积是白省的。 从固定 16 Mbps 的设置改成 CRF 20,体积减少 77%,得分只降 1.9 分,正常观看很难看出区别。
  2. H.265 是下一个大台阶。 H.265 的 CRF 24 不到 H.264 CRF 20 的一半大,得分略低,编码时间约为 3 倍。
  3. 更慢的预设收益很小。 这里 slow 只比 medium 小了 3%。
  4. 观众用大屏看时,别靠缩分辨率省空间。 体积几乎一样时,1080P 的 H.265 CRF 28 得 77.3 分,720P 文件只有 75.1 分。

该选哪种方法?

你的目的方法常用设置
文件更小,到处都能播方法 1H.264,CRF 20 到 23
画质不错、体积最小,设备较新方法 2H.265,CRF 24 到 28
必须低于某个上限(邮件、聊天、表单上传)方法 3两遍编码,压到目标大小
原片归档不压缩保留相机原文件
上传到会重新编码的平台方法 1,CRF 18 到 20给平台一个干净、不过小的文件

几种编码的比较见H.264、H.265 和 AV1 怎么选。

方法 1:用恒定质量(CRF)重新编码

CRF(恒定码率因子)让编码器保持一个质量水平,每个场景只用它需要的比特:静止镜头少给,动作镜头多给。数值越低画质越高、文件越大;H.264 用 18 到 23 就能覆盖大多数用途。

ffmpeg -i input.mp4 -c:v libx264 -preset medium -crf 20 -pix_fmt yuv420p -c:a aac -b:a 128k -movflags +faststart output.mp4

-movflags +faststart 会把索引移到文件开头,文件没下载完就能开始播放。

方法 2:换成 H.265

H.265(HEVC)大约只需要 H.264 一半的比特就能达到相近的画质,代价是编码更慢,老设备和部分网页浏览器支持较差。

ffmpeg -i input.mp4 -c:v libx265 -preset medium -crf 24 -pix_fmt yuv420p -tag:v hvc1 -c:a aac -b:a 128k -movflags +faststart output.mp4

-tag:v hvc1 能让苹果设备和 QuickTime 识别这个文件。H.265 的 CRF 和 H.264 不是同一个刻度:我们的测试里,H.265 的 CRF 24 得分接近 H.264 的 CRF 23,体积却小得多。

旁注: AV1 压缩率更高,但在大多数电脑上编码很慢,老手机也播不流畅。如果现在要分享,H.265 是更稳妥的一步。

方法 3:压到指定大小

文件必须低于某个上限时,就从目标大小倒推:

  1. 把目标大小换算成兆比特:兆字节 × 8。25 MB 就是 200 兆比特。
  2. 除以时长(秒)。60 秒就是总共 3.33 Mbps。
  3. 减去音频。音频 128 kbps 的话,视频还剩约 3.2 Mbps。
  4. 给封装留几个百分点:目标定在约 3.1 Mbps。

然后做两遍编码,让编码器把比特分配到最需要的地方:

ffmpeg -y -i input.mp4 -c:v libx264 -preset medium -b:v 3100k -pass 1 -an -f null NUL
ffmpeg -i input.mp4 -c:v libx264 -preset medium -b:v 3100k -pass 2 -c:a aac -b:a 128k -movflags +faststart output.mp4

在 macOS 上,把 NUL 换成 /dev/null。我们的测试里,目标 4.98 MB,实际得到 5.18 MB,超出约 4%,所以上限严格时要留出这个余量。

其他小幅节省:音频、轨道、时长

  • 音频: 128 kbps 的 AAC 对人声和大多数音乐都够用。从 256 kbps 降到 128 kbps,每分钟约省 1 MB。
  • 多余轨道: 去掉不需要的解说轨、第二语言轨或数据轨。-map 0:v:0 -map 0:a:0 只保留第一条视频轨和音频轨。
  • 时长: 剪掉没人要看的部分,这一步对画质毫无影响。
  • 帧率: 幻灯片之类的 60 帧录屏可以降到 30 帧;游戏和体育就保留 60 帧。

在 KwaFlux 里怎么做

KwaFlux 的压缩器(模块名为视频音频压缩)不用命令行就能批量压小视频和音频:

  1. 在侧栏打开压缩器,添加或拖入文件。图片会被跳过,压缩器目前只压视频和音频。
  2. 在压缩方式里选择画质优先,再选高画质(几乎看不出差别,省得少一些)、均衡(画质和体积兼顾)或更小体积(体积最小,能看出画质下降)。也可以选大小优先,文件必须低于某个上限时,再填目标大小。
  3. 开始压缩。每个完成的文件都会显示“从……压到……”。如果目标小到保持原尺寸会太难看,KwaFlux 会缩小画面并说明原因;如果压完不会比原文件更小,输出的是原文件的副本,而不是一个更差的文件。

想指定编码格式,比如 MP4 封装的 H.265,就用转换器,在那里选格式和编码。

问题排查

问题可能原因处理办法
压缩后的文件比原文件还大原文件本来就很高效保留原文件,没什么可省的
H.265 文件在老电视或浏览器里放不了没有 HEVC 解码器用 H.264,CRF 20 到 23
暗场或快速镜头出现色块CRF 太高,或目标大小太小CRF 调低 2,或放宽目标大小
没压到目标大小封装开销和音频目标定在上限以下 4% 到 5%
压缩后颜色发灰10-bit 或 HDR 源没做色调映射就转成了 8-bit SDR用 H.265 10-bit 保留 HDR,或先做色调映射
平台照样把它压糊了平台会重新编码每次上传上传一个更干净的文件,CRF 18 到 20 左右

结语

压好视频,关键是不浪费比特:从固定码率换成恒定质量;观众的设备播得了,就换 H.265;必须低于上限时,从上限倒推。从质量最高的副本压缩一次,检查好结果之前别删原文件。为什么反复压缩的损失会累加,见网上下载的视频为什么很模糊。

在你自己的电脑上批量压小视频

KwaFlux 的压缩器和视频转换可以按画质或按目标大小压小视频和音频。媒体文件不会为了处理而上传。可在 Windows 10(64 位,1809 或更新版本)、Windows 11,以及搭载 Apple Silicon 的 macOS 12 或更新版本上运行。导入文件和浏览应用都不需要账号。仅在导出、转换、文件修复和从链接下载文件时需要登录并购买付费方案。

下载 KwaFlux · 查看方案

用你自己的素材试试效果

下载 KwaFlux,付费前先用自己的素材免费预览效果——无需注册,在你的 GPU 上处理,处理不需要上传媒体文件。 视频预览可选 1、3或5 秒;防抖预览可选 5、15或30 秒。

常见问题

怎么压缩视频又不影响画质?

用恒定质量设置重新编码,而不是固定码率,再选高效的编码格式。每次重新编码都会损失一点,但 H.264 的 CRF 20 让我们的测试文件小了 77%,区别很难看出来。

同样的画质,H.265 比 H.264 更小吗?

是的,通常小一半左右。我们的测试里,H.265 CRF 24 是 4.7 MB,H.264 CRF 20 是 11.2 MB,得分略低。H.265 编码更慢,也不是到处都支持。见H.264、H.265 和 AV1 怎么选。

降低分辨率能减小文件吗?

能,但往往不是该动的那根杠杆。体积几乎相同时,我们的 720P 文件得分比压缩更狠的 1080P 文件还低。只有观众用小屏看时才缩分辨率,见分辨率越高越好吗?

CRF 设多少合适?

H.264 用 18 到 23 覆盖大多数用途:18 接近原片,23 适合分享。H.265 大约用 22 到 28。拿一小段试两个值,全屏对比再决定。

为什么手机拍的视频这么大?

因为手机要实时编码,用的是快速的硬件编码器和很高的固定码率,留下了很大空间。更慢的编码器用恒定质量,能用少得多的比特描述同样的画面。

参考资料

  1. Blender Foundation, Tears of Steel (CC BY 3.0, test clip) (2026-10-27 查阅)
  2. FFmpeg Codecs Documentation (libx264, libx265, aac) (2026-10-27 查阅)
  3. FFmpeg Wiki, "Encode/H.264" (CRF, presets, two-pass) (2026-10-27 查阅)
  4. FFmpeg Wiki, "Encode/H.265" (2026-10-27 查阅)
  5. Netflix, "VMAF" repository (vmaf_v0.6.1.json model) (2026-10-27 查阅)
  • H.265 编码
  • 格式转换

KwaFlux 作者兼编辑。文章经 KwaFlux 编辑部审阅,依据产品调研记录与公开发布的规格。