关于 omnicaptions-download
omnicaptions-download 是一项技能,可从 YouTube 等 1,000 多个视频平台下载视频、音频和可用字幕。它通过 omnicaptions 命令行工具使用 yt-dlp,并要求下载前先取得用户确认。
主要功能
- 01下载视频和音频
- 02提取可用字幕
- 03音频与视频画质预设
- 04输出视频分辨率元数据
适用场景
- 01保存 YouTube 视频以供离线观看
- 02提取音频用于本地转录或编辑
- 03获取支持平台上的字幕
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ lattifai/ omni-captions-skills --skill omnicaptions-download安装后在 Claude Code 中输入/omnicaptions-download确认已加载。
详细介绍
从视频平台下载
使用 yt-dlp 从 YouTube 和 1000 多个视频平台下载视频、音频和字幕。
需要确认
重要:执行任何下载前,必须使用 AskUserQuestion 征得用户确认:
- 显示要下载的网址
- 显示画质设置(音频/视频)
- 显示输出目录
- 询问是否确认
确认示例:
Ready to download:
- URL: https://youtube.com/watch?v=xxx
- Type: Audio only / Video (1080p)
- Save to: Current directory
Confirm download?
只有在用户确认后,才能执行下载命令。
适用场景
- 下载 YouTube 视频/音频以供离线使用
- 提取视频平台上的字幕
- 获取音频以进行本地转录或编辑
不适用场景
- 只需要转录(使用
/omnicaptions:transcribe— Gemini 可直接处理网址) - 转换现有字幕格式(使用
/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 卡拉 OK 输出的字体大小。
支持的平台
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