youtube-transcript について
youtube-transcriptは、YouTubeの字幕、メタデータ、チャプターを抽出し、Obsidian vaultにMarkdownで保存するスキルです。タイムスタンプ付きの字幕を整理して参照したい場合に使えます。
主な機能
- 01字幕と動画メタデータの抽出
- 02チャプター別の字幕整理
- 03YAML frontmatter付きMarkdownの生成
- 04VTT字幕の重複エントリー削除
活用シーン
- 01YouTube動画の字幕アーカイブ
- 02チャプター別のタイムスタンプ付き内容の確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ glebis/ claude-skills --skill youtube-transcriptインストール後、Claude Code で/youtube-transcriptを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
.claude-plugin/plugin.jsonscripts/deduplicate_transcript.pyextract_transcript.py詳細
YouTube の文字起こし
概要
yt-dlp を使用して、YouTube 動画の文字起こし、メタデータ、チャプターを抽出します。YAML フロントマター付きの Markdown として出力し、~/Brains/brain/(Obsidian ボルト)に保存します。
クイックスタート
YouTube 動画から文字起こしを抽出するには:
python scripts/extract_transcript.py <youtube_url>
任意:カスタムの出力ファイル名を指定します:
python scripts/extract_transcript.py <youtube_url> custom_filename.md
出力形式
YAML フロントマター
生成される Markdown には、次の包括的なメタデータが含まれます:
title- 動画のタイトルchannel- チャンネル名url- YouTube の URLupload_date- アップロード日(YYYY-MM-DD)duration- 動画の長さ(HH:MM:SS)description- 動画の説明(500 文字に切り詰め)tags- 動画タグの配列view_count- 視聴回数like_count- 高評価数
本文の構成
(利用可能な場合)動画のチャプターごとに文字起こしを整理します:
## Chapter Title
**00:05:23** Transcript text for this segment.
**00:05:45** Next segment text.
チャプターがない場合、すべてのコンテンツは「## Transcript」見出しの下に表示されます。
一貫性を保つため、タイムスタンプは HH:MM:SS 形式です。
ワークフロー
- yt-dlp を使用してメタデータと字幕を抽出します
- VTT 字幕形式を解析して、タイムスタンプとテキストを抽出します
- (存在する場合)動画のチャプターごとに文字起こしのセグメントをグループ化します
- YAML フロントマター付きの Markdown として整形します
- 動画タイトルに基づいて無害化したファイル名を付け、~/Brains/brain/ に保存します
- 一時字幕ファイルを削除します
重複排除
既存の文字起こしファイルから重複を削除するには:
python scripts/deduplicate_transcript.py <markdown_file>
これにより、後続の項目の接頭辞になっている文字起こし項目が削除されます(字幕が蓄積される VTT ファイルでよく見られます)。
要件
yt-dlp がインストールされていることを確認してください:
pip install yt-dlp
制限事項
- まず英語の字幕を抽出し、英語が利用できない場合はロシア語にフォールバックします
- 動画に字幕(自動生成または手動)がある必要があります
- 動画や音声のファイルはダウンロードしません
- フロントマター内の説明は 500 文字に切り詰められます
コメント
Markdown 対応