Communitygithub.com

dharani2201-mini/auto-video-edit

全自動談話頭影片編輯器。將原始攝影機錄影轉換為完成影片 - 剪除靜音、臉部拉近放大、調色、語音優化、在適當時機插入動畫統計/步驟/比較/引述卡片,可選用 B-roll 素材。只需一個指令即可完成。支援直式 Reels/Shorts 與橫式 YouTube 影片。

auto-video-edit 是什麼?

此技能「auto-video-edit」專為開發者與 AI 代理設計,提供一條指令自動將原始談話頭影片素材(如個人錄影、教學影片)產出為可發布的成品。其核心價值在於端到端自動化:從辨識語音、剪除超過 0.5 秒的靜音、自動偵測臉部並進行三種等級的拉近(正常/1.3 倍拉近/1.5 倍特寫),到色彩校正與語音響度標準化(-14 LUFS),完全無需手動操作。進階功能包括智慧動畫卡片生成,它會分析語音轉寫稿,自動辨識數字(產生成長計數器)、對比關係(產生成前/成後比較卡)、流程步驟(產生成流程圖)以及強烈主張(產生成文字卡片),並可於生成前透過編輯 JSON 計畫檔微調。整個管線使用 Python 虛擬環境與 Remotion 渲染引擎,並依賴 ffmpeg、ffprobe、node 與 Whisper(可選)。支援 macOS 與 Linux,輸出格式直接為 MP4,適合 YouTube 短影音與長片使用。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/dharani2201-mini/creator-skills/tree/HEAD/skills/auto-video-edit

在你喜歡的 AI 中提問

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

說明文件

/auto-video-edit:從原始素材到完成影片

一次性執行整個流程,無需中斷詢問。修復錯誤並重新執行,直到產出好的 final-video.mp4。

SKILL_DIR 指的是此檔案所在資料夾(通常是 ~/.claude/skills/auto-video-edit)。

1. 檢查設定(只需一次)

ls SKILL_DIR/.venv/bin/python SKILL_DIR/remotion/node_modules/.bin/remotion

如果缺少任一項,請執行專案的 install.sh,或手動安裝:

python3 -m venv SKILL_DIR/.venv && SKILL_DIR/.venv/bin/pip install -r SKILL_DIR/requirements.txt
cd SKILL_DIR/remotion && npm install && npx remotion browser ensure

此外需要在 PATH 中包含 ffmpeg、ffprobe 與 node(macOS 可使用 brew install ffmpeg node 安裝)。

2. 執行管線

在存放素材的資料夾中(預設會選取最大的影片檔,除非您指定檔名):

bash SKILL_DIR/scripts/run_all.sh                 # 或:run_all.sh my-take.mov

管線包含三個步驟,每個步驟也可獨立執行:SKILL_DIR/.venv/bin/python SKILL_DIR/scripts/<步驟>.py

步驟功能輸出檔案
edit.py辨識語音、剪除大於 0.5 秒的靜音(保留 0.15 秒氣口)、將影片分割成約 4.5 秒的鏡頭、根據語音內容選擇正常/拉近(1.3 倍)/特寫(1.5 倍)鏡頭、將拉近中心對準偵測到的臉部、進行調色、將語音音量標準化至 -14 LUFS、在每個剪輯點加上 10 毫秒淡入淡出edited-video.mp4、work/transcript.json、work/edit_report.json
animate.py尋找需要視覺輔助的時機:帶單位的數字 → 計數器、「A vs B」/「instead of」/ 前後對比 → 比較卡、3 個以上的「首先 / 接著 / 最後」句子 → 流程圖、強烈主張(「真相是」、「大部分的人」……) → 文字卡片;平均每 15 秒一張卡片,從不在前 2.5 秒插入;每個卡片以影片的解析度與幀率渲染work/animation_plan.json、animations/*.mp4、work/animation_manifest.json
finalize.py在每個卡片的時間點以柔和淡入淡出插入;若存在 broll/ 資料夾,則將檔名與語音單詞相符的素材片段(如 broll/coffee.mp4 → 語音中的「coffee」)插入 3 秒final-video.mp4、work/finalize_report.json

實用參數:

  • edit.py --no-zoom、--whisper small(更準確的逐字稿,但較慢)、--silence-db -35(安靜環境)/ -25(吵雜環境)、--min-silence 0.35(更緊湊的剪輯)
  • animate.py --max 3、--min-gap 8

3. 讓卡片更智慧(每次都要做)

自動產生的計畫是基於規則。在最終渲染前,利用逐字稿來改善它:

  1. 執行 SKILL_DIR/.venv/bin/python SKILL_DIR/scripts/animate.py --plan-only
  2. 讀取 work/transcript.json 與 work/animation_plan.json。編輯計畫:
    • 將每個 headline / label / steps / value 改寫成 2-6 個精簡詞彙,表達講者的意思(不要只是句子的片段)。修正逐字稿誤認的數字。
    • 刪除對理解沒有幫助的卡片;在關鍵數字、列表或對比尚未有卡片的時機新增卡片。卡片類型與屬性:
      • Counter:{"to": 75, "decimals": 0, "prefix": "$", "suffix": "%", "label": "..."}
      • Comparison:{"left": {"label": "Before", "value": "4 hours"}, "right": {"label": "After", "value": "10 min"}}
      • Flowchart:{"steps": ["Record", "Upload", "Post"]}(2-5 個步驟)
      • TextCard:{"headline": "Nobody talks about this", "body": ""}
    • 每個卡片需要 "start"(在 edited-video.mp4 中的秒數)與 "seconds"(3-5 秒)。
  3. 執行 SKILL_DIR/.venv/bin/python SKILL_DIR/scripts/animate.py --from-plan
  4. 執行 SKILL_DIR/.venv/bin/python SKILL_DIR/scripts/finalize.py

4. 檢查結果

  • 讀取 work/edit_report.json 與 work/finalize_report.json:確認時長合理縮短,且無警告。
  • 擷取畫面來檢查:ffmpeg -ss 5 -i final-video.mp4 -frames:v 1 -y work/check.jpg(以及每個卡片的開始時間 + 1 秒處)。檢查畫面:拉近鏡頭中臉部是否在畫面內、卡片是否可讀、無被裁切。
  • 如果拉近導致臉部嚴重裁切,請重新執行 edit.py --no-zoom。如果感覺剪輯不流暢,請使用 --min-silence 0.8。

如果某步驟失敗

每個步驟會將完整的 ffmpeg / Remotion 輸出寫入 work/*.log。讀取最後幾行,修正原因,然後只重新執行該步驟。常見問題:

  • whisper unavailable → 缺少虛擬環境;請安裝它(步驟 1)。編輯步驟仍會執行,但不會有拉近選擇。
  • Remotion Could not find a browser → cd SKILL_DIR/remotion && npx remotion browser ensure。
  • 卡片渲染失敗 → 會以純文字卡片重試,然後跳過;影片仍會完成。

報告

--- 影片編輯完成 ---
輸入 / 輸出 / 時長 前→後 / 剪輯次數 / 拉近混合 / 卡片數 / B-roll / 檔案大小

然後列出任何無法修正的問題。

相關技能