Communitygithub.com

视频调色

按正确顺序先校正再调色:先把画面调平,再用 ASC CDL、白平衡、对比度和可信的肤色做出风格。

视频调色 是什么?

这是视频校色和调色的手艺。它把修画面和做风格分开,覆盖 ASC CDL 的斜率、偏移和幂次,以及白平衡、对比度和肤色,避免调色把画面调坏。适合需要统一质感的成片,而不是往时间线上丢一个滤镜预设。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Prateekiiitg56/video-editing-skills/tree/HEAD/skills/color-grading

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

色彩调色

脚本:scripts/grade.py IN OUT --look NAME [--strength 0.8] [--lut file.cube] [--compare grid.png] 使用 --list 列出风格。通过 ffmpeg filter 链应用风格;--compare 渲染多种风格的帧前/后对比图,方便你和用户目视选择。

1. 操作顺序(始终遵循)

  1. 输入变换:旋转/HDR/对数 → Rec.709(Resolve 中的 Color Space Transform,ffmpeg 中的 LUT 或 tonemap)。切勿直接凭视觉对未转换的 log 素材调色。
  2. 修正(使其中性且一致):白平衡 → 曝光 → 对比度 → 饱和度。目标:白色部分变白,黑色部分变黑,肤色自然,每个镜头匹配。
  3. 风格 / 创意调色:色调偏移、分区着色、曲线、降低强度的 LUT。
  4. 后期处理:暗角、颗粒、光晕、锐化放在最后。

在拼接前对 每个片段分别调色,这样只需一次编码。序列中所有剪辑使用相同风格,除非故事节奏需要变化(例如宁静温暖的场景 A → 混乱冰冷的场景 B)。

2. 思维模型:ASC CDL

每通道:out = (in × slope + offset) ^ power,然后应用饱和度。

  • slope → 高光/增益,offset → 阴影/提升,power → 中间调/伽马。
  • 温暖的高光:提升 R 斜率,略微降低 B 斜率。冷色阴影:提高 B 和 G 的 offset,降低 R 的 offset。
  • ffmpeg 等效工具:colorbalance(每 RGB 通道阴影/中间调/高光)、colorlevels、curves、eq(对比度/亮度/饱和度/伽马)、colortemperature、lut3d、colorchannelmixer。

3. 风格(起点——在帧上判断后再调整)

风格感受关键操作
neutral-punch干净、适合社交媒体微小的 S 曲线,+8% 饱和度,无色调偏移
teal-orange大片、旅行冷色阴影、暖色高光、保护肤色(橙色是肤色的色调)
warm-golden怀旧、美食、生活方式白平衡 +300-600 K,温暖的阴影被提亮,柔和对比度
cool-moody科技、夜晚、戏剧较冷的白平衡,中间调饱和度降低,深黑但不完全压死
film-kodak2383/Portra 风格打印高光滚落,略微青绿阴影,温暖中间调,颗粒 4-8%
bleach-bypass粗粝、战争、运动高对比度,-40% 饱和度,银色高光
pastel-matte美学、简约、时尚提亮黑色(哑光效果),降低对比度,-15% 饱和度,粉/桃色高光
day-for-night从日景模拟夜景减 1.5-2 档曝光,蓝色调,饱和度 0.3-0.5,压暗天空,保持实用灯光温暖
vintage-faded家庭录像、90 年代褪色黑色,黄绿高光,色度噪点,柔化
bw-contrast永恒、纪录片亮度混合(R 权重高以保护肤色),强 S 曲线,颗粒
cyberpunk-neon夜城、游戏品红-青分区,高光高饱和,灯光处发光

日夜转换参考:DaVinci Resolve 的 "LMT Day for Night" 在 ACES AP1 线性空间中的工作方式为 power 0.5 → slope (0.3, 0.5, 0.8) → power 2.2 → saturation 0.3。要将其用于 Rec.709 素材,请从 Rec.709 转换到线性 AP1,应用转换,转换回来,并将其烘焙为 33 点 .cube。在 LUT 之前,将非常暗的源素材稍微提亮。

4. LUT

  • 使用 lut3d=file.cube:interp=tetrahedral 应用。降低强度时通过混合来使用:split[a][b];[b]lut3d=x.cube[g];[a][g]blend=all_expr='A*(1-0.7)+B*0.7'。
  • 技术 LUT(log→709)是精确的,使用 100%。创意 LUT 是调味料,通常 40-80%。
  • 切勿将 .cube 文件读入上下文(成千上万个数字)。通过帧上观察其效果来判断。
  • 在 Python 中生成自定义 LUT:构建一个 33³ 网格,用 numpy 应用你的颜色函数,写入 LUT_3D_SIZE 33 加行(R 最快)。

5. 肤色

  • 肤色位于 肤色线(向量示波器上约 123°,I 线)上,无论种族如何;只有亮度和饱和度会变化。
  • 当应用青色/冷色调风格时,隔离肤色(HSL 键值为色调 0-50°,中等饱和度)并保持它,否则面部会变灰或绿。
  • 在全尺寸下调色时检查每个面部镜头。

6. 镜头匹配

  • 先匹配曝光(波形图/平均亮度),然后白平衡(中性物体或白色),最后饱和度。
  • 快速数值匹配:比较镜头之间中性区域的每通道均值和标准差;调整 slope/offset 直至差距在约 2-3% 以内。
  • 混合相机(手机 + 运动相机 + 单反):先将所有素材转换为 Rec.709,然后与主摄像机匹配。

7. 后期处理细节

  • 颗粒:noise=alls=6:allf=t(时间域)。在缩放到最终尺寸后添加。4K 片段:颗粒在稍强的值下能更好地抗压缩。
  • 暗角:vignette=PI/5 轻微效果。避免用在边缘有文字的素材上。
  • 光晕 / 发光:模糊仅保留高光的副本(阈值,gblur 20-40),染成红橙色,以 15-30% 的强度叠加。
  • 锐化:unsharp=5:5:0.6 一次,在最后,最终尺寸下进行。
  • HDR 转 SDR:参见 ffmpeg-pipeline 的色调映射部分。

8. 在 DaVinci Resolve 中

节点树基线:CST 输入 → 白平衡/曝光 → 对比度/饱和度 → 二级调色(肤色) → 风格/LUT → CST 输出 → 颗粒/暗角。使用 Color Space Transform,输入设为摄像机 log(例如 Apple Log),输出设为 Rec.709 Gamma 2.4。通过帧或颜色组(剪辑前后)复制调色。参见 davinci-resolve。

9. 验证

并排比较 3 帧以上的帧前/后快照(最亮、最暗、一张人脸)。检查:高光在肤色上没有裁切,黑色在细节重要区域未被压死,文字叠加仍然可读,跨剪切点的风格一致。

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

相关技能