mcpField
V
video-edit-compare

video-edit-compare

github.com/whitetowerai创意与媒体1755 次安装3 周前更新
代码仓库

关于 video-edit-compare

用于生成原始素材与最终成片并排对比的视频编辑工作流技能,按源素材时间轴映射画面。它会检查帧映射、删减区间、时长及原始音频连续性。

主要功能

  1. 01原片与成片并排渲染
  2. 02将成片帧映射至源时间
  3. 03删减区间显示为黑屏
  4. 04保留原始音频时间
  5. 05自动验证渲染结果

适用场景

  1. 01对照原始素材审查剪辑
  2. 02按源时间检查成片画面
  3. 03查看剪辑中删去的区间
  4. 04验证对比视频的音频连续性

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/whitetowerai/cut-as-code --skill video-edit-compare

安装后在 Claude Code 中输入/video-edit-compare确认已加载。

附带文件scripts/make_compare.pytests/test_make_compare.py

详细介绍

视频剪辑对比

渲染唯一的 V1 对比模式:original-vs-final-source-time。

左侧面板连续播放原始视频。右侧面板将实际交付成片的像素映射回原始素材时间轴。已删减的区间显示为黑色,保留的成片区间会拉伸至对应的素材时长,音频则从原始视频复制。

依赖项

要求 ffmpeg/ffprobe 位于 PATH 中,并安装带有 Pillow 的 Python。在处理媒体前检查这些依赖。

输入

  • work/timeline.json:规范的按时间顺序排列的素材到成片映射
  • input/original-video.mp4:原始素材
  • final/final-video.mp4:完成所有已选剪辑后的实际交付成片

不要与剪辑计划或中间渲染结果进行对比。必须使用最终成片像素,才能在审阅中包含调色和卡片。

渲染

python scripts/make_compare.py TIMELINE.json SOURCE.mp4 FINAL.mp4 OUT.mp4 [--filter-only]

项目示例:

python skills/video-edit-compare/scripts/make_compare.py `
  work/timeline.json `
  input/original-video.mp4 `
  final/final-video.mp4 `
  review/04-edit-compare/original-vs-final-source-time.mp4

脚本始终会写入持久文件 work/edit-compare/compare-plan.json。它会在临时目录 work/cache/ 下写入 PIL 标签图像和生成的滤镜图。 --filter-only 会创建计划和可供检查的缓存文件,但不会渲染视频。

映射规则

  • 保持素材片段按时间顺序排列、互不重叠且仅来自单一素材。
  • 从最终视频中裁剪每个片段的 program_range。
  • 按片段速度拉伸,使其恢复到 source_range 的时长。
  • 每个素材时间轴间隔都插入黑色画面。
  • 映射原始音频,不调整其时长。
  • 根据绝对素材时间边界计算每个部分的起始和结束帧,然后裁剪到对应帧数,并按时间轴的有理数帧率重建 PTS。切勿分别对每个部分的时长取整;累积拼接时的取整误差会造成素材时间轴漂移。

V1 不支持重新排序、重复、重叠、非线性变速或多素材时间轴,必须在验证时判定失败。

验证

渲染后,脚本会自动检查完整输出:

  • 时长与 source_duration_s 的差值不超过一帧;
  • 输出宽度是源视频宽度的两倍;
  • 右侧所有删减区间的采样画面均为黑色;
  • 保留区间的采样画面与对应的成片帧一致;
  • 原始音频保持连续,并使用素材时间轴。

成功后,脚本会写入 review/04-edit-compare/comparison-summary.md,其中包含验证通过的结果。如果存在 work/project.json,脚本还会添加或刷新 original-vs-final-source-time 审阅节点,在 based_on 中记录确切的活动操作修订版本,并刷新 START-HERE.md。不要创建单独的检查清单文件。

此对比是审阅交付物,而非默认预览。请在最终渲染完成后生成。

评论

支持 Markdown