mcpField
V
video-download

video-download

github.com/arcocodesクリエイティブ・メディア6837 回インストール今日更新
リポジトリ

video-download について

YouTube、TikTok、Douyin などの動画をローカルの MP4 ファイルとして保存するコマンドラインスキルです。形式選択や重複確認に加え、プラットフォーム別の再試行やブラウザ経由の代替手段を処理します。

主な機能

  1. 01動画を MP4 でダウンロード
  2. 02プラットフォーム接頭辞付き ID
  3. 03既存ファイルのスキップ
  4. 04TikTok Cookie による再試行
  5. 05Douyin・TikTok のブラウザ代替

活用シーン

  1. 01動画を 1 本ローカルに保存
  2. 02複数の動画 URL を一括取得
  3. 03TikTok・Douyin の失敗した取得を再試行

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/arcocodes/renoise-plugins-official --skill video-download

インストール後、Claude Code で/video-downloadを入力して読み込まれたか確認します。

同梱ファイルscripts/download-fallback.shscripts/download-video.sh

詳細

動画のダウンロード

YouTube、TikTok、その他のプラットフォームから動画をローカルの MP4 ファイルにダウンロードします。 フォーマットの選択、プラットフォーム接頭辞付きの重複排除、TikTok の Cookie を使ったフォールバック、Douyin/TikTok 向けのブラウザベースのフォールバックを自動で処理します。

クイックスタート

# Download any video
bash ${CLAUDE_SKILL_DIR}/scripts/download-video.sh '<URL>'

# Download to a custom directory
bash ${CLAUDE_SKILL_DIR}/scripts/download-video.sh '<URL>' 'path/to/output'

前提条件

yt-dlp --version   # Required. Install: brew install yt-dlp (macOS) or pip install yt-dlp

任意(Douyin/TikTok のフォールバック用):

  • agent-browser をグローバルにインストール済みであること(npm install -g agent-browser)
  • Chrome for Testing をインストール済みであること(agent-browser install)

使い方

動画を1本ダウンロードする
bash ${CLAUDE_SKILL_DIR}/scripts/download-video.sh '<URL>'

スクリプトがすべて自動で処理します:

  • プラットフォーム接頭辞付きの動画 ID を抽出します(yt-dQw4w9WgXcQ、tk-7571284267028729101、vid-aHR0cHM6Ly93d3)
  • resources/references/<video_id>.mp4 に保存します
  • ファイルがすでに存在する場合は、ダウンロードをスキップします(重複排除)
  • TikTok のダウンロードに失敗した場合は、--cookies-from-browser chrome を指定して再試行します
  • 中断されたダウンロードによるサイズ0の残存ファイルを削除します
一括ダウンロード
for URL in '<URL1>' '<URL2>' '<URL3>'; do
  bash ${CLAUDE_SKILL_DIR}/scripts/download-video.sh "$URL"
done
スクリプトの出力
出力意味
ALREADY_EXISTS: <path>ファイルはすでにダウンロード済みのため、スキップされました
DOWNLOADED: <path>ダウンロードに成功しました
FAILED: <message>ダウンロードに失敗しました(終了コード1)

ダウンロード後の操作

ダウンロードが成功した後、ユーザーは次の操作を行うことがあります:

  1. 動画を分析する — 台本、スタイル、リズムを抽出します:

    renoise analyze <path> --target video --language <user-language> --json
    
  2. 素材プールに追加する — 動画生成で参照素材として使用します:

    node ${CLAUDE_PLUGIN_ROOT}/skills/renoise-cli/scripts/material-ingest.mjs <path>
    

ダウンロード完了後、これらの選択肢をユーザーに提案してください。

Douyin/TikTok のフォールバック

Douyin または TikTok の URL で yt-dlp が失敗した場合(403 エラーや地域制限のあるコンテンツでよく発生します)、次のワンステップのブラウザベースのフォールバックを使用します:

bash ${CLAUDE_SKILL_DIR}/scripts/download-fallback.sh '<douyin-or-tiktok-url>' 'output-dir'

このスクリプトは、agent-browser と GreenVideo を使った一連の処理を1つのコマンドにまとめています(開く → URL を貼り付ける → 解析する → 動画 URL を抽出する → ダウンロードする → 閉じる)。

手動でのフォールバック手順

フォールバックスクリプトを利用できない場合は、次の手順に従ってください:

  1. GreenVideo を開きます:

    agent-browser open "https://greenvideo.cc/en/"
    
  2. URL を貼り付けて解析します:

    agent-browser snapshot
    agent-browser fill <input-ref> "<video-url>"
    agent-browser click <start-button-ref>
    
  3. 5秒待ってから、動画 URL を抽出します:

    agent-browser eval "
    (function() {
      const nuxtData = window.__NUXT__;
      if (!nuxtData) return 'ERROR: No Nuxt data found';
      const str = JSON.stringify(nuxtData);
      const mp4Match = str.match(/https?:[^\\\"]*(?:mp4|video|play|aweme|douyinvod|bilivideo)[^\\\"]{0,500}/g);
      if (mp4Match && mp4Match.length > 0) return mp4Match[0];
      return 'ERROR: No video URL found in Nuxt state';
    })()
    "
    
  4. ダウンロードして後処理します:

    curl -L -o ~/Downloads/<filename>.mp4 "<extracted-video-url>"
    agent-browser close
    

動画 ID のロジック

プラットフォームパターンID の例
YouTubewatch?v=、shorts/、embed/、youtu.be/ → 11文字の IDyt-dQw4w9WgXcQ
TikTokURL 内の15桁以上の数字の IDtk-7571284267028729101
その他URL の Base64url エンコードの先頭16文字vid-aHR0cHM6Ly93d3

トラブルシューティング

エラー解決方法
HTTP Error 403(TikTok/Douyin)スクリプトは Cookie を使って自動で再試行します。それでも失敗する場合は、フォールバックスクリプトを使用してください
--max-filesize によりスキップされた動画が200Mの上限を超えています。-f 'best[height<=720]' を使って手動でダウンロードしてください
is not a valid URLURL が一重引用符で囲まれていることを確認してください
Requested formats are incompatibleyt-dlp が自動でトランスコードするため、対応は不要です
GreenVideo での解析に失敗するURL が有効で、一般にアクセス可能であることを確認してください
Nuxt の状態に動画 URL がないダウンロードボタンをクリックし、<video> 要素があるか確認してください
GreenVideo からのダウンロードに失敗する(403)動画 URL はすぐに期限切れになります。抽出後、すぐにダウンロードしてください

コメント