mcpField
Y
youtube-transcribe-skill

youtube-transcribe-skill

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

youtube-transcribe-skill について

youtube-transcribe-skillは、YouTube動画からタイムスタンプ付き字幕を抽出するエージェントスキルです。付属のPythonラッパーでyt-dlpを使い、優先言語の字幕をプレーンテキストで保存します。承認後のCookie再試行とブラウザーでの代替手順も示します。

主な機能

  1. 01yt-dlpによる字幕抽出
  2. 02優先する字幕言語の選択
  3. 03タイムスタンプ付きテキスト出力
  4. 04一般的なYouTube URLへの対応
  5. 05Cookie再試行とブラウザー代替手順

活用シーン

  1. 01動画の字幕をテキストファイルに保存
  2. 02指定言語の字幕を抽出
  3. 03承認を得てログイン必須動画を処理
  4. 04コマンドライン抽出失敗時に表示中の字幕を取得

インストール

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

$npx skills add https://github.com/feiskyer/codex-settings --skill youtube-transcribe-skill

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

同梱ファイル

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

agents/
openai.yaml
scripts/
transcribe_youtube.py
tests/
test_transcribe_youtube.py

詳細

YouTube トランスクリプトの抽出

主なワークフローでは、同梱の scripts/transcribe_youtube.py ラッパーを使用します。yt-dlp で字幕をダウンロードし、優先する言語を選択して、WebVTT のキューをタイムスタンプ付きのプレーンテキストに変換し、出力パスと行数を報告します。

要件

  1. yt-dlp をインストールし、yt-dlp --version が正常に実行されることを確認します。
  2. この SKILL.md がある絶対ディレクトリを特定し、<skill-dir> とします。
  3. ユーザーが別の場所を指定しない限り、出力はユーザーの現在の作業ディレクトリに保存します。

Python ラッパー自体は標準ライブラリのみを使用します。yt-dlp がインストールされていなくても、--help を表示できます。

主なワークフロー

まず、ブラウザーの Cookie を使わずに実行します。

python3 "<skill-dir>/scripts/transcribe_youtube.py" \
  "<youtube-url>" \
  --output-dir "$PWD"

デフォルトの言語優先順位は、簡体字中国語、繁体字中国語、その他の中国語の変種、英語の順です。ユーザーが別の言語を指定した場合は、次のように変更します。

python3 "<skill-dir>/scripts/transcribe_youtube.py" \
  "<youtube-url>" \
  --languages "ja.*,en.*" \
  --output-dir "$PWD"

このラッパーは、通常の視聴 URL に加えて、youtu.be、Shorts、ライブ配信、埋め込み URL にも対応しています。正常に実行されると、空でない行が次の形式の .txt ファイルが 1 つ出力されます。

00:03 Subtitle text
00:08 Next subtitle text

Cookie を使った再試行

デフォルトでは、ブラウザーの Cookie を読み込みません。最初のコマンドが、動画の視聴にサインイン、年齢確認、メンバーシップ、その他の認証済みセッションが必要であることを理由に失敗した場合は、次の手順に従います。

  1. 再試行では、yt-dlp がローカルのブラウザープロファイルから YouTube の Cookie を読み込むことを説明します。
  2. 使用を承認するブラウザープロファイルをユーザーに確認します。
  3. 承認を得てから、次のように再試行します。
python3 "<skill-dir>/scripts/transcribe_youtube.py" \
  "<youtube-url>" \
  --cookies-from-browser chrome \
  --output-dir "$PWD"

ブラウザーの Cookie をトランスクリプトやログに表示、コピー、保存してはいけません。

ブラウザーでの代替手段

yt-dlp が利用できない場合、または字幕を取得できず、適切なブラウザー制御機能が利用できる場合に限り、ブラウザー自動化を使用します。

  1. 現在のセッションで利用可能なツールを確認します。MCP サーバー名やツール名が決まっていると想定してはいけません。
  2. 動画を開き、トランスクリプトパネルを表示して、表示されているタイムスタンプとテキストの組み合わせを抽出します。
  3. 結果を、指定されたディレクトリに <sanitized-video-title>.txt として保存します。
  4. この作業だけのために開いたページやセッションを閉じます。

CLI による抽出もブラウザー自動化も利用できない場合は、成功したと報告せず、不足している機能を伝えます。

完了報告

次の内容を返します。

  1. トランスクリプトの絶対パス
  2. 選択した字幕の言語
  3. トランスクリプトの行数
  4. ブラウザーの Cookie またはブラウザー自動化を使用したかどうか

コメント