Install
openclaw skills install @whitetowerai/video-edit-compareUse when a completed cut-as-code delivery needs a strict side-by-side review against its original source, including cuts, varispeed, color grade, and graphics.
openclaw skills install @whitetowerai/video-edit-compareRender the single V1 comparison mode: original-vs-final-source-time.
The left panel plays the original continuously. The right panel projects actual final-delivery pixels back onto the original source clock. Dropped ranges are black, kept final ranges are stretched to their source duration, and audio is copied from the original.
Require ffmpeg/ffprobe on PATH and Python with Pillow. Check them before processing media.
work/timeline.json: canonical chronological source-to-program mappinginput/original-video.mp4: original sourcefinal/final-video.mp4: actual delivery after all selected editsDo not compare against a cut plan or an intermediate render. The final pixels are required so the review includes grade and cards.
python scripts/make_compare.py TIMELINE.json SOURCE.mp4 FINAL.mp4 OUT.mp4 [--filter-only]
Project example:
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
The script always writes the durable work/edit-compare/compare-plan.json. It writes PIL
label images and the generated filtergraph under disposable work/cache/.
--filter-only creates the plan and inspectable cache files without rendering the video.
program_range from the final video.source_range duration.Reordered, duplicated, overlapping, nonlinear-speed, or multi-source timelines are unsupported in V1 and must fail validation.
After rendering, the script automatically checks the complete output:
source_duration_s within one frame;On success it writes review/04-edit-compare/comparison-summary.md with a passing
verification result. When work/project.json exists, it also adds or refreshes the
original-vs-final-source-time review node, records exact active operation revisions in
based_on, and refreshes START-HERE.md. Do not create a separate checks manifest.
This comparison is a review deliverable, not a default preview. Generate it after the final render exists.