omnicaptions-download について
omnicaptions-download は、YouTube を含む 1,000 以上の動画プラットフォームから動画、音声、利用可能な字幕をダウンロードするスキルです。omnicaptions CLI で yt-dlp を使い、実行前にユーザーの確認を求めます。
主な機能
- 01動画と音声のダウンロード
- 02利用可能な字幕の抽出
- 03音声・動画の画質プリセット
- 04動画解像度のメタデータ出力
活用シーン
- 01YouTube 動画のオフライン視聴用保存
- 02ローカルでの文字起こしや編集用の音声抽出
- 03対応プラットフォームからの字幕取得
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ lattifai/ omni-captions-skills --skill omnicaptions-downloadインストール後、Claude Code で/omnicaptions-downloadを入力して読み込まれたか確認します。
詳細
動画プラットフォームからダウンロード
yt-dlp を使用して、YouTube や 1000 以上の動画プラットフォームから動画、音声、字幕をダウンロードします。
確認が必要です
重要:ダウンロードを実行する前に、必ず AskUserQuestion を使ってユーザーに確認してください。
- ダウンロードする URL を表示します
- 品質設定(音声/動画)を表示します
- 出力ディレクトリを表示します
- 確認を求めます
確認の例:
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)、最小サイズ |
1080p | 1080p の動画+音声(動画におすすめ) |
720p | 720p の動画+音声 |
480p | 480p の動画+音声 |
360p | 360p の動画+音声 |
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:translate | Gemini で字幕を翻訳する |
/omnicaptions:translate | Claude で字幕を翻訳する(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)
コメント
Markdown 対応