Mon Monteur Vidéo
一個會交付已驗證檔案的剪輯師,而不是草稿。這個技能不會取代專門的技能:它會決定要使用哪個、以什麼順序使用,並應用在真實專案中學到的規則。
1. 在開始剪輯之前
- 閱讀簡報與來源。 列出所有現有素材:海報(PSD、PDF、JPG)、標誌、照片、原始片段、提供的音樂、語音、文字。
- 檢查工具(
references/outillage.md):Node 22+、FFmpeg、Python、Premiere 是否開啟。在沒有系統 FFmpeg 的機器上,使用套件中的(imageio-ffmpeg、Remotion)而非卡住。 - 用一個問題搞定三件事: 影片的唯一訊息、輸出格式(16:9、9:16、WhatsApp)、目標長度。其餘自行決定。
- 不要虛構內容。 日期、地點、價格、號碼、姓名與職稱均來自來源或提供者。對專有名詞有疑問時:提問。
2. 選擇引擎
| 情境 | 引擎 | 要載入的技能 |
|---|---|---|
| 新的動態設計、宣傳片、解說片、直式影片 | HyperFrames(HTML 渲染為影片) | /hyperframes,然後 /hyperframes-cli |
| 特效、轉場、字幕風格、具名圖形 | 先查 HyperFrames 註冊表再手寫程式碼 | /hyperframes-registry |
| 音樂、音效、語音、轉錄、去背、調色 | 媒體工具 | /media-use |
| 修改現有 Remotion 專案 | 留在 Remotion;只有要求時才遷移 | /remotion-to-hyperframes 用於遷移 |
| 重現參考影片至完全相同 | 逐格逆向工程 | /reverse-any-video |
| 在 Premiere 中完成剪輯、輸出、字幕 | MCP premiere-pro | — |
| 純程序化渲染(標誌揭示、網站截圖),無瀏覽器 | Python Pillow + FFmpeg,逐格 | — |
| AI 生成影片、虛擬角色 | Higgsfield 或 HeyGen,經費同意後 | /higgsfield-generate、/media-use |
選擇規則:最簡單的引擎,能讓使用者之後可編輯結果。每個引擎的細節與陷阱:references/moteurs.md。
3. 單一時間來源
剪輯失敗的第一大原因是音效與影像讀取不同的時間碼。
- 撰寫一個時間碼檔案(
timing.mjs、plan.json):列出每個場景的長度,以及螢幕上發生事件的提示點清單。 - 影像與音訊腳本都匯入這個檔案。絕不在兩處複製長度。
- 從合成計算總長度,然後據此產生音樂(Remotion 用
scripts/duree-composition.mjs)。 - 提供的音樂: 測量其節奏(BPM),然後以拍子計算。
temps = 60 × fps / BPM幀,mesure = 4 × temps。每個剪接點落在第一拍;記錄第一拍的偏移量(通常為 0.02 到 0.03 秒)。 - 變體版本(多位受訪者、多個方案):時間碼檔案中的一個變體物件,每個變體與每個格式一個合成,一個
render腳本對其循環。
4. 節奏與內容
- 每個可讀視覺約 5 秒。 太快是最常見的抱怨。短直式格式可降至 2–3 秒,但文字不可少於此。
- 公開影片 = 方案、證明、行動呼籲。 內部頁面(品牌規範、字型、文具樣板)對公眾無用:從剪輯中移除。
- 最終行動呼籲停留 5 到 8 秒,包含經確認的聯絡方式與付款/註冊方式。
- 標誌絕不修改。 從原始檔案(AI、PDF、SVG)出發,不重新著色或繪製;僅動畫其出現(遮罩揭示)。標誌的最後一幀與原始檔案相同。
- 螢幕上的人: 姓名+職稱標籤,指向正確的人(照片在時間碼檔案中的像素座標),鏡頭依序掃過每個人,然後全景。
- PSD/PDF 提供的海報: 提取圖層與背景,而非憑記憶重組;沿用其顏色與字型。
- 安全區域: 內容保持在畫面 90% 內,關鍵文字與字幕在 80% 內。在 9:16 格式中,保留底部(TikTok、Reels 介面)與頂部。
5. 音效
細節:references/son.md。
- 長度超過約 15 秒且有敘事的影片,應有音樂與對應動作的音效,除非要求靜音。
- 版權: 音樂來自提供者、授權目錄,或由腳本合成(建構時即為免版稅)。絕不使用從網路取得的商業曲目。
- 音效對齊時間碼檔案中的提示點,符合主題氛圍(餐飲業用廚房聲,應用程式用紙張與通知聲)。
- 初始混音: 音樂 0.62,音效 0.85,軟限制器
tanh(scripts/mix.mjs)。有人聲時降低音樂(ducking);人聲在手機喇叭上仍清晰可辨。 - 旁白: 每行一個檔案,然後逐字轉錄以將文字與字幕對齊實際人聲,而非估計。
6. 拍攝的說話片段:剪接與字幕
細節:references/parole.md。
- 使用時間戳轉錄(
npx hyperframes transcribe、Whisper 或 Parakeet)。 - 校正轉錄: 專有名詞、縮寫、同音異義詞。引擎幾乎都會搞錯名稱與縮寫;請重新讀取每個句子。
- 剪掉靜音:
scripts/coupe-silences.py將間隔小於 0.35 秒的詞分組,並在開頭加入 0.08 秒、結尾加入 0.15 秒。以完整句子結束;移除聽不清楚的結尾。 - 排序拍攝片段以說故事:簡短溫暖的開場,長訊息放在中間或結尾(如果結尾有力)。
- 字幕:1 到 2 行,每行 ≤ 42 字元,每卡 1 到 3.5 秒,絕不在詞組中間中斷。同時提供
.srt檔案。
7. 交付前檢查
絕不單純因為無錯誤渲染就宣告「完成」。
- 在關鍵時刻提取影像:開頭、每個轉場、每個場景的中間、最後一幀。實際觀看它們。 接觸印樣即可檢查節奏。
- 檢查:文字可讀且無錯字、無內容被邊緣裁切、正確的人名對應正確的人、標誌完整、最後一幀乾淨。
- 檢查檔案:非空、長度符合預期、有音軌、
yuv420p、在精確剪接點影音同步。 - HyperFrames:
npx hyperframes check --json無錯誤,然後snapshot。Remotion:在關鍵幀使用remotion still。 - 展示預覽並等待同意後再進行最終渲染或發布,除非明確要求直接完成。
8. 輸出與改版
細節與命令:references/export.md。
| 輸出 | 畫面 | 初始設定 |
|---|---|---|
| Master、YouTube、Facebook | 1920×1080,30 fps | H.264,CRF 16–18,yuv420p,AAC 192 k |
| TikTok、Reels、Shorts | 1080×1920,30 fps | H.264,CRF 20–23 |
| WhatsApp、直接傳送 | 1280×720 或 720×1280 | H.264,CRF 26–28,AAC 128 k,+faststart,目標 < 100 MB(狀態:≤ 60 秒) |
| 網站 | 依頁面而定 | 輕量版 + 海報圖 |
- 9:16 是重新組合而非裁切:相同場景,垂直版面,較大字型。
- 依內容與目的命名檔案:
sujet-facebook.mp4、sujet-tiktok.mp4、sujet-whatsapp.mp4。輸出放在out/或livrables/,來源放在source/。 - 僅在使用者想手動修改時才透過 Premiere:將渲染結果、音軌素材與
.srt匯入。
9. 多工作階段
每次只有一個工作階段寫入專案資料夾。兩個工作階段寫入同一資料夾會互相覆蓋。長時間渲染在背景獨立執行,並產生可重讀的日誌。
技能檔案
references/moteurs.md— 每個引擎的優勢、陷阱與命令references/son.md— 合成音樂、音效、混音、語音references/parole.md— 轉錄、校正、靜音剪除、字幕references/export.md— 改版與檢查的 FFmpeg 命令references/outillage.md— 無管理員權限安裝、Premiere MCPreferences/lecons.md— 真實專案回饋,每次交付前重讀scripts/mix.mjs、scripts/coupe-silences.py、scripts/duree-composition.mjs、scripts/planche-contact.sh