视频压缩完整指南:从原理到FFmpeg实战
深入解析视频压缩原理,H.264/H.265的I/P/B帧、CRF、码率、GOP结构,以及FFmpeg实战压缩命令。
阅读更多 →三大主流视频编码器全方位对比,助你选择最佳编码方案
H.264,也称为 AVC(Advanced Video Coding),由 MPEG 和 VCEG 联合开发,于 2003 年正式发布。它是目前应用最广泛的视频编码标准,几乎所有设备和浏览器都原生支持。
H.264 使用帧内预测、帧间预测、变换编码、熵编码等技术,相比前代 MPEG-2 节省了约 50% 的码率,同时保持相同的视觉质量。
H.265,也称为 HEVC(High Efficiency Video Coding),是 H.264 的继任者,于 2013 年发布。它在 H.264 的基础上引入了更多先进技术,如更大的编码单元(CTU)、更灵活的预测模式、SAO 滤波等。
在相同画质下,H.265 比 H.264 再节省约 50% 的码率,这意味着相同带宽下可以传输更高清的视频。
AV1(AOMedia Video 1)是由开放媒体联盟(AOMedia)开发的开源免版税视频编码标准,于 2018 年正式发布。参与开发的公司包括 Google、Mozilla、Netflix、Amazon、Microsoft 等。
AV1 的目标是在相同画质下比 H.265 再节省约 30% 的码率,并且完全免费,没有专利授权问题。
压缩效率是视频编码器最重要的指标之一。以下是在相同视觉质量(PSNR 相近)下,三者的相对码率对比:
| 编码器 | 相对码率 | 节省比例(vs H.264) |
|---|---|---|
| H.264 | 100% | 基准 |
| H.265 | ~50% | 约 50% |
| AV1 | ~35% | 约 65% |
从数据可以看出,AV1 的压缩效率最高,H.265 次之,H.264 最低。但需要注意的是,实际压缩效率会因视频内容、编码参数、质量评估方法等因素而有所不同。
编码速度也是选择编码器时需要考虑的重要因素。一般来说,压缩效率越高的编码器,编码速度越慢。
| 编码器 | 相对速度 | 实时编码 |
|---|---|---|
| H.264 (x264) | 快(基准) | ✓ 轻松支持 |
| H.265 (x265) | 中等(约 0.3-0.5x) | △ 需较高配置 |
| AV1 (libaom) | 慢(约 0.05-0.1x) | ✗ 目前困难 |
H.264 的专利由 MPEG LA 管理,需要支付专利使用费。对于免费的互联网视频服务,H.264 是免版税的;但对于付费内容和硬件设备,需要支付授权费用。
H.265 的专利情况比较复杂,有多个专利池(MPEG LA、HEVC Advance、Velos Media),授权费用较高,且部分专利持有者未加入任何专利池,这也是 H.265 在浏览器中普及较慢的主要原因之一。
AV1 是完全开源免版税的,由 AOMedia 联盟承诺其成员的专利不会对 AV1 使用者主张权利。这对于商业应用来说是一个巨大的优势。
使用 libx264 编码器,CRF 模式(推荐):
ffmpeg -i input.mp4 -c:v libx264 -crf 23 -preset medium -c:a aac -b:a 128k output_h264.mp4
参数说明:
-crf 23:恒定质量因子,范围 0-51,默认 23,数值越小质量越高-preset medium:编码速度预设,可选 ultrafast 到 veryslow使用 libx265 编码器:
ffmpeg -i input.mp4 -c:v libx265 -crf 28 -preset medium -c:a aac -b:a 128k output_h265.mp4
H.265 的 CRF 默认值为 28,视觉质量约相当于 H.264 的 CRF 23。
使用 libaom-av1 编码器(速度较慢):
ffmpeg -i input.mp4 -c:v libaom-av1 -crf 30 -b:v 0 -cpu-used 4 -c:a libopus -b:a 128k output_av1.mkv
参数说明:
-cpu-used 4:编码速度控制,0 最慢质量最好,8 最快质量最差-b:v 0:配合 CRF 使用,表示不限制码率使用 SVT-AV1 编码器(速度更快,推荐):
ffmpeg -i input.mp4 -c:v libsvtav1 -crf 30 -preset 4 -c:a libopus -b:a 128k output_av1.mp4
选择视频编码器需要综合考虑压缩效率、编码速度、兼容性、专利授权等多个因素。
推荐策略:
如果你不想记这些复杂的命令,可以直接使用我们的 视频压缩工具,在浏览器中就能轻松完成视频编码转换。