Motion Edits
此技能可產出完成度高、品質頂尖的動態影片。它的運作基於四個要素:
- 規則與數據:從 82 個參考編輯(
references/)逐影格測量而來。 - 12 種風格家族:可供選擇與混合(
references/styles/)。 - Remotion 引擎(
remotion/):能渲染出 JSON 格式的 VideoSpec;一個子句代表一個場景,包含測量過的動態曲線、節奏性剪接、與文字同步的動畫、程序化紋理以及電影級調色。 - 工具:用於語音、節拍、素材分析、去背、遮罩、渲染與品質檢查(
tools/)。
兩種模式,可以在同一支影片中混合使用:
- 獨立動畫:無需素材。由文字、去背圖、UI 模型、圖表、計數器、粒子與紋理構成一切。
- 素材編輯:以用戶的影片片段為主幹。進行緊湊化、放大局部、加入字幕、關鍵字衝擊效果與B-Roll卡片、將文字置於主體後方、調色、加入轉場。
任何長寬比:在規格中設定 width/height(預設為 9:16 1080×1920;16:9、1:1、4:5 等皆可)。
務必先讀
references/playbook.md:規則手冊。每次都要讀。references/engine-spec.md:所有規格欄位、圖層、轉場與渲染指令。撰寫規格前請務必閱讀。references/styles/README.md:挑選一個風格家族,然後閱讀該家族的檔案(其範例規格是一個很好的起點)。
當需要做出決策時,可參考的深入文件:
script-structure.md:類型範本、鉤子、子句 → 場景 → 道具規則、實例解析。motion-language.md:動態曲線、影格率、節奏、同步數據。transitions.md:63 種轉場及其影格數與建構方法。typography-color.md:字型類別、搭配、尺寸、安全區、色盤、調色量。sound-design.md:背景音樂、音量閃避、音效放置、節拍同步、純音樂剪輯。footage-editing.md:整合模式、放大局部、蒙太奇、字幕、兩個完整的素材編輯規格範例。engine-gaps.md:引擎目前無法做到的事,以及因應方法。breakdowns/vNN.md+breakdowns/_TAXONOMY.md:逐鏡頭的證據。可透過標籤搜尋找先例(grep -l "text-behind-subject" references/breakdowns/*.md)。
一個完整的實際範例(從腳本 → 暫用語音 → 規格)位於 remotion/src/specs/examples/zeigarnik.json(腳本:work/zeigarnik.script.txt)。
工作流程
0. 環境設定(每個環境只需一次)
cd remotion && npm install
pip install faster-whisper librosa opencv-python-headless "rembg[cpu]" piper-tts pillow numpy
需要安裝 ffmpeg。如果 librosa 因段錯誤崩潰,請設定 NUMBA_CACHE_DIR=/tmp/numba_cache。
1. 需求確認
取得以下資訊,或在用戶未提供時選擇合理的預設值,不要卡住進度:
- 主題或訊息
- 平台與長寬比
- 長度(短影音:20–45 秒)
- 語音:用戶的語音檔案、要配音的腳本,或無語音
- 素材或照片
- 品牌資訊(色盤、字型、標誌)
- 調性
- 需要幾個版本
如果用戶只提供主題,請自行撰寫腳本。
2. 腳本 → 子句清單
使用 script-structure.md。在開頭第一個句子放入鉤子(8–15 個字,前 3 個字就要有衝擊力)→ 鋪陳 → 轉折 → 在 16–40% 處提出命名原則 → 佐證 → 反論教訓 → 行動呼籲(最後 10–14%,至少 2.5 秒)。將腳本拆分為子句:一個子句 = 一個場景 ≈ 6 個字 ≈ 2–2.8 秒。針對每個子句,寫下:
- 名詞的具體 道具或圖片
- 關鍵字:1–3 個將成為動態文字的字詞
- 裝置:徽章、計數器、UI、圖表、塗鴉、切換、粒子
- 進入該場景的剪接方式
3. 語音與時間點
- 用戶語音:
python3 tools/transcribe.py vo.mp3 remotion/public/<proj>/vo.words.json - 尚無語音:
python3 tools/tts.py script.txt remotion/public/<proj>/vo.wav --speed 1.15 --words remotion/public/<proj>/vo.words.json可產生離線暫用語音。告知用戶這是佔位用;他們的語音之後可以取代,因為重新轉錄後會自動調整時間參考。 - 純音樂或無語音:
python3 tools/beats.py music.mp3 remotion/public/<proj>/beats.json,然後設定"beats"並使用{beat|downbeat|onset: n}參考和snap。 - 場景起始: 在每個子句第一個單詞上設定
{"word": "...", "offset": -0.06}。場景內的單詞參考會依序解析,但若單詞在附近重複出現,請使用多詞參考(如 "why writing")。關鍵字則使用sync或at: {word}。
4. 視覺風格
選取 一個風格家族(參閱 styles README)。然後鎖定:
- 色盤:每個場景輪替的場域顏色,加上 1–2 個具有固定意義的重點色
- 字型搭配:一個厚重的展示字體搭配一個纖細的字體
- animFps:拼貼/編輯風格設為 15,粗獷印刷風格設為 12,UI/3D/電影風格設為 0
- 調色:顆粒 + 暗角,印刷風格可再加上網點效果
- 一個標誌性轉場,重複使用,再加上 1–3 種輔助轉場類型
5. 素材
- 影片素材:
python3 tools/analyze_footage.py clips/*.mp4 --out work/footage.json --sheets work/sheets,然後 查看產出的分鏡表tools/tighten.py可移除靜默片段tools/matte.py可產生人物遮罩,用於文字置於主體後方的效果
- 照片:
python3 tools/cutout.py photos/* --out remotion/public/<proj>/cutouts --trim,然後以image搭配cutout: true使用。將文字層的z設在去背圖層之下,即可將文字藏在主體後方。 - 無素材: 使用文字、程序化背景、UI 模型、圖表、計數器、形狀、粒子與
embed。僅在必須使用具體物件時,才在remotion/src/custom/中撰寫自訂元件。 - 僅使用用戶提供或擁有權利的標誌、肖像、音樂與音效。學習技巧;切勿複製創作者的品牌、角色、片尾卡或腳本。
6. 撰寫規格
以所選風格家族的範例為基礎,撰寫 work/<proj>.spec.json,內容為 {"spec": {...}}。素材檔案放在 remotion/public/<proj>/ 目錄下。撰寫時請套用 playbook 的檢查清單。
7. 預覽、渲染、審查、修正
- 先看單格畫面:
為每個場景取一格畫面(場景中間影格),拼貼起來檢視,修正溢位、對比、雜亂與空白影格問題。cd remotion && npx remotion still src/index.ts MotionVideo /tmp/f.jpg --frame=N --props=../work/<proj>.spec.json --scale=0.4 - 渲染:
加上python3 tools/render.py work/<proj>.spec.json out/<proj>.mp4--draft參數可產生半解析度預覽。它會透過 ffmpeg 套用顆粒與網點調色,速度快很多。 - 審查:
閱讀連拍表與剪輯條。檢查剪接點是否對齊子句開頭、任何內容的可讀時間是否少於 0.5 秒、沒有任何靜態片段超過 1.5 秒,以及沒有任何畫面損壞(空白圖層、黑色間隙、邊緣露出)。python3 tools/review_render.py out/<proj>.mp4 out/review/ - 修正後重新渲染。交付 MP4 檔案,並附上簡短的鏡頭清單,以及任何用戶應自行替換的內容(暫用語音、佔位素材、音樂)。
8. 版本與系列
- 變化版本: 保留腳本,改變風格家族、色盤、字型搭配、標誌性轉場、紋理與鉤子裝置。每個變化各渲染一次。
- 頻道系列: 鎖定一套組合(色盤、字型搭配、調色、疊加徽章、行動呼籲卡片、2–3 種標誌性轉場)。將其儲存在
remotion/src/specs/kits/<channel>.json,並從此組合開始每一集的製作(參閱kits/README.md)。
不確定時的預設值
- 格式: 1080×1920,30 fps。
- 風格: 解說影片使用
halftone-poster-collage,商業/科技類使用native-ui-explainer,工具類使用dark-product-promo。 - 動態:
animFps設為 15,settle設為 1.10(預設值),場景長度 1.2–2.8 秒。 - 文字: 關鍵字使用
impact/bebas字型,大小 18–30 級,搭配一個serif-italic或script的輔助字詞。使用深重點色製作stitched徽章。 - 剪接: 標誌性轉場為
zoom,快速插入用cut,揭示效果用flash或invert,進入行動呼籲時用circle。 - 調色與音訊:
grain設為 0.07,vignette設為 0.35。背景音樂音量musicVolume設為 0.3,閃避音量duckTo設為 0.12。