用途:解决 AI 生成场景在不同剪辑之间颜色、对比度与饱和度漂移的问题。它会采样参考片段,计算其余片段每隔一帧的 Y/U/V 均值,再对每个片段应用 ffmpeg eq(可选 curves)滤镜,使其均值更接近参考,从而显著降低片段间差异。该逻辑源自 coca-cola 广告项目的手工调色脚本,但被泛化为逐片段处理。
主要能力与用法:输入参数包括 --clips-dir(必填,含 scene-*.mp4 的目录)、--output-dir(默认 <clips-dir>/graded/)、--reference(参考片段名或绝对路径,默认按字典序第一个片段)、--match(要匹配的通道,默认 y,u,v;只留 y 可保留原色调)、--max-delta(0–1,限制对比度/饱和度/gamma 单次调整幅度,默认 0.30)、--archive(覆盖前归档原片,默认 <clips-dir>/_archive/pre-grade-<ts>/)。流程为:列出片段并解析参考;用 ffmpeg signalstats 以 1fps 采样计算均值;按公式推导对比度、饱和度(基于 UV spread)与 gamma 的逐片段调整;执行 ffmpeg -i scene.mp4 -vf "eq=contrast=<C>:saturation=<S>:gamma=<G>" -c:a copy graded/scene.mp4;覆盖前归档;再测量并报告差异。
输出:调色后片段、manifest.json(含参考、前后统计、参数、方差前后对比与状态)、verification.md(方差下降表)。质量检查包括:调色后方差较前下降至少 50%;单片段调整不超过 max-delta;覆盖前全部归档;音频流与源字节一致。
已知限制:若参考片段本身是离群值(如过暗),会把整体调暗,可用 --reference 指定已知良好片段缓解;片段中的黑帧会拉偏 mean Y,当前 1fps 采样仍会包含,有淡入淡出的片段可只传 --match u,v;音频需显式 -c:a copy 避免重编码。示例:scripts/grade.py --clips-dir coca-cola/ad-runs/video-01-museum-painting/clips/ --reference scene-03.mp4。暂无其他平台或收费信息。