複製影片
最終產出是一個可編輯的專案,其渲染結果在時間、構圖、類型、調色板和動態上與參考影片匹配,並附上一份報告,說明哪些部分是精確還原、哪些是近似處理。輔助 CLI 工具 replicate-video 負責測量和校驗;你負責觀察和建構。
進行測量,切勿猜測。 從縮圖表猜測的時間軸,在 15 秒的影片中就可能誤差一秒。建構中的每個時間點都來自於測量過的幀。這些幀就是證據;數字告訴你要往哪裡看。
1. 設定
執行 replicate-video doctor。當 ffmpeg、ffprobe 和 cv2 都顯示 ok 時即完成。請確保 FFmpeg 在 PATH 環境變數中,以便後續所有指令都能使用:渲染和 lint 工具也需要 ffprobe。如果指令缺失,請安裝它(uv tool install git+https://github.com/usemosio/replicate 或 pipx install git+https://github.com/usemosio/replicate)以及 FFmpeg。連結代表一個網頁,不是檔案:請先下載(使用 yt-dlp,或請對方提供檔案),並且只保留他們有權利使用的部分(references/rights.md)。
2. 測量
replicate-video analyze <video> -o .replicate/<name> # 當語音很重要時,添加 --transcribe
當 .replicate/<name>/facts.json 和 SUMMARY.md 存在時即完成。每個輸出代表的意義及其可能造成的誤導,請參閱 references/measure.md。
3. 閱讀證據
先開啟 contact.jpg,然後是 SUMMARY.md,最後是它提到的每個圖片:
- 每個 邊界條(
strips/):確認或否決每一個cut(剪輯點)、candidate(候選點)和flash(閃光)。剪輯點可能隱藏在快速移動之下;閃光或快速推近看起來可能像剪輯點; - 每個 鏡頭的幀(
frames/),對照表格中的攝影機運動; - 字幕表(
captions.jpg,每個字幕裁剪圖及其時間點):記下每個群組的準確文字; - 對於每個入場、出場和過渡,連續的幀:
replicate-video strip <video> --range a,b [--roi x,y,w,h]。
當每個邊界都經過肉眼分類、每個字幕群組都有其文字,且表格中的每個運動都已被確認或修正時,即完成。
4. 決定忠實度
| 對方要求 | 保留 | 替換 |
|---|---|---|
| 「複製 / 製作相同的影片」 | 節拍、時間、拷貝、構圖、調色板、動態、聲音;僅在影片是對方自己的作品或他們持有權利時保留角色和標誌 | 任何不屬於他們的東西:在相同的繪畫系統中重繪角色;移除創作者名稱和浮水印 |
| 「像這樣,但用於我的品牌 / 改變 X」 | 節拍結構、節奏、動作文法、構圖、調色板角色 | 他們指定的內容;參考影片中的文字、標誌、人物和地點 |
| 「這個風格,可重複使用」 | — | 移交給 style-writer 技能 |
當要求不明確時,先使用這三個選項詢問一次。
5. 編寫節拍地圖
在任何程式碼之前,編寫 BEATS.md。對於每個節拍:開始和結束幀、畫面內容、螢幕上的確切文字、調色板、類型、攝影機運動(幅度、緩動、開始和結束)、事物如何入場、運動機制(什麼轉變成什麼)、以及如何出場。當參考影片的每一幀都歸屬於某個節拍時,即完成。
6. 建構
- 畫布尺寸和幀率與參考影片相同;持續時間為其幀數 ÷ fps。時間寫為 幀 ÷ fps 並向下取整(例如,在 30 fps 下,第 83 幀為
2.766666)。 - 一個設定檔包含時鐘(場景、提示點)以及人們可能替換的所有內容(拷貝、顏色、字型、圖片路徑);場景檔案從中讀取,因此即使工具要求每個場景一個檔案,後續的修改也只需編輯一處。
- 每個場景都保持一些以時間函數表示的運動,這樣在時間拉伸時場景永遠不會靜止。
- 按照 references/match.md 的規則匹配每個圖層:根據墨蹟匹配文字、根據像素匹配字幕、光線、火焰和粒子、角色、運動模糊。
- HyperFrames:references/hyperframes.md。其他工具:references/other-engines.md。聲音:references/sound.md。
獨立作業:一個代理掌握整部影片,優於多個代理各自重看。
當 BEATS.md 中的每個節拍都已建構完成、專案的渲染結果符合參考影片的尺寸、幀率和持續時間,且專案中沒有參考影片的像素時(請參閱 rights),即完成。
7. 最後檢查一次
replicate-video diff <reference> <render> -o .replicate/diff
開啟 worst.jpg 和 shots.jpg(左側為參考,右側為渲染)。按以下順序用肉眼判斷:節拍時間、構圖、調色板、類型、運動。分數只告訴你優先查看何處;它無法發現錯誤的文字,並且會懲罰那些被要求做的更改。修正單一最大的實際差異,再次渲染並比對一次,然後停止。當 diff 結果沒有列出遺漏的剪輯點、持續時間差異為 0,並且你已經完成一輪修正時,即完成。微小的分數差異不值得再進行一輪。
8. 報告
在專案中編寫 REPLICATE.md:哪些部分被精確重建、哪些是近似處理及其原因(例如替換的字型、簡化的繪圖)、被要求更改的內容,以及最後一次 diff 的數值。