omnicaptions-convert by lattifai/omni-captions-skills
npx skills add https://github.com/lattifai/omni-captions-skills --skill omnicaptions-convert使用 lattifai-captions 在 30 多种字幕/标题格式之间进行转换。
# 1. 直接转录 YouTube 视频
omnicaptions transcribe "https://youtube.com/watch?v=VIDEO_ID" -o transcript.md
# 2. 转换为任意格式
omnicaptions convert transcript.md -o output.srt
omnicaptions convert transcript.md -o output.ass
omnicaptions convert transcript.md -o output.vtt
/omnicaptions:transcribe)/omnicaptions:translate)pip install omni-captions-skills --extra-index-url https://lattifai.github.io/pypi/simple/
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
| 格式 | 扩展名 | 读取 | 写入 |
|---|---|---|---|
| SRT | .srt | ✓ | ✓ |
| VTT | .vtt | ✓ | ✓ |
| ASS/SSA | .ass | ✓ | ✓ |
| TTML | .ttml | ✓ | ✓ |
| Gemini MD | .md | ✓ | ✓ |
| JSON | .json | ✓ | ✓ |
| TXT | .txt | ✓ | ✓ |
完整列表:SRT、VTT、ASS、SSA、TTML、DFXP、SBV、SUB、LRC、JSON、TXT、TSV、Audacity、Audition、FCPXML、EDL 等。
# 转换(自动输出到相同目录,仅更改扩展名)
omnicaptions convert input.srt -t vtt # → ./input.vtt
omnicaptions convert transcript.md # → ./transcript.srt
# 指定输出文件或目录
omnicaptions convert input.srt -o output/ # → output/input.srt
omnicaptions convert input.srt -o output.vtt # → output.vtt
# 显式指定格式
omnicaptions convert input.txt -o out.srt -f txt -t srt
转换为 ASS 格式时,使用 --style 应用预设样式:
omnicaptions convert input.srt -o output.ass --style default # 白色文本,底部
omnicaptions convert input.srt -o output.ass --style top # 白色文本,顶部
omnicaptions convert input.srt -o output.ass --style bilingual # 白色 + 黄色(双语)
omnicaptions convert input.srt -o output.ass --style yellow # 黄色文本,底部
| 预设 | 位置 | 第一行 | 第二行 | 使用场景 |
|---|---|---|---|---|
default | 底部 | 白色 | 白色 | 标准字幕 |
top | 顶部 | 白色 | 白色 | 底部被占用时 |
bilingual | 底部 | 白色 | 黄色 | 双语字幕(原文 + 译文) |
yellow | 底部 | 黄色 | 黄色 | 高可见性 |
如果你的 SRT 文件包含双行字幕,例如:
1
00:00:01,000 --> 00:00:03,000
Hello World
你好世界
使用 --style bilingual 或自定义颜色:
# 预设:白色 + 黄色
omnicaptions convert bilingual.srt -o output.ass --style bilingual
# 自定义颜色:绿色英文 + 黄色中文
omnicaptions convert bilingual.srt -o output.ass --line1-color "#00FF00" --line2-color "#FFFF00"
# 混合预设与自定义第二行颜色
omnicaptions convert bilingual.srt -o output.ass --style default --line2-color "#FF6600"
| 选项 | 描述 |
|---|---|
--line1-color "#RRGGBB" | 第一行(原文)颜色 |
--line2-color "#RRGGBB" | 第二行(译文)颜色 |
常用颜色:#FFFFFF(白色)、#FFFF00(黄色)、#00FF00(绿色)、#00FFFF(青色)、#FF6600(橙色)
字体大小根据视频分辨率自动计算。分辨率按以下优先级顺序检测:
--resolution 参数(例如 1080p、4k、1920x1080)--video 参数(使用 ffprobe 检测).meta.json 文件(由 omnicaptions download 保存)# 从 .meta.json 自动检测(由 download 命令保存)
omnicaptions convert abc123.en.srt -o abc123.en.ass --karaoke
# 直接指定分辨率
omnicaptions convert input.srt -o output.ass --resolution 4k
omnicaptions convert input.srt -o output.ass --resolution 720p
omnicaptions convert input.srt -o output.ass --resolution 1920x1080
# 从视频文件检测(使用 ffprobe)
omnicaptions convert input.srt -o output.ass --video video.mp4
# 覆盖自动计算的字体大小
omnicaptions convert input.srt -o output.ass --resolution 4k --fontsize 80
| 分辨率 | PlayRes | 自动字体大小 |
|---|---|---|
| 480p | 854×480 | 24 |
| 720p | 1280×720 | 32 |
| 1080p | 1920×1080 | 48(默认) |
| 2K | 2560×1440 | 64 |
| 4K | 3840×2160 | 96 |
生成带词级高亮的卡拉OK字幕。需要词级时间戳(请先使用 LaiCut 对齐)。
# 基础卡拉OK(扫掠效果 - 渐进填充)
omnicaptions convert lyrics_LaiCut.json -o lyrics_LaiCut_karaoke.ass --karaoke
# 不同效果
omnicaptions convert lyrics_LaiCut.json -o lyrics_LaiCut_karaoke.ass --karaoke sweep # 渐进填充(默认)
omnicaptions convert lyrics_LaiCut.json -o lyrics_LaiCut_karaoke.ass --karaoke instant # 瞬间高亮
omnicaptions convert lyrics_LaiCut.json -o lyrics_LaiCut_karaoke.ass --karaoke outline # 先轮廓后填充
# LRC 卡拉OK(增强的词级时间戳)
omnicaptions convert lyrics_LaiCut.json -o lyrics_LaiCut_karaoke.lrc --karaoke
| 效果 | ASS 标签 | 描述 |
|---|---|---|
sweep | \kf | 从左到右渐进填充(默认) |
instant | \k | 瞬间词高亮 |
outline | \ko | 轮廓填充,然后文本填充 |
# 1. 使用 LaiCut 对齐(获取 JSON 格式的词级时间戳)
omnicaptions LaiCut audio.mp3 lyrics.txt
# 2. 转换为卡拉OK ASS 格式
omnicaptions convert lyrics_LaiCut.json -o karaoke.ass --karaoke
# 或结合样式
omnicaptions convert lyrics_LaiCut.json -o karaoke.ass --karaoke --style yellow
from omnicaptions import Caption
# 加载任意格式
cap = Caption.read("input.srt")
# 写入任意格式
cap.write("output.vtt")
cap.write("output.ass")
cap.write("output.ttml")
| 错误 | 解决方法 |
|---|---|
| 格式未检测到 | 使用 --from / --to 标志 |
| 缺少时间戳 | 源格式必须包含时间信息 |
| 编码错误 | 指定 encoding="utf-8" |
| 技能 | 使用场景 |
|---|---|
/omnicaptions:transcribe | 需要从音频/视频转录 |
/omnicaptions:translate | 使用 Gemini API 翻译 |
/omnicaptions:translate | 使用 Claude 翻译(无需 API 密钥) |
/omnicaptions:download | 先下载视频/字幕 |
# 转录 → 转换 → 翻译(使用 Claude)
/omnicaptions:transcribe video.mp4
/omnicaptions:convert video_GeminiUnd.md -o video.srt
/omnicaptions:translate video.srt -l zh --bilingual
每周安装量
82
仓库
GitHub 星标数
21
首次出现
2026年1月24日
安全审计
安装于
claude-code70
opencode33
gemini-cli32
codex31
cursor27
antigravity25
Skills CLI 使用指南:AI Agent 技能包管理器安装与管理教程
44,900 周安装