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

查看定价

怎样压缩视频又看不出画质损失:H.264、H.265 与 AV1 对比

把视频文件变小,又看不出画质损失:在 H.264、H.265 和 AV1 之间做选择,设好码率或 CRF,再检查结果。免费工具和桌面软件的做法都有。

要点速览

想压缩视频又看不出画质损失,就从原始文件出发,用现代编码重新编码一次,画质参数要用眼睛确认过。文件必须在任何设备上都能播放时,H.264 是稳妥的选择。只要目标设备能解码,H.265 或 AV1 通常能在观感相近的前提下得到更小的文件。

先选编码,再一档一档地降低码率或提高 CRF,直到能看出差别为止,然后退回上一档。

  • 文件大小 = 码率 × 时长。想让视频变小,就降低码率、换用效率更高的编码,或者降低分辨率或帧率。
  • H.264、H.265 和 AV1 都是有损编码。现实的目标是:文件更小,而在实际观看的尺寸下没人看得出区别。
  • H.264 的播放兼容性最广。H.265 和 AV1 的设计目标是用更低的码率达到相近的观感,但需要较新的解码器,编码也更耗时。
  • 画质参数不能在编码器之间照搬:x264 的 CRF 23 和 x265、SVT-AV1 的 CRF 23 不是一回事。
  • 从原始文件压缩,检查暗场和快速运动的镜头,不要对已经压缩过的文件再压一遍。

什么是视频压缩?

视频压缩就是去掉观众最不容易察觉的信息,用更少的数据把视频编码出来。

文件最终有多大,取决于三点:

  • 码率:编码器每秒用掉多少比特。大小 ≈ 码率 × 时长。按 8 Mbps 算,一分钟视频是 8 × 60 ÷ 8 = 60 MB。
  • 编码:画面的编码方式。较新的编码设计目标就是用更少的比特得到相近的观感。
  • 分辨率和帧率:像素越多、帧越多,同样的画质就需要越多的比特。

容器(MP4、MKV、MOV、WebM)只是一层外壳。只换容器、不重新编码,文件大小几乎不变。

补充: 字面意义上的“不损失画质”,指的是保留画面每一个比特的编码方式,而这样做只会让文件更大,不会更小。本文讲的都是小到在正常观看尺寸下看不出来的损失。

H.264、H.265 与 AV1:该选哪种编码?

编码别名播放兼容性编码速度适合的情况
H.264 编码又称 AVC兼容面最广。YouTube 推荐上传 H.264通常比另外两种快文件必须到处都能播,或者上传到反正会重新编码的平台
H.265 编码又称 HEVC近几年的手机、电视和电脑大多支持;并非所有浏览器和旧设备都行通常比 H.264 慢想给确定支持它的设备做更小的文件,或者交付 4K、8K
AV1 编码即 AOMedia Video 1支持面在扩大;要留意旧设备和硬件解码随预设变化很大;慢速预设耗时长得多播放端支持它的网页分发和归档
VP9 编码WebM 视频网页浏览器和 YouTube比 H.264 慢面向网页的 WebM 文件

没有哪种编码能通吃所有场景。按顺序回答下面两个问题,就能定下来:

  1. 在哪儿播放? 如果你控制不了播放设备,就选 H.264。
  2. 编码能等多久? AV1 和 H.265 是用编码时间换更小的文件。

开始之前:从最干净的原始文件压缩

有两个习惯比任何参数都重要:

  • 从你手上画质最高的文件开始。 每做一次有损的重新编码,都会再丢掉一点信息。把已经为聊天软件或社交媒体压缩过的文件再压一遍,损失会层层叠加。
  • 能先降噪就先降噪。 在编码器眼里,噪点和颗粒跟细微的细节没有两样,它会花比特去保留。压缩前先降噪,编码器就能把这些比特用在你真正在意的画面上。见怎样用 AI 给视频降噪。

方法 1:在 KwaFlux 转换器里压缩

KwaFlux 的转换器可以批量转换格式、编码和码率,和你用来修复、增强画质的是同一个软件。

  1. 打开转换器。 在侧边栏的工具分组里点击 转换器,会打开 格式转换 页面。
  2. 添加文件。 点击 添加文件,或者直接拖进来。点击列表里的一个文件,右侧的设置就会解锁。选中多个文件,可以给它们套用同一套设置。
  3. 选择输出格式。 在 视频 分组里,想要兼容性最广就选 MP4,用于浏览器播放就选 WEBM。然后选一个档位,例如 高清 1080P 或 高清 720P。
  4. 打开视频设置,选择编码。 MP4 的视频编码器包括 H.264、H.265 / HEVC 和 AV1;WebM 的视频编码器包括 VP8、VP9 和 AV1。
  5. 设置分辨率和码率。 先选 分辨率,再从该分辨率对应的列表里选一个 视频码率。MP4 的 高清 1080P 档位默认是 H.264 加 3 Mbps,属于小文件设置。在 1080p 下,H.264 和 AV1 可选 1 到 30 Mbps,H.265 可选 1 到 20 Mbps。如果切换到的编码或分辨率的列表里没有当前码率,KwaFlux 会改用该列表的默认值:H.264 和 AV1 是 8 Mbps,H.265 是 5 Mbps。这个档位默认是 30 fps,所以除非你有意改帧率,否则把 帧率 设成和源文件一样。
  6. 查看估算结果并开始。 页面会显示预计的输出大小。点击 全部开始,完成的文件会出现在 转换完成 下。
KwaFlux 转换器打开了视频设置:H.264,分辨率列表里选中 1920×1080,码率 3 Mbps,按钮是全部开始
KwaFlux 1.0.9 截图。一个 MP4 高清 1080P 文件的视频设置:H.264、1920×1080、3 Mbps,分辨率列表是打开的。按钮是全部开始。还没有开始转换。

技巧: 如果只是容器不对(比如剪辑软件要 MOV,而你手上是 MP4),就选新格式的 与源文件相同 档位,在 视频设置 里把编码设成源文件本来就用的那种,并保持 高速转换 里的直接复制选项开启。这样 KwaFlux 会直接复制视频流,不再重新编码,文件上也会出现可直接复制的标记。FFmpeg 的 -c copy 也是这样做的,见方法 3。

关于剪辑时的容器和编码选择,见在本地转换视频格式。

方法 2:用 HandBrake 压缩(恒定画质)

HandBrake 是免费的开源软件,它的默认预设使用恒定画质模式:整段视频的画质保持一致,文件大小随内容而定。

  1. 用 Open Source(打开源)打开视频,选一个接近目标分辨率的预设。
  2. 在 Video(视频)选项卡里选择 Video Encoder(视频编码器):H.264 (x264)、H.265 (x265) 或 AV1 (SVT-AV1)。
  3. Framerate(帧率)保持 Same as source(与源相同)。
  4. 设置 Constant Quality(恒定画质)。HandBrake 文档推荐从下面这些范围起步(RF 越低,画质越高,文件也越大):
分辨率x264 和 x265 编码器SVT-AV1 编码器
标清(480p / 576p)RF 18 到 22RF 22 到 32
高清(720p)RF 19 到 23RF 25 到 35
全高清(1080p)RF 20 到 24RF 25 到 35
超高清(2160p,即 4K)RF 22 到 28RF 25 到 40
  1. 用 HandBrake 的 Preview(预览)编码一小段,和源文件对比。
  2. 点击 Start Encode(开始编码)。

HandBrake 文档还指出,RF 数值在不同编码器之间没有可比性:x264 用 RF 25 编出来的效果,和 x265 或 SVT-AV1 用 RF 25 编出来的不一样。

方法 3:用 FFmpeg 压缩(CRF)

FFmpeg 在命令行里提供同样的编码器,适合批量处理和写脚本。

H.264(取 HandBrake 1080p 推荐范围内的值):

ffmpeg -i input.mp4 -c:v libx264 -crf 22 -preset slow -c:a aac -b:a 160k output_h264.mp4

H.265(x265 的默认 CRF 是 28,取值范围 0 到 51):

ffmpeg -i input.mp4 -c:v libx265 -crf 28 -preset medium -tag:v hvc1 -c:a aac -b:a 160k output_h265.mp4

用 SVT-AV1 编码 AV1(SVT-AV1 自身的默认值是 CRF 35、预设 8,预设数字越大编码越快):

ffmpeg -i input.mp4 -c:v libsvtav1 -crf 35 -preset 8 -c:a aac -b:a 160k output_av1.mp4

怎么调:

  • 降低 CRF,画质更高、文件更大;提高 CRF,文件更小。每次只调几档。
  • 越慢的预设 会花越多时间寻找更高效的编码方式,同样的 CRF 下通常能得到更小的文件。
  • -tag:v hvc1 会按苹果播放器期望的方式标记 H.265 视频流,有助于 MP4 文件在 QuickTime 和 iPhone 上打开。

如果只是要换个容器,就不用编码器。-c copy 会把音视频流原样搬进新文件,既不解码也不编码:

ffmpeg -i input.mp4 -c copy output.mov

因为没有任何解码和编码,画面不会有变化。FFmpeg 文档提到,流复制并不是在所有情况下都可行,比如目标容器需要的信息源文件里没有。如果复制失败,就用上面的某条命令重新编码。

怎样压到指定的文件大小

如果平台或邮件对大小有上限,就从这个上限倒推:

  1. 把目标大小换算成兆比特:MB 数 × 8。100 MB 就是 800 Mb。
  2. 除以时长(秒)。5 分钟的视频:800 ÷ 300 ≈ 2.67 Mbps(总码率)。
  3. 减去音频码率。音频用 128 kbps 时,视频大约剩 2.54 Mbps。
  4. 给容器和码率波动留出约 5% 的余量:大约 2.4 Mbps。

在 KwaFlux 转换器里,选不高于这个数的最接近的码率;如果列表里没有这么低的值,就降一档分辨率。在 FFmpeg 里,用两遍编码来准确控制大小:

ffmpeg -y -i input.mp4 -c:v libx264 -b:v 2400k -preset slow -pass 1 -an -f null NUL
ffmpeg -i input.mp4 -c:v libx264 -b:v 2400k -preset slow -pass 2 -c:a aac -b:a 128k output_100mb.mp4

在 macOS 或 Linux 上,把 NUL 换成 /dev/null。

怎样检查有没有看得出的画质损失

别只看压缩后文件的前几秒。要检查编码器容易吃力的镜头:

  • 暗部渐变和天空:看有没有色带和阶梯状的色块。
  • 细密纹理:树叶、水面、头发、布料。看有没有糊成一片。
  • 快速运动和胶片颗粒:看有没有忽隐忽现的方块。
  • 文字和边缘:看字母周围有没有振铃或毛边。

在 100% 缩放下对比原始文件和压缩后的文件,再在观众实际使用的设备上看一遍。想要客观的分数,见我们如何用 VMAF 给视频画质打分。

上传到平台时要记得,平台会把你的文件重新编码一遍。按 YouTube 推荐的 H.264 上传码率来(比如 1080p、24 到 30 fps 用 8 Mbps),平台就有干净的素材可用。上传一个又小又压得很狠的文件,等于让平台去压缩一张已经被压缩过的画面。

常见错误

错误后果解决办法
把已经压缩过的文件再压一遍损失叠加,方块和涂抹越来越多回到原始文件
给无法解码的设备选了 H.265 或 AV1文件放不了,或者播放卡顿不确定设备时用 H.264;先测试播放
把一个编码器的 CRF 值照搬到另一个编码器文件大小或画质出乎意料用每个编码器自己的推荐范围
导出分辨率高于源文件文件更大,细节却没有增加保持源分辨率,或者有意识地用 AI 放大
4K 视频的码率太低运动和暗场出现方块提高码率,或者改为交付 1080p(见 4K 与 8K 对比)
不小心改了帧率画面抖动,或者音画逐渐不同步帧率保持和源文件一致

结语

压缩得好,靠的主要是一连串小决定:从原始文件开始,选观众能播放的编码,每次只调一个参数,检查难处理的镜头。做过一次,你就有了一套能用在同类文件上的固定做法。

KwaFlux 的转换器在你自己的电脑上批量转换视频和音频的格式、编码和码率,和你用来修复、增强画质的是同一个软件。媒体文件不会为了处理而上传。可在 Windows 10(64 位,1809 或更新版本)、Windows 11,以及搭载 Apple Silicon 的 macOS 12 或更新版本上运行。导入文件和试用软件都不需要账号。仅在导出、转换、文件修复和从链接下载文件时需要登录并购买付费方案。

用你自己的真实素材实测效果

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

常见问题

怎样压缩视频又不损失画质?

有损编码每编码一次都会丢掉一些数据。你能控制的是别人看不看得出来:从原始文件开始,选一种设备支持的现代编码,逐档降低画质参数,直到出现差别,再退回上一档。

H.265 比 H.264 好吗?

不是在所有情况下都好。H.265 的设计目标是用更低的码率达到相近的观感,所以文件更小,但它编码更慢,有些浏览器和旧设备也播放不了。不确定文件会在哪儿播放时,H.264 更稳妥。

AV1 比 H.265 好吗?

不一定。AV1 是为高效的网页分发设计的,但用慢速预设时编码会慢得多,旧设备也可能没有硬件解码。请在观众实际使用的播放器上测试。

H.265 或 AV1 的码率怎么选?

从工具默认的画质参数起步,而不是套用某个固定数值:这两种编码的设计目标都是用比 H.264 更低的码率达到相近的观感。一边逐档降低,一边检查暗场和快速运动的镜头;VMAF 分数可以佐证你的肉眼判断。

把 MP4 改成 MKV 或 MOV,文件会变小吗?

不会。只换容器、不重新编码,复制的是同一条视频流,所以大小基本不变;FFmpeg 用 -c copy 就能做到。只有用别的编码或码率重新编码,大小才会变。

参考资料

  1. HandBrake Documentation, "Adjusting quality" (2026-10-11 查阅)
  2. x265 Documentation, "Command Line Options" (`--crf`) (2026-10-11 查阅)
  3. SVT-AV1, "Parameters" (CRF and preset defaults) (2026-10-11 查阅)
  4. YouTube Help, "YouTube recommended upload encoding settings" (2026-10-11 查阅)
  5. FFmpeg Documentation, "ffmpeg" (section 3.1, Streamcopy) (2026-10-11 查阅)
  • H.265 编码
  • 视频画质
  • 教程

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