视频编辑对比 是做什么的?
渲染单一的 V1 对比模式:原始-与-最终-源时间。
左侧面板连续播放原始视频。右侧面板将最终交付像素投影回原始源时钟。被裁剪的范围显示为黑色,保留的最终范围被拉伸至其源时长,音频从原始源复制。
依赖项
需要在 PATH 中有 ffmpeg/ffprobe,并且 Python 安装有 Pillow。在处理媒体之前请先检查它们。
输入
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。它将 PIL 标签图像和生成的滤镜图写入临时的 work/cache/。
--filter-only 会创建计划和可检查的缓存文件,但不渲染视频。
映射规则
- 保持源剪辑按时间顺序、不重叠且单源。
- 从最终视频中裁剪每个剪辑的
program_range。 - 根据剪辑速度拉伸它,以恢复其
source_range时长。 - 为每个源时间间隔插入黑屏。
- 映射原始音频,不进行时间重映射。
- 从每个部分的绝对源时间边界导出其起始帧和结束帧,然后裁剪到该帧计数,并在时间线的有理 FPS 下重建 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。不要创建单独的校验清单。
此对比是审查交付物,而非默认预览。请在最终渲染存在后生成它。