压缩后视频模糊、色块、噪点?诊断问题根源并提供解决方案。
常见画质问题诊断
1. 整体模糊
原因:CRF过高或码率过低
解决:降低CRF值(如从28降至22),或提高码率
2. 色块(Banding)
原因:色深不足,8bit无法表达平滑渐变
解决:使用10bit编码,-pix_fmt yuv420p10le
3. 细节丢失
原因:分辨率降低过多或压缩过度
解决:保持原分辨率,只降低码率;或使用锐化滤镜
4. 色彩失真
原因:色彩空间转换错误
解决:添加-colorspace bt709 -color_primaries bt709 -color_trc bt709
画质保护策略
策略1:两步压缩
第一步:CRF 18生成高质量中间文件
第二步:CRF 22-24生成最终文件
这样可避免多次重复压缩导致的画质累积损失。
策略2:去噪预处理
压缩前先去噪,可提升5-10%压缩率:ffmpeg -i input.mp4 -vf hqdn3d=2:1:2:3 denoised.mp4
策略3:锐化后处理
适度锐化可补偿压缩损失:-vf unsharp=5:5:1.0:5:5:0.0
参数调优指南
- CRF范围:1080P用18-24,720P用20-26,480P用22-28
- 预设选择:时间充裕用slow/slower,急用选medium
- 码率控制:1080P建议4-8Mbps,720P建议2-4Mbps
- 10bit编码:减少色带,提升5-10%压缩率
画质评估方法
主观评估:全屏播放,注意暗部、高速运动、渐变区域。
客观评估:使用VMAF工具(分数90+为优秀):ffmpeg -i compressed.mp4 -i original.mp4 -lavfi libvmaf -f null -
不同场景的优化
动画视频:CRF可提高2-3点(动画内容简单,更易压缩)
游戏录屏:保留锐利度,CRF降低1-2点
暗光视频:使用--aq-mode 3加强暗部质量
高速运动:提高bframes:--bframes 8
救急方案
如果已经压缩完但不满意画质:
- 回到原片重新压缩(永远保留原片!)
- 尝试AI超分辨率工具(Topaz Video AI)
- 适度锐化+去噪处理
画质问题多是参数不当导致,掌握诊断方法即可对症下药。