youtube-clipper

youtube-clipper

熱門

YouTube 影片智慧剪輯工具。下載影片與字幕,由 AI 分析並生成精細章節(數分鐘等級),使用者選擇片段後即可自動剪輯、翻譯字幕為中英雙語、將字幕燒錄至影片,並生成總結文案。使用場景:當使用者需要剪輯 YouTube 影片、生成短影片片段、製作雙語字幕版本時。關鍵字:影片剪輯、YouTube、字幕翻譯、雙語字幕、影片下載、clip video

2073星標
307分支
更新於 2026/1/22
SKILL.md
唯讀
名稱
youtube-clipper
描述

YouTube 影片智慧剪輯工具。下載影片與字幕,由 AI 分析並生成精細章節(數分鐘等級),使用者選擇片段後即可自動剪輯、翻譯字幕為中英雙語、將字幕燒錄至影片,並生成總結文案。使用場景:當使用者需要剪輯 YouTube 影片、生成短影片片段、製作雙語字幕版本時。關鍵字:影片剪輯、YouTube、字幕翻譯、雙語字幕、影片下載、clip video

YouTube 影片智慧剪輯工具

安裝說明:若您是從 GitHub 安裝此 Skill,請參閱 README.md 了解詳細安裝步驟。推薦的安裝方式為 npx skills add https://github.com/op7418/Youtube-clipper-skill

工作流程

你將依照以下 6 個階段執行 YouTube 影片剪輯任務:

階段 1:環境檢測

目標:確保所有必需的工具與相依套件皆已安裝

  1. 檢測 yt-dlp 是否可用

    yt-dlp --version
    
  2. 檢測 FFmpeg 版本與 libass 支援

    # 優先檢查 ffmpeg-full(macOS)
    /opt/homebrew/opt/ffmpeg-full/bin/ffmpeg -version
    
    # 檢查標準 FFmpeg
    ffmpeg -version
    
    # 驗證 libass 支援(字幕燒錄必需)
    ffmpeg -filters 2>&1 | grep subtitles
    
  3. 檢測 Python 相依套件

    python3 -c "import yt_dlp; print('✅ yt-dlp available')"
    python3 -c "import pysrt; print('✅ pysrt available')"
    

若環境檢測失敗

  • yt-dlp 未安裝:提示 brew install yt-dlppip install yt-dlp
  • FFmpeg 缺乏 libass 支援:提示安裝 ffmpeg-full
    brew install ffmpeg-full  # macOS
    
  • 缺少 Python 相依套件:提示 pip install pysrt python-dotenv

注意事項

  • 標準 Homebrew FFmpeg 未包含 libass,無法燒錄字幕
  • ffmpeg-full 路徑:/opt/homebrew/opt/ffmpeg-full/bin/ffmpeg (Apple Silicon)
  • 必須先通過環境檢測才能繼續執行

階段 2:下載影片

目標:下載 YouTube 影片與英文字幕

  1. 詢問使用者 YouTube URL

  2. 呼叫 download_video.py 腳本

    cd ~/.claude/skills/youtube-clipper
    python3 scripts/download_video.py <youtube_url>
    
  3. 腳本會執行:

    • 下載影片(最高 1080p,MP4 格式)
    • 下載英文字幕(VTT 格式,自動字幕作為備選)
    • 輸出檔案路徑與影片資訊
  4. 向使用者展示:

    • 影片標題
    • 影片長度
    • 檔案大小
    • 下載路徑

輸出檔

  • 影片檔案:<id>.mp4(使用影片 ID 命名,避免特殊字元問題)
  • 字幕檔案:<id>.en.vtt

階段 3:分析章節(核心差異化功能)

目標:使用 Claude AI 分析字幕內容,生成精細章節(2-5 分鐘等級)

  1. 呼叫 analyze_subtitles.py 解析 VTT 字幕

    python3 scripts/analyze_subtitles.py <subtitle_path>
    
  2. 腳本會輸出結構化的字幕資料:

    • 完整字幕內文(含時間戳記)
    • 總長度
    • 字幕筆數
  3. 你必須執行 AI 分析(此為最關鍵的步驟):

    • 閱讀完整字幕內容
    • 理解內容語意與主題轉折點
    • 識別自然的話題切換位置
    • 生成 2-5 分鐘粒度的章節(避免半小時粗粒度切分)
  4. 為每個章節生成:

    • 標題:精練的主題概括(10-20 字)
    • 時間範圍:起始與結束時間(格式:MM:SS 或 HH:MM:SS)
    • 核心摘要:1-2 句話說明此段落重點(50-100 字)
    • 關鍵字:3-5 個核心概念詞
  5. 章節生成原則

    • 粒度:每個章節 2-5 分鐘(避免過短或過長)
    • 完整性:確保涵蓋所有影片內容,無遺漏
    • 有意義:每個章節皆為相對獨立的主題
    • 自然切分:於主題轉折點切分,請勿機械化地按時間切割
  6. 向使用者展示章節清單:

    📊 分析完成,共生成 X 個章節:
    
    1. [00:00 - 03:15] AGI 不是時間點,是指數曲線
       核心: AI 模型能力每 4-12 個月翻倍,工程師已用 Claude 寫程式碼
       關鍵字: AGI、指數成長、Claude Code
    
    2. [03:15 - 06:30] 中國在 AI 上的差距
       核心: 晶片禁運卡住中國,DeepSeek benchmark 優化不代表實力
       關鍵字: 中國、晶片禁運、DeepSeek
    
    ... (所有章節)
    
    ✓ 所有內容皆已涵蓋,無遺漏
    

階段 4:使用者選擇

目標:讓使用者選擇欲剪輯的章節與處理選項

  1. 使用 AskUserQuestion 工具讓使用者選擇章節

    • 提供章節編號供使用者選擇
    • 支援複選(可選擇多個章節)
  2. 詢問處理選項:

    • 是否生成雙語字幕?(英文 + 中文)
    • 是否將字幕燒錄至影片?(硬字幕)
    • 是否生成總結文案?
  3. 確認使用者選擇並展示處理計畫


階段 5:剪輯處理(核心執行階段)

目標:平行執行多個處理任務

針對使用者選擇的每個章節,執行以下步驟:

5.1 剪輯影片片段
python3 scripts/clip_video.py <video_path> <start_time> <end_time> <output_path>
  • 使用 FFmpeg 精準剪輯
  • 保持原始影片畫質
  • 輸出:<章節標題>_clip.mp4
5.2 擷取字幕片段
  • 從完整字幕中篩選出該時間段的字幕
  • 調整時間戳記(扣除起始時間,從 00:00:00 開始)
  • 轉換為 SRT 格式
  • 輸出:<章節標題>_original.srt
5.3 翻譯字幕(若使用者選擇)
python3 scripts/translate_subtitles.py <subtitle_path>
  • 批次翻譯最佳化:每批 20 筆字幕一同翻譯(節省 95% API 呼叫)
  • 翻譯策略:
    • 保持技術術語的準確性
    • 口語化表達(適合短影片)
    • 簡潔流暢(避免冗長)
  • 輸出:<章節標題>_translated.srt
5.4 生成雙語字幕檔案(若使用者選擇)
  • 合併英文與中文字幕
  • 格式:SRT 雙語(每筆字幕包含英文與中文)
  • 樣式:英文在上,中文在下
  • 輸出:<章節標題>_bilingual.srt
5.5 將字幕燒錄至影片(若使用者選擇)
python3 scripts/burn_subtitles.py <video_path> <subtitle_path> <output_path>
  • 使用 ffmpeg-full(支援 libass)
  • 使用暫存目錄解決路徑包含空格的問題(關鍵!)
  • 字幕樣式:
    • 字型大小:24
    • 底部邊距:30
    • 顏色:白色文字 + 黑色描邊
  • 輸出:<章節標題>_with_subtitles.mp4
5.6 生成總結文案(若使用者選擇)
python3 scripts/generate_summary.py <chapter_info>
  • 基於章節標題、摘要與關鍵字
  • 生成適合社群媒體的文案
  • 包含:標題、核心觀點、適合平台(小紅書、TikTok 等)
  • 輸出:<章節標題>_summary.md

進度展示

🎬 開始處理章節 1/3:AGI 不是時間點,是指數曲線

1/6 剪輯影片片段... ✅
2/6 擷取字幕片段... ✅
3/6 翻譯字幕為中文... [=====>    ] 50% (26/52)
4/6 生成雙語字幕檔案... ✅
5/6 將字幕燒錄至影片... ✅
6/6 生成總結文案... ✅

✨ 章節 1 處理完成

階段 6:輸出結果

目標:整理輸出檔案並展示給使用者

  1. 建立輸出目錄

    ./youtube-clips/<日期時間>/
    

    輸出目錄位於目前的工作目錄下

  2. 整理檔案結構:

    <章節標題>/
    ├── <章節標題>_clip.mp4              # 原始剪輯(無字幕)
    ├── <章節標題>_with_subtitles.mp4   # 燒錄字幕版本
    ├── <章節標題>_bilingual.srt        # 雙語字幕檔案
    └── <章節標題>_summary.md           # 總結文案
    
  3. 向使用者展示:

    • 輸出目錄路徑
    • 檔案清單(含檔案大小)
    • 快速預覽指令
    ✨ 處理完成!
    
    📁 輸出目錄: ./youtube-clips/20260121_143022/
    
    檔案清單:
      🎬 AGI_指數曲線_雙語硬字幕.mp4 (14 MB)
      📄 AGI_指數曲線_雙語字幕.srt (2.3 KB)
      📝 AGI_指數曲線_總結.md (3.2 KB)
    
    快速預覽:
    open ./youtube-clips/20260121_143022/AGI_指數曲線_雙語硬字幕.mp4
    
  4. 詢問是否繼續剪輯其他章節

    • 若是,返回階段 4(使用者選擇)
    • 若否,結束 Skill

關鍵技術要點

1. FFmpeg 路徑空格問題

問題:FFmpeg subtitles 濾鏡無法正確解析包含空格的路徑

解決方案:burn_subtitles.py 使用暫存目錄

  • 建立無空格的暫存目錄
  • 複製檔案至暫存目錄
  • 執行 FFmpeg
  • 將輸出檔案搬移回目標位置

2. 批次翻譯最佳化

問題:逐筆翻譯會產生大量 API 呼叫

解決方案:每批 20 筆字幕一同翻譯

  • 節省 95% 的 API 呼叫
  • 提升翻譯速度
  • 保持翻譯一致性

3. 章節分析精細度

目標:生成 2-5 分鐘粒度的章節,避免半小時的粗粒度劃分

方法

  • 理解字幕語意,識別主題轉折
  • 尋找自然的話題切換點
  • 確保每個章節皆有完整的論述
  • 避免機械化地按時間切割

4. FFmpeg vs ffmpeg-full

差異

  • 標準 FFmpeg:缺乏 libass 支援,無法燒錄字幕
  • ffmpeg-full:包含 libass,支援字幕燒錄

路徑

  • 標準:/opt/homebrew/bin/ffmpeg
  • ffmpeg-full:/opt/homebrew/opt/ffmpeg-full/bin/ffmpeg (Apple Silicon)

錯誤處理

環境問題

  • 缺少工具 → 提示安裝指令
  • FFmpeg 無 libass 支援 → 引導安裝 ffmpeg-full
  • 缺少 Python 相依套件 → 提示 pip install

下載問題

  • 無效的 URL → 提示檢查 URL 格式
  • 字幕缺失 → 嘗試使用自動字幕
  • 網路錯誤 → 提示重試

處理問題

  • FFmpeg 執行失敗 → 顯示詳細錯誤資訊
  • 翻譯失敗 → 重試機制(最多 3 次)
  • 磁碟空間不足 → 提示清理空間

輸出檔案命名規範

  • 影片片段:<章節標題>_clip.mp4
  • 字幕檔案:<章節標題>_bilingual.srt
  • 燒錄版本:<章節標題>_with_subtitles.mp4
  • 總結文案:<章節標題>_summary.md

檔名處理原則

  • 移除特殊字元(/, \, :, *, ?, ", <, >, |
  • 將空格替換為底線
  • 限制長度(最多 100 個字元)

使用者體驗要點

  1. 進度透明:每個步驟皆展示進度與狀態
  2. 錯誤提示友善:提供清晰的錯誤資訊與解決方案
  3. 主導權高:由使用者自訂欲剪輯的章節與處理選項
  4. 高品質交付:章節分析具實質意義,翻譯精準流暢
  5. 完整性兼備:提供原始與處理後的多元版本

開始執行

當使用者觸發此 Skill 時:

  1. 立即啟動階段 1(環境檢測)
  2. 依序執行 6 個階段
  3. 每個階段完成後自動進入下一階段
  4. 遇到問題時提供清晰的解決方案
  5. 最後展示完整的輸出結果

記住:此 Skill 的核心價值在於 AI 精細章節分析無縫的技術流程,讓使用者能快速從長影片中擷取高品質的短影片片段。