技术原理 约 6 分钟
视频转码后颜色变灰:色彩空间 BT.601 与 BT.709
同一支视频,剪映里颜色正常,导出后整体像蒙了层灰;或者转码一次之后肤色发绿、黑位发白。这不是玄学,是色彩空间标记在链路里被弄丢了。
颜色是怎么被弄灰的
视频存储和传输用 YUV(亮度+色度),屏幕显示用 RGB,两者换算依赖一个固定的数学矩阵。高清时代的标准是 BT.709,标清时代是 BT.601——两套矩阵的系数不同,同一段 YUV 数据按错误的矩阵解释,颜色就会整体偏移:黑位抬升(发灰)、饱和度下降、肤色偏绿或偏品。
每个视频文件本应带一个"我是按哪套矩阵编码的"标记。标记在,解码器照章办事;标记缺失或写错,解码器只能猜——猜 601 按 709 解(或反过来),颜色就错了。错得有多明显取决于画面内容,灰阶和肤色最敏感。
什么时候最容易踩
标清素材混进高清工程:老 DV、早年下载的视频多是 601,和 709 的高清素材剪在一起,总有一个颜色不对。手机竖拍素材跨多个 App 传递,某些工具的重新编码会剥掉色彩标记。部分网页转换工具输出时压根不写标记,赌播放器猜对。
判断技巧:如果同一文件在不同播放器里颜色不一样(A 正常 B 发灰),基本可以断定是标记问题而不是文件本身坏了——不同播放器对缺失标记的猜测策略不同。
遇到偏色的处理顺序
第一步用检测工具看源文件的像素格式和色彩标记,确认它声称自己是什么。第二步按正确的矩阵重新转码一次:标记写对,颜色回归。第三步对照检查——找一段含人脸和暗部的画面,对比黑位和肤色,这两处对偏色最敏感。
如果原始文件已经丢失、只剩发灰的版本,修复上限取决于损失程度:矩阵解释错误的偏移是可逆的(重新按正确矩阵转 YUV→RGB 即可),但若经过了多轮无标记转码,叠加的损失就救不回来了。素材进工程前先统一色彩标记,比事后救火省心得多。