影片編輯比較 是做什麼的?
渲染單一 V1 比較模式:原始-vs-最終-來源時間。
左側面板連續播放原始影片。右側面板將最終交付的像素投影回原始素材的時鐘。被刪除的區段為黑色,保留的最終區段會被拉伸至其原始素材的持續時間,音訊則從原始素材複製。
相依項目
需要 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持續時間。 - 對每個素材時間間隙插入黑色畫面。
- 對應原始音訊,不重新調整其時間。
- 根據每個部分的絕對素材時間邊界推導其起始與結束影格,然後修剪至該影格數量,並以時間軸的有理 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。請勿建立單獨的檢查清單。
此比較是審查交付項目,而非預設預覽。請在最終渲染輸出產生後再執行此技能。