SuperAPI AI 工具集

video-color-grade

设计与创作

查看项目

更新于 10-16 02:28

技能介绍

用途:对素材做颜色校正与风格化,包括白平衡/曝光修复、Log 转 Rec.709、命名创意风格、肤色检查,并产出可移植的 .cube LUT。核心思路是先校正再风格化:所有风格共享同一校正底层(Log/HLG 为 log→Rec.709 转换;普通 Rec.709 素材为白平衡中和、曝光与轻度对比),再叠加创意层(暖/冷/青橙/浓郁/褪色等)。肤色是质量标准,深肤色下青橙与冷色去饱和常出现偏绿偏灰,需优先看人脸,保留中间调暖度,用 vibrance 而非原始饱和度。

依赖:ffmpeg/ffprobe 在 PATH,Python 需 numpy 与 Pillow。

主要能力与流程:评估、渲染对比、选择、烘焙与应用。

  1. 评估:python scripts/assess.py SOURCE.mp4 --out work/ 报告 Log 与 Rec.709 判定、白平衡偏色、曝光并选代表帧,据此调整 looks.json 的 base。代表帧按中位亮度选,单镜头口播通常可用;B-roll 或多镜头可能选到无人脸帧,可用 --frame-time 指定;统计窗口默认取时长 10% 处约 10 秒,可变光照用 --win-start/--win-dur 调整。
  2. 渲染风格:python scripts/render_looks.py work/assess/frame.png looks.json --out work/looks 生成带标签的全分辨率对比图与肤色条,需目视检查,偏色则调参重渲,必要时用 --face-crop W:H:X:Y。可选运动预览:python scripts/make_clips.py SOURCE.mp4 looks.json --out work/clips --pick ... --with-original --ss 148 --t 8。
  3. 选择:用户要求选择时用 human 模式等待,委托或自主运行时用 agent 模式不停顿;均需写入 selected_look、selection_mode、selection_rationale。
  4. 烘焙与应用:python scripts/bake_lut.py looks.json --name CHOSEN --out final/selected-color-look.cube --verify-frame work/assess/frame.png;python scripts/apply_grade.py SOURCE.mp4 --looks looks.json --name CHOSEN --out out/graded.mp4(或 --lut final/selected-color-look.cube)。应用仅重编码一次视频,音频用 -c:a copy,保持时长、帧率与尺寸;画质与耗时由 --crf(默认 18)和 --preset(默认 slow)控制,长片交付可降到 medium。

项目协议:决策写入 work/color-grade/grade-plan.json,含 schema_version、target(默认 base-video,避免重着色内容卡与字幕)、base、looks、selected_look、selection_mode、selection_rationale、selected_lut、evidence_refs;产出 review/02-color-grade/choose-color-look.jpg、skin-tone-check.jpg 与 selected-look.md。烘焙后的完整 LUT 已含校正底层,渲染器只应用 lut3d,不可再叠加 base。共享渲染器命令为 python skills/video-understand/scripts/build_render_plan.py . 与 python skills/video-understand/scripts/render_project.py work/render/render-plan.json。

迁移兼容:脚本仍接受旧 looks.json(base + 命名 looks,含 name、label、desc、chain,可设 prepend_base 为 false),gradelib.load_spec() 也接受标准 grade-plan.json。

限制与注意:不要盲目调色,先评估;应调干净剪辑再叠加图层,已烧入字幕/卡片的画面不要信任 assess.py 统计与选帧;一套风格/LUT 复用于全部相关片段,不要每片重选;LUT 烘焙逐像素精确,33³ 网格自校验;标签用 PIL PNG 叠加而非 ffmpeg drawtext;含盘符冒号的路径会破坏 ffmpeg 取路径的滤镜参数,脚本以文件所在目录为 cwd 并用 basename 引用;脸/肤色条使用固定居中偏上裁剪而非人脸检测;apply_grade.py 校验帧在时长 20% 处,可能与选风格帧不同。付费、价格与平台信息暂未提供。