Communitygithub.com

直式短影音成片 第1步:素材剪成9:16 Reel

把你自己的原始素材剪成成品 1080x1920 直式短影音。代理用縮圖聯絡表瀏覽素材,挑出精彩片段並依動態軌跡裁切,再用 Remotion 算圖並做響度標準化。

直式短影音成片 第1步:素材剪成9:16 Reel 是什麼?

直式短影音成片配方第 1 步(粗剪)。reel-kit 給代理一套真正剪輯師的工作流程:用聯絡表快速掃描長影片,直式裁切會跟隨畫面動態,一個由 JSON 剪輯清單驅動的 Remotion 範本支援淡入淡出、配樂、片頭卡與片尾。每個主題有獨立風格檔,確保每支短影音風格一致。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Abraham-Hdez/reel-kit/tree/HEAD/skill/reels

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

Reels with reel-kit

你是在使用者電腦上編輯真實影片素材。你需要一個能執行 shell 指令並讀取檔案的工具(例如 Claude Desktop 中的 Desktop Commander 擴充功能,或 Claude Code)。如果沒有這樣工具,請告知使用者並引導至 docs/guia-windows.md。請勿在聊天沙盒中嘗試使用上傳的檔案來完成此工作。

設定

  1. 找到 reel-kit 資料夾(如果找不到,問使用者一次)。所有指令都從該資料夾執行。
  2. 首次使用:執行 npm install 和 pip install numpy。確認 ffmpeg -version 和 node -v 可以正常運作。
  3. 選取本技能 styles/ 資料夾中與主題相符的樣式檔案(yoga.md、aikido.md)。如果沒有符合的,從 yoga.md 開始,並與使用者協商差異。向使用者詢問該 reel 所呈現的事實(名稱、日期、地點、網址);絕對不要自行虛構。

工作流程

  1. 檢視素材。 針對每個長影片:python tools/reel.py sheet <video> --every 10。閱讀 out/sheets/ 中的 sheet 圖片,找出精彩片段。在選定精確時間前,對有潛力的部分使用更細的間隔(--every 2)。
  2. 選擇片段。 寫入 out/<name>-clips.tsv,以 tab 分隔,每個片段一行:id<TAB>source path<TAB>start<TAB>end(秒數或 mm:ss)。遵循樣式檔案來決定片段長度以及每個片段必須包含的內容。
  3. 裁剪。 python tools/reel.py cut out/<name>-clips.tsv。每個片段會變成直式的 1080x1920 影片,存放在 public/clips/;橫式素材會根據動態進行裁剪(--frame center 為固定中心裁剪,--frame keep 為縮放但不追蹤)。僅在電腦有 NVIDIA 顯示卡時加上 --gpu。此指令會為每個片段輸出一行 JSON,包含其精確長度。
  4. 描述 reel。 建立 reels/<name>.json(格式如下),貼入步驟 3 中的片段行。
  5. 渲染。 python tools/reel.py render <name> 會產出 out/<name>.mp4,並針對社群媒體進行響度正規化。
  6. 檢查。 擷取 3-4 幀畫面(ffmpeg -i out/<name>.mp4 -vf "fps=1/4,scale=360:-2,tile=4x1" -frames:v 1 out/<name>-check.jpg)並檢視,然後再告知使用者已完成。告知使用者檔案路徑和影片長度。

之後使用者要求的變更(「移除慢速部分」、「不要音樂」):編輯 TSV 或 JSON 檔案,然後執行變更之後的步驟即可。使用新的名稱(<name>-v2)保留先前的版本,以便使用者可以回溯。

reels/.json

{
  "clips": [{ "file": "clips/a1.mp4", "seconds": 6.5 }],
  "transition": "fade",
  "fadeSeconds": 0.5,
  "clipVolume": 0,
  "music": { "file": "music/calm.mp3", "volume": 0.5 },
  "accent": "#7FA88B",
  "intro": [{ "kicker": "Yoga · Murcia", "title": "Clase abierta", "sub": "Sábado 10:00" }],
  "outro": { "text": "Reserva tu plaza", "url": "example.com", "image": "poster.jpg", "seconds": 3.5 }
}
  • 只有 clips 是必填的。路徑相對於 public/;音樂放在 public/music/,圖片放在 public/。
  • transition:"cut"(硬切,預設值)或 "fade"。
  • clipVolume:1 保留原始聲音,0 則靜音。音樂會在結尾自行淡出。
  • intro:文字卡片,每張 2.5 秒,覆蓋在開頭片段上。
  • outro:結尾畫面,包含文字、網址和/或圖片(海報、標誌)。
  • 僅使用使用者提供或確認其擁有使用權的音樂。

規則

  • 影片處理很耗資源。一次只執行一個 ffmpeg 或渲染作業;這些工具已經以低優先級執行。
  • 僅在使用者想要手動預覽和調整時,才使用 npm run studio。
  • 若要變更外觀本身(字型、排版),請編輯 src/Reel.tsx;Remotion 的官方技能(npx skills add remotion-dev/skills)對此有幫助。

相關技能