一段未经压缩的 1080p 视频,每分钟数据量可达数 GB——视频压缩到底是怎样把这么大的文件"变小"的?
什么是视频压缩?
视频压缩是一种通过减少视频文件中冗余数据来缩小文件体积的技术。一段未经压缩的 1080p 视频,每分钟的数据量可达数 GB,这在存储和传输上都是不可接受的。视频压缩的核心目标是在尽可能保留视觉质量的前提下,大幅降低文件大小。
为什么视频可以被压缩?
视频数据中存在大量冗余,主要分为三类:
- 空间冗余:同一帧画面中,相邻像素往往颜色相近(如一片蓝天),不需要逐个记录。
- 时间冗余:相邻帧之间变化很小(如人物说话时背景不变),只需记录差异部分。
- 视觉冗余:人眼对某些细节不敏感(如高频色彩变化),可以安全地丢弃。
两大压缩流派:有损与无损
| 类型 | 特点 | 压缩率 | 典型场景 |
|---|---|---|---|
| 无损压缩 | 解压后数据与原始完全一致 | 较低(约 2:1) | 专业后期、医学影像 |
| 有损压缩 | 丢弃部分人眼不敏感的数据 | 较高(可达 100:1) | 网络传播、移动端播放 |
绝大多数在线视频和流媒体都使用有损压缩,因为它能在可接受的画质损失下实现极高的压缩比。
关键概念:码率(Bitrate)
码率是视频压缩中最重要的参数,表示每秒编码的数据量,单位通常为 kbps(千比特/秒)或 Mbps(兆比特/秒)。
- 高码率 → 画质好、文件大
- 低码率 → 画质差、文件小
码率与文件大小的关系:
文件大小 (MB) ≈ 码率 (Mbps) × 时长 (秒) / 8
例如,一段 5 Mbps 码率的 10 分钟视频,文件大小约为 5 × 600 / 8 = 375 MB。
码率控制模式
- CBR(固定码率):全程码率恒定,适合直播等对带宽要求稳定的场景。
- VBR(可变码率):复杂画面分配更多码率,简单画面分配更少,整体效率更高。
- CRF(恒定质量因子):以目标质量为基准自动调节码率,是 x264/x265 编码器最常用的模式。CRF 值越低,质量越高、文件越大。通常 CRF 18-28 是合理的范围。
关键概念:分辨率(Resolution)
分辨率指视频画面的像素尺寸,如 1920×1080(1080p)、1280×720(720p)等。降低分辨率是减小文件体积的有效手段:
- 1080p → 720p:像素数减少约 56%,文件体积可减少 40%-60%
- 1080p → 480p:像素数减少约 89%,文件体积可减少 70%-85%
但分辨率的降低会直接影响画面清晰度,需根据实际播放场景权衡。
关键概念:编码器(Codec)
编码器决定了压缩算法的效率。常见的视频编码器:
| 编码器 | 全称 | 压缩效率 | 兼容性 |
|---|---|---|---|
| H.264 (AVC) | Advanced Video Coding | 基准 | 极佳 |
| H.265 (HEVC) | High Efficiency Video Coding | 比 H.264 节省约 40% 码率 | 良好 |
| VP9 | — | 与 H.265 接近 | 良好(Web 优先) |
| AV1 | AOMedia Video 1 | 比 H.265 节省约 30% 码率 | 逐步普及 |
选择更高效的编码器可以在相同画质下获得更小的文件,但编码速度通常更慢,且旧设备可能不支持播放。
压缩质量等级的含义
在实际工具中,压缩质量通常分为几个等级:
- 高质量:保留更多细节,码率降低幅度小(约 30%-40%),适合对画质要求高的场景。
- 均衡:在画质与体积间取得平衡(约 50%-60% 压缩),适合大多数日常使用。
- 高压缩:大幅降低码率(约 70%-80% 压缩),文件最小,但画质有明显损失,适合对体积敏感的场景。
音频轨道的处理
视频文件中的音频也占据一定空间(通常 10%-20%)。在压缩时可以选择:
- 保留音频:音频正常编码,适合需要声音的视频。
- 移除音频:完全去除音频轨道,可额外减少约 10%-15% 的文件体积,适合纯视觉内容或需要后期配音的场景。
常见误区
- "压缩一定会让画质变差":在合理参数下,人眼几乎无法察觉差异。过度压缩才会产生明显的块状伪影和色彩断层。
- "分辨率越高画质越好":如果码率不足,高分辨率反而会出现更多压缩伪影。720p + 充足码率 > 1080p + 不足码率。
- "反复压缩不会损失画质":有损压缩是累积的,每次重新编码都会进一步损失质量,即"代际损失"。
实用建议
- 社交媒体分享:选择"均衡"质量 + 720p/1080p,兼顾画质与上传速度。
- 邮件传输:选择"高压缩" + 480p/720p,确保文件在附件大小限制内。
- 长期存档:选择"高质量" + 原始分辨率,最大限度保留细节。
- 网页嵌入:优先使用 H.264 编码,确保浏览器兼容性。
- 批量处理:要一次压缩整个文件夹的素材?参见批量压缩视频:如何一次性压缩多个视频。