墨屿 MOYU
← 返回技能

技能教程 · TUTORIAL

字幕处理 · 详细教程

纯本地处理 srt / ass / vtt 字幕:格式互转、校正时间轴、合并双语、清洗广告语。零第三方依赖,不联网。

下载技能包

这是一个可以直接用的技能包(zip(约 12 KB))。下载解压后,按下面的「安装 / 用法」跑起来。

下载 字幕处理 · 详细教程 ↓

这是什么

subtitle-tools 是一个跑在你自己机器上的字幕处理工具,处理 srt / vtt / ass。它能做格式互转、时间轴整体偏移或按比例缩放、双语合并、清洗广告语/水印句。

零依赖:这三种都是纯文本格式,标准库足够,不用装任何第三方库。

适合谁 / 不适合谁

怎么部署

  1. 下载解压:点页面顶部的「下载 …」拿到 zip,解压得到一个 subtitle-tools/ 文件夹(里面是 SKILL.mdscripts/)。
  2. 装进 AI 助手:把整个 subtitle-tools/ 文件夹放进你所用助手的 skills 目录,助手就能自动发现它 ——
  1. 零依赖:这个包不需要装任何依赖,放进去就能跑。
  2. 用起来:直接跟助手说要做什么(例:「把这个 srt 转成 ass」),它会调用;想手动跑也行:
python scripts/sub.py --help

用法

铁律:先体检,再动手。先跑 info,别凭感觉改。结果一律写到 --out,不覆盖输入文件。

info —— 体检(只读)

python scripts/sub.py info 字幕.srt

输出格式、条数、总时长、单条时长,以及问题清单(时间轴重叠、过短 <0.7s、过长 >7s、空文本)。

convert —— 格式互转

python scripts/sub.py convert 字幕.ass --to srt --out 字幕.srt --apply
python scripts/sub.py convert 字幕.srt --to txt --out 台词.txt --apply   # 提取纯文本去翻译

支持 srt / vtt / ass / txt(txt 只导文本,方便送去翻译)。

shift —— 时间轴整体偏移

python scripts/sub.py shift 字幕.srt --by +2.5 --out 新.srt --apply   # 整体延后 2.5 秒
python scripts/sub.py shift 字幕.srt --by -1.2s --out 新.srt --apply  # 整体提前 1.2 秒

正数延后、负数提前;时间不会跑到负数(夹到 0)。

scale —— 按比例缩放(帧率 / 倍速修正)

python scripts/sub.py scale 字幕.srt --factor 1.001 --out 新.srt --apply
python scripts/sub.py scale 字幕.srt --fps-from 23.976 --fps-to 25 --out 新.srt --apply

网上下载的 23.976fps 字幕配 25fps 视频会越来越不同步,用 --fps-from/--fps-to 让它算倍率;播放器倍速后字幕对不上,用 --factor 反着调。

merge —— 双语合并

python scripts/sub.py merge 中文.srt 英文.srt --out 双语.srt --apply
python scripts/sub.py merge 中文.srt 英文.srt --order 副上主下 --out 双语.srt --apply

按时间重叠最多自动配对;没配上对的条目会保留,不会丢。

clean —— 清洗

python scripts/sub.py clean 字幕.srt --remove "字幕组" --remove "广告" --out 干净.srt --apply
python scripts/sub.py clean 字幕.srt --strip-style --min-duration 0.7 --out 干净.srt --apply
开关作用
--remove 正则删掉文本匹配该正则的整条条目,可重复给
--strip-style去掉 <i> <b> <font> 和 ASS 的 {\...} 覆盖标签
--min-duration N把短于 N 秒的条补到 N 秒
--merge-short N合并间隔 ≤N 秒的相邻条目

slice —— 切一段

python scripts/sub.py slice 字幕.srt --start 00:01:30 --end 00:05:00 --rewind --out 片段.srt --apply

--rewind 把时间轴归零(切出来的片段从 00:00:00 开始),做切片、做样片时用。

已知边界(如实说,不吹)

想要加功能

包里目前是 SKILL.md + scripts/sub.py。想要图形字幕 OCR、自动翻译对接、或接进你们自己的系统 → 用页面底部的联系方式找我,说清场景,我帮你做。