mcpField
Y
yt-dlp

yt-dlp

github.com/lwmxiaobeiクリエイティブ・メディア61.7k 回インストール40 週間前に更新
リポジトリ

yt-dlp について

yt-dlp は、対応する動画 URL から動画を保存したり音声を抽出したりするエージェント向けスキルです。会話中の URL も検出し、実行する操作を確認します。

主な機能

  1. 01対応プラットフォームから動画をダウンロード
  2. 02複数形式で音声を抽出
  3. 03テキスト内の動画 URL を検出
  4. 04画質と形式を選択

活用シーン

  1. 01共有 URL の動画を保存
  2. 02動画から音声を抽出
  3. 03会話内の動画リンクを検索

インストール

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

$npx skills add https://github.com/lwmxiaobei/yt-dlp-skill --skill yt-dlp

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

README.md
references/
examples.md
scripts/
extract_audio.py
extract_urls.py
test_yt_dlp.py
download_video.py

詳細

yt-dlp 動画ダウンローダースキル

このスキルは、yt-dlp を使用してさまざまなプラットフォームから動画をダウンロードし、音声を抽出するためのツールを提供します。

機能

  • 複数のプラットフォーム(YouTube、Twitter/X、Vimeo、TikTok、Instagram、Facebook など)から動画をダウンロード
  • 動画から音声を抽出
  • 会話内の動画 URL を自動検出
  • 画質設定や形式の選択に対応

使用パターン

1. コマンドベースのダウンロード

ユーザーが動画のダウンロードを明示的に依頼した場合:

User: Download this video https://youtube.com/watch?v=...

アクション:URL を抽出し、ダウンロードスクリプトを呼び出します。

2. 会話内での自動検出

会話に動画 URL が含まれている場合:

User: Check out this video https://twitter.com/... and let me know what you think

アクション:動画 URL を検出し、ダウンロードするかどうかをユーザーに尋ねます。

3. 音声の抽出

ユーザーが音声のみの抽出を希望する場合:

User: Extract the audio from https://youtu.be/...

アクション:音声抽出スクリプトを使用します。

利用可能なスクリプト

注:スクリプトは scripts/ ディレクトリにあります。

download_video.py

画質や形式のオプションを指定できる、動画ダウンロード用のメインスクリプトです。

使用方法:

# Download video
scripts/download_video.py <url> -o <output_dir>

# Download with specific quality
scripts/download_video.py <url> --quality 720p
scripts/download_video.py <url> --quality audio  # For audio only

# Custom format selector
scripts/download_video.py <url> --format "bestvideo[height<=1080]+bestaudio/best"

# Extract info only
scripts/download_video.py <url> --info-only

画質オプション:best、1080p、720p、480p、audio

extract_audio.py

さまざまな形式で動画から音声を抽出します。

使用方法:

# Extract as MP3 (default)
/scripts/extract_audio.py <url> -o <output_dir>

# Extract as M4A
/scripts/extract_audio.py <url> --format m4a

# Custom quality
/scripts/extract_audio.py <url> --quality 320

形式:mp3、m4a、opus、flac、wav

extract_urls.py

テキストまたはファイルから動画 URL を抽出します。

使用方法:

# Extract from text argument
/scripts/extract_urls.py "Check https://youtube.com/watch?v=..."

# Extract from file
/scripts/extract_urls.py <file_path>

# Read from stdin
cat file.txt | /scripts/extract_urls.py

対応する動画プラットフォーム

このスキルは、以下の URL を認識します。

  • YouTube(youtube.com、youtu.be)
  • Twitter/X(twitter.com、x.com)
  • Vimeo(vimeo.com)
  • TikTok(tiktok.com)
  • Instagram(instagram.com)
  • Facebook(facebook.com、fb.watch)
  • Twitch(twitch.tv、clips.twitch.tv)
  • Dailymotion(dailymotion.com)
  • Reddit(reddit.com)
  • Streamable(streamable.com)
  • その他、yt-dlp が対応する多くのプラットフォーム

ワークフロー

ユーザーが動画 URL を提示した場合
  1. extract_urls.py を使用してユーザーの入力から URL を抽出します。
  2. どの操作を行うかユーザーに確認します。
    • 動画をダウンロード
    • 音声を抽出
    • 動画情報を表示
  3. ユーザーの選択に応じて適切なスクリプトを実行します。
  4. 成功または失敗とファイルの保存先をユーザーに知らせます。
URL を自動検出する場合
  1. extract_urls.py で会話のテキストをスキャンします(標準入力を処理できます)。
  2. 動画 URL が見つかった場合、ユーザーに「この会話で動画 URL が見つかりました。ダウンロードしますか?」と尋ねます。
  3. はいの場合は、ダウンロードのワークフローに進みます。
  4. いいえの場合は、会話を続けます。
複数の URL の処理
  • URL が 1 つの場合:直接ダウンロードします。
  • URL が複数の場合:すべてダウンロードするか、特定の URL を選ぶかユーザーに尋ねます。
  • URL が同じ配信元のものであれば、プレイリストとしてダウンロードする選択肢を提示します。

画質と形式の選択

ユーザーが希望を指定していない場合:

  • 利用可能な最高画質をデフォルトにします。
  • 音声の場合:192kbps の MP3 をデフォルトにします。

オプションの指定が必要な場合:

# Ask user for quality preference if not specified
# Options: best (default), 1080p, 720p, 480p, audio

# Ask for format if extracting audio
# Options: mp3 (default), m4a, opus, flac, wav

エラー処理

よくある問題と解決策:

  1. yt-dlp がインストールされていない:

    • yt-dlp --version で確認します。
    • pip install yt-dlp または brew install yt-dlp でインストールします。
  2. ffmpeg がインストールされていない(形式変換に必要):

    • brew install ffmpeg(macOS)でインストールします。
    • または apt install ffmpeg(Linux)でインストールします。
  3. 動画を利用できない:

    • URL にアクセスできるか確認します。
    • 一部の動画では認証が必要な場合があります。
    • 年齢制限のあるコンテンツには Cookie が必要な場合があります。
  4. ネットワークエラー:

    • ダウンロードを再試行します。
    • インターネット接続を確認します。

依存関係

  • yt-dlp:動画ダウンロードのメインツール
  • ffmpeg:音声・動画の処理(形式変換に必要)
  • 標準ライブラリを備えた python3

すべてのスクリプトは単独で動作し、Python の組み込みモジュールのみを使用します。

コメント