字幕转换器:VTT、SRT、ASS、LRC 转换 - Openclaw Skills

作者:互联网

2026-04-14

AI教程

什么是 字幕转换器?

字幕转换器是一个专门设计的工具,旨在弥合各种媒体平台与编辑软件之间的鸿沟。它为处理字幕文件提供了一个稳健的框架,确保创作者可以在 YouTube 等网络环境与剪映等专业编辑器之间迁移资产,而不会丢失同步信息或元数据。作为 Openclaw Skills 生态系统的关键组件,它实现了字幕管理中繁琐环节的自动化。

除了简单的格式转换外,该工具还解决了诸多技术挑战,例如清理 YouTube 自动生成的 VTT 文件中杂乱的滚动时间戳,以及将字符编码统一规范为 UTF-8。无论您是需要同步音频的视频编辑人员,还是构建本地化流水线的开发人员,此工具都能提供所需的精确度和灵活性。

下载入口:https://github.com/openclaw/skills/tree/main/skills/matthewyin/subtitle-converter

安装与下载

1. ClawHub CLI

从源直接安装技能的最快方式。

npx clawhub@latest install subtitle-converter

2. 手动安装

将技能文件夹复制到以下位置之一

全局模式 ~/.openclaw/skills/ 工作区 /skills/

优先级:工作区 > 本地 > 内置

3. 提示词安装

将此提示词复制到 OpenClaw 即可自动安装。

请帮我使用 Clawhub 安装 subtitle-converter。如果尚未安装 Clawhub,请先安装(npm i -g clawhub)。

字幕转换器 应用场景

  • 将 YouTube 自动生成的 VTT 字幕转换为纯净的 SRT 文件,以便在视频编辑软件中使用。
  • 通过应用精确的正向或负向时间偏移,使字幕与视频轨道同步。
  • 将两个独立语言的字幕文件合并为一个双语轨道。
  • 对整个目录的字幕资产进行批量格式转换,以便于存档或分发。
字幕转换器 工作原理
  1. 工具识别源文件格式,并将时间戳和文本数据解析为标准化的内部表示。
  2. 如果需要时间偏移,引擎会根据指定的秒数偏移量重新计算每个时间戳。
  3. 对于双语合并,工具根据时间标记对齐两个独立文件,以创建一个合并条目。
  4. 处理后的数据被序列化为目标格式,应用特定格式的规则(如为 SRT 生成序列号或处理 LRC 的行基准时间)。
  5. 最终输出保存为 UTF-8 编码文件,以确保最大的跨平台兼容性。

字幕转换器 配置指南

要使用此功能,请确保您已准备好 Python 环境。导航到您的项目目录并通过命令行界面执行转换脚本。

# 从 VTT 到 SRT 的基本转换
python scripts/convert.py input.vtt --format srt

# 将字幕时间向前偏移 2.5 秒
python scripts/convert.py input.srt --shift 2.5

字幕转换器 数据架构与分类体系

字幕转换器根据每种受支持格式的独特要求来组织数据。所有输出均规范化为 UTF-8。

格式 常用场景 技术特点
VTT 网络视频 (YouTube) 支持类 CSS 的样式和定位
SRT 通用编辑 使用顺序索引和逗号分隔的毫秒
ASS 高级动画 支持复杂的排版和卡拉 OK 效果
LRC 音频歌词 基于行的计时,没有显式的结束戳
name: subtitle-converter
description: 字幕格式转换工具,支持 VTT、SRT、ASS、LRC 四种格式互转,以及时间轴偏移和双语字幕合并。当用户需要转换字幕格式(如 VTT 转 SRT 用于剪映)、调整字幕时间、合并双语字幕、或批量处理字幕文件时使用此技能。触发词:字幕转换、vtt转srt、srt转vtt、剪映字幕、字幕格式、时间轴偏移、双语字幕、字幕合并。

字幕格式转换

支持 VTT、SRT、ASS、LRC 四种字幕格式的相互转换,以及时间轴偏移和双语字幕合并功能。

支持格式

格式 用途 特点
VTT 网络视频(YouTube等) 支持样式、定位
SRT 通用格式(剪映支持) 简单、兼容性好
ASS 高级字幕(动画、卡拉OK) 完整样式控制
LRC 歌词同步 行级时间戳

工作流

格式转换

  1. 确定源文件格式和目标格式
  2. 运行转换脚本:
    python scripts/convert.py <输入文件> --format <目标格式>
    
  3. 输出文件默认在同目录,使用 .srt/.vtt 等扩展名

批量转换

  1. 确定目标目录和格式
  2. 运行批量转换:
    python scripts/convert.py <目录> --batch --format <目标格式>
    

时间轴偏移

  1. 确定偏移秒数(正数延后,负数提前)
  2. 运行偏移命令:
    python scripts/convert.py <文件> --shift <秒数>
    

双语字幕合并

  1. 准备两个字幕文件(不同语言)
  2. 运行合并命令:
    python scripts/convert.py <文件1> <文件2> --merge
    

命令参考

# 格式转换
python scripts/convert.py input.vtt --format srt
python scripts/convert.py input.vtt --output output.srt

# 批量转换
python scripts/convert.py ./subs --batch --format srt
python scripts/convert.py ./subs --batch --format srt --output ./output

# 时间轴偏移
python scripts/convert.py input.srt --shift 2.5    # 延后2.5秒
python scripts/convert.py input.srt --shift -1.0   # 提前1秒

# 双语字幕合并
python scripts/convert.py zh.srt en.srt --merge
python scripts/convert.py zh.srt en.srt --merge --output bilingual.srt

常见场景

YouTube VTT 转 剪映 SRT

YouTube 自动生成的 VTT 字幕包含滚动显示和逐词时间戳,转换时会自动清理:

python scripts/convert.py video.zh-Hans.vtt --format srt

批量转换目录下的 VTT 文件

python scripts/convert.py /path/to/subs --batch --format srt

字幕与视频不同步

如果字幕整体提前或延后,使用时间轴偏移:

# 字幕提前了3秒,需要延后
python scripts/convert.py subtitle.srt --shift 3

# 字幕延后了2秒,需要提前
python scripts/convert.py subtitle.srt --shift -2

制作中英双语字幕

python scripts/convert.py chinese.srt english.srt --merge --output bilingual.srt

技术细节

详见 references/formats.md:

  • 四种格式的语法规范
  • 时间格式差异(毫秒分隔符、精度)
  • 转换注意事项(标签清理、编码处理)

注意事项

  1. YouTube VTT:自动合并滚动块、清理逐词标签
  2. SRT 必须有序号:转换到 SRT 时自动生成
  3. ASS 精度损失:毫秒转厘秒时会四舍五入
  4. LRC 无结束时间:自动设为下一行开始时间
  5. 编码统一:输出文件使用 UTF-8 编码