视频压缩基础
理解视频压缩的基本原理。学习算法如何在保持质量的同时减少文件大小。
什么是视频压缩?
**视频压缩**是通过移除冗余或不必要的数据来减小视频文件大小,同时尽量保持视觉质量的过程。这是必不可少的,因为未压缩的视频文件非常庞大,不适合存储或传输。
原始视频现实
- • 1080p @ 30fps = 每分钟约3GB
- • 4K @ 30fps = 每分钟约12GB
- • 无法轻松流传输或分享
- • 需要大量存储容量
压缩视频的优势
- • 1080p @ 30fps = 每分钟约50MB
- • 可实现90-95%的大小减少
- • 适合流传输和分享
- • 保持可接受的视觉质量
视频压缩的工作原理
压缩类型
🔄 无损压缩
- • **完美质量:**无数据丢失
- • **中等压缩:**约50%大小减少
- • **使用场景:**专业编辑,归档
- • **示例:**FFV1, ProRes, DNxHD
📉 有损压缩
- • **质量权衡:**部分数据永久丢失
- • **高压缩:**80-95%大小减少
- • **使用场景:**流传输,网络,社交媒体
- • **示例:**H.264, H.265, VP9, AV1
压缩技术
🖼️ 空间压缩(帧内)
减少单个帧内的冗余,类似于图像的JPEG压缩。
- • 移除人眼不太敏感的高频细节
- • 使用数学变换(DCT - 离散余弦变换)
- • 量化颜色和亮度信息
- • 每帧独立压缩
⏱️ 时间压缩(帧间)
利用连续帧之间的相似性实现更高的压缩效率。
- • **I帧:**完整帧(关键帧)
- • **P帧:**预测帧(参考前面的帧)
- • **B帧:**双向帧(参考过去和未来)
- • 运动矢量跟踪帧间物体移动
理解视频编解码器
**编解码器**(编码器-解码器)是执行压缩和解压缩的算法。编解码器的选择显著影响文件大小、质量和兼容性。
常用视频编解码器对比
编解码器 | 压缩效率 | 质量 | 兼容性 | 最适用于 |
---|---|---|---|---|
H.264/AVC | 良好 | 很好 | 出色 | 通用,流传输 |
H.265/HEVC | 出色 | 出色 | 良好 | 4K内容,现代设备 |
VP9 | 很好 | 很好 | 良好 | YouTube,网络流传输 |
AV1 | 出色 | 出色 | 有限 | 面向未来,Netflix |
关键压缩参数
码率(最重要)
**码率**决定每秒视频使用多少数据。更高的码率=更好的质量但更大的文件。
码率类型
- • **CBR(恒定):**固定码率
- • **VBR(可变):**根据内容复杂度调整
- • **ABR(平均):**目标平均码率
典型码率
- • **4K:**35-45 Mbps
- • **1080p:**8-12 Mbps
- • **720p:**5-8 Mbps
- • **480p:**2.5-4 Mbps
质量设置(CRF/QP)
**CRF(恒定率因子)**通过保持一致的感知质量提供比码率更好的质量控制。
高质量
- • CRF 17-20
- • 专业用途
- • 大文件尺寸
- • 最小质量损失
平衡
- • CRF 21-25
- • 通用用途
- • 良好质量/大小比
- • 最常见选择
高压缩
- • CRF 26-32
- • 小文件尺寸
- • 可见质量损失
- • 网络/移动优化
分辨率和帧率影响
分辨率效果
- • **4K (2160p):**像素数是1080p的4倍
- • **1080p:**大多数内容的最佳选择
- • **720p:**比1080p文件减小50%
- • **480p:**减小75%,移动友好
帧率考虑
- • **60fps:**流畅运动,文件增大约40%
- • **30fps:**大多数内容的标准
- • **24fps:**电影感,更小文件
- • **15fps:**显著压缩,卡顿动作
高级压缩概念
GOP结构(图像组)
GOP定义I、P和B帧的模式,影响压缩效率和寻址性能。
- • **GOP大小:**I帧(关键帧)之间的帧数
- • **较短GOP:**更好的寻址性能,较大文件
- • **较长GOP:**更好的压缩,难以寻址
- • **典型:**流传输用60-120帧的GOP
B帧配置
B帧提供最佳压缩但需要更多处理能力并增加编码延迟。
- • **无B帧:**最快编码,较大文件
- • **2-3个B帧:**压缩和速度的良好平衡
- • **4+个B帧:**最大压缩,较慢编码
心理视觉优化
人类视觉系统考虑
现代编解码器使用心理视觉模型基于人类感知视频的方式优化压缩:
我们不太注意的
- • 运动中的高频细节
- • 暗区域的颜色差异
- • 背景区域的轻微模糊
- • 复杂纹理中的压缩伪影
我们更注意的
- • 光滑区域的块状伪影
- • 面部细节劣化
- • 文字和图形质量
- • 渐变中的色带
压缩伪影
🚫 常见伪影
- • **块效应:**可见的8×8像素块
- • **振铃:**锐利边缘周围的振荡
- • **蚊噪:**物体周围的闪烁
- • **色带:**平滑渐变变成阶梯状
- • **运动模糊:**快速运动变得模糊
✅ 预防技巧
- • **适当码率:**不要过度压缩
- • **去块滤波器:**在编码器设置中启用
- • **两遍编码:**更好的比特分配
- • **适当预处理:**编码前降噪
- • **测试不同预设:**找到最佳设置
编码预设
理解编码器预设(速度vs质量)
预设 | 速度 | 压缩 | 质量 | 使用场景 |
---|---|---|---|---|
ultrafast | ⚡⚡⚡ | ⭐ | ⭐ | 直播流传输 |
fast | ⚡⚡ | ⭐⭐ | ⭐⭐ | 实时编码 |
medium | ⚡ | ⭐⭐⭐ | ⭐⭐⭐ | 通用用途 |
slow | 🐌 | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ | 高质量归档 |
placebo | 🐌🐌 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | 最大质量 |
🧠 关键要点
初学者
- • 大多数内容使用CRF 23
- • H.264编解码器兼容性最佳
- • Medium预设平衡速度和质量
- • 先在短片段上测试设置
高级用户
- • 目标码率使用两遍编码
- • 根据使用场景优化GOP结构
- • 考虑心理视觉优化
- • 分析和基准测试工作流程