yt-dlp について
yt-dlp は、対応する動画 URL から動画を保存したり音声を抽出したりするエージェント向けスキルです。会話中の URL も検出し、実行する操作を確認します。
主な機能
- 01対応プラットフォームから動画をダウンロード
- 02複数形式で音声を抽出
- 03テキスト内の動画 URL を検出
- 04画質と形式を選択
活用シーン
- 01共有 URL の動画を保存
- 02動画から音声を抽出
- 03会話内の動画リンクを検索
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ lwmxiaobei/ yt-dlp-skill --skill yt-dlpインストール後、Claude Code で/yt-dlpを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
README.mdreferences/examples.mdscripts/extract_audio.pyextract_urls.pytest_yt_dlp.pydownload_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 を提示した場合
extract_urls.pyを使用してユーザーの入力から URL を抽出します。- どの操作を行うかユーザーに確認します。
- 動画をダウンロード
- 音声を抽出
- 動画情報を表示
- ユーザーの選択に応じて適切なスクリプトを実行します。
- 成功または失敗とファイルの保存先をユーザーに知らせます。
URL を自動検出する場合
extract_urls.pyで会話のテキストをスキャンします(標準入力を処理できます)。- 動画 URL が見つかった場合、ユーザーに「この会話で動画 URL が見つかりました。ダウンロードしますか?」と尋ねます。
- はいの場合は、ダウンロードのワークフローに進みます。
- いいえの場合は、会話を続けます。
複数の 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
エラー処理
よくある問題と解決策:
-
yt-dlp がインストールされていない:
yt-dlp --versionで確認します。pip install yt-dlpまたはbrew install yt-dlpでインストールします。
-
ffmpeg がインストールされていない(形式変換に必要):
brew install ffmpeg(macOS)でインストールします。- または
apt install ffmpeg(Linux)でインストールします。
-
動画を利用できない:
- URL にアクセスできるか確認します。
- 一部の動画では認証が必要な場合があります。
- 年齢制限のあるコンテンツには Cookie が必要な場合があります。
-
ネットワークエラー:
- ダウンロードを再試行します。
- インターネット接続を確認します。
依存関係
yt-dlp:動画ダウンロードのメインツールffmpeg:音声・動画の処理(形式変換に必要)- 標準ライブラリを備えた
python3
すべてのスクリプトは単独で動作し、Python の組み込みモジュールのみを使用します。