mcpField
O
omnicaptions-download

omnicaptions-download

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

omnicaptions-download について

omnicaptions-download は、YouTube を含む 1,000 以上の動画プラットフォームから動画、音声、利用可能な字幕をダウンロードするスキルです。omnicaptions CLI で yt-dlp を使い、実行前にユーザーの確認を求めます。

主な機能

  1. 01動画と音声のダウンロード
  2. 02利用可能な字幕の抽出
  3. 03音声・動画の画質プリセット
  4. 04動画解像度のメタデータ出力

活用シーン

  1. 01YouTube 動画のオフライン視聴用保存
  2. 02ローカルでの文字起こしや編集用の音声抽出
  3. 03対応プラットフォームからの字幕取得

インストール

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

$npx skills add https://github.com/lattifai/omni-captions-skills --skill omnicaptions-download

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

詳細

動画プラットフォームからダウンロード

yt-dlp を使用して、YouTube や 1000 以上の動画プラットフォームから動画、音声、字幕をダウンロードします。

確認が必要です

重要:ダウンロードを実行する前に、必ず AskUserQuestion を使ってユーザーに確認してください。

  1. ダウンロードする URL を表示します
  2. 品質設定(音声/動画)を表示します
  3. 出力ディレクトリを表示します
  4. 確認を求めます

確認の例:

Ready to download:
- URL: https://youtube.com/watch?v=xxx
- Type: Audio only / Video (1080p)
- Save to: Current directory

Confirm download?

ユーザーが確認してから、ダウンロードコマンドを実行してください。

使用する場面

  • オフラインで使うために YouTube の動画/音声をダウンロードする
  • 動画プラットフォームから字幕を抽出する
  • ローカルでの文字起こしや編集に使う音声を取得する

使用しない場面

  • 文字起こしだけが必要な場合(URL を直接処理できる Gemini が対応します。/omnicaptions:transcribe を使用してください)
  • 既存の字幕形式を変換する場合(/omnicaptions:convert を使用してください)

セットアップ

pip install omni-captions-skills --extra-index-url https://lattifai.github.io/pypi/simple/

CLI の使用方法

注:ファイルはデフォルトで現在の作業ディレクトリに保存されます。ユーザーが別の場所を明示的に指定しない限り、-o は指定しないでください。

# Download audio only (default, saves to current directory)
omnicaptions download "https://www.youtube.com/watch?v=VIDEO_ID"

# Supports bare YouTube video ID (auto-validates via yt-dlp)
omnicaptions download e882eXLtwkI

# Download video (1080p recommended)
omnicaptions download "https://youtube.com/watch?v=VIDEO_ID" -q 1080p

# Only use -o when user explicitly requests a different location
omnicaptions download "https://youtube.com/watch?v=VIDEO_ID" -o ./downloads/
オプション説明
-o, --output出力ディレクトリ(デフォルト:現在のディレクトリ)
-q, --quality品質:audio(デフォルト)、best、1080p、720p、480p、360p
-v, --verbose詳細な出力

品質プリセット

プリセット説明
audio音声のみ(m4a/mp3)、最小サイズ
1080p1080p の動画+音声(動画におすすめ)
720p720p の動画+音声
480p480p の動画+音声
360p360p の動画+音声
best利用可能な最高品質(4K 以上の場合があり、非常に大きなファイルになります)

出力

ダウンロードされるファイル:

  • 音声/動画ファイル:.m4a、.mp4 など
  • 字幕(利用可能な場合):.vtt または .srt
  • メタデータ:.meta.json(ASS フォントのスケーリングに使う動画の解像度、タイトルなど)
Video: ./VIDEO_ID.mp4
Audio: ./VIDEO_ID.m4a
Caption: ./VIDEO_ID.en.vtt
Metadata: ./VIDEO_ID.meta.json  # Used by convert for auto font size
Title: Video Title Here

.meta.json ファイルには動画の解像度が保存されます。omnicaptions convert はこれを使って、ASS カラオケ出力用のフォントサイズを自動計算します。

対応プラットフォーム

YouTube、Bilibili、Vimeo、Twitter/X、および1000 以上のサイト。

関連スキル

スキル使用する場面
/omnicaptions:transcribeダウンロードした音声/動画を文字起こしする
/omnicaptions:translateGemini で字幕を翻訳する
/omnicaptions:translateClaude で字幕を翻訳する(API 不要)
/omnicaptions:convert字幕形式を変換する
ワークフローの例

重要:LaiCut によるアラインメントの後に、バイリンガル字幕を生成してください。ファイル名の言語タグは保持してください。

# Has caption: download → LaiCut align (JSON) → convert → translate
omnicaptions download "https://youtube.com/watch?v=xxx"
# → xxx.en.vtt
omnicaptions LaiCut xxx.mp4 xxx.en.vtt
# → xxx.en_LaiCut.json
omnicaptions convert xxx.en_LaiCut.json -o xxx.en_LaiCut.srt
# → xxx.en_LaiCut_Claude_zh.srt (after translate)

# No caption: download → transcribe → LaiCut align (JSON) → convert → translate
omnicaptions download "https://youtube.com/watch?v=xxx"
omnicaptions transcribe xxx.mp4
# → xxx_GeminiUnd.md
omnicaptions LaiCut xxx.mp4 xxx_GeminiUnd.md
# → xxx_GeminiUnd_LaiCut.json
omnicaptions convert xxx_GeminiUnd_LaiCut.json -o xxx_GeminiUnd_LaiCut.srt
# → xxx_GeminiUnd_LaiCut_Claude_zh.srt (after translate)

コメント