SRT 字幕转结构化数据
将 SRT 字幕文件解析为结构化 JSON 格式,支持提取时间码、计算时长、生成统计信息。
快速开始
基础用法
解析 SRT 文件,输出到终端
python <skill_path>/scripts/parse_srt.py input.srt
输出到文件
python <skill_path>/scripts/parse_srt.py input.srt -o output.json
包含统计信息
python <skill_path>/scripts/parse_srt.py input.srt --stats
仅输出纯文本(去除时间码)
python <skill_path>/scripts/parse_srt.py input.srt --text-only
注意: <skill_path> 是此 skill 的安装路径,通常为 ~/.claude/plugins/srt-to-structured-data@claude-code-skills/skills/srt-to-structured-data
输出格式
JSON 结构化数据
{ "subtitles": [ { "index": 1, "start_time": "00:00:00,000", "end_time": "00:00:02,566", "start_ms": 0, "end_ms": 2566, "duration_ms": 2566, "text": "Clawdbot真的太火太火太火了" }, { "index": 2, "start_time": "00:00:02,633", "end_time": "00:00:04,766", "start_ms": 2633, "end_ms": 4766, "duration_ms": 2133, "text": "Github一天直接涨了5万星" } ], "statistics": { "total_count": 2, "total_duration_ms": 4699, "total_duration_formatted": "00:04", "avg_duration_ms": 2349 } }
纯文本输出
使用 --text-only 参数时,仅输出字幕文本,每条一行:
Clawdbot真的太火太火太火了 Github一天直接涨了5万星
命令行参数
参数 说明
input.srt
输入的 SRT 字幕文件路径
-o, --output
输出文件路径(默认输出到终端)
--stats
在 JSON 输出中包含统计信息
--text-only
仅输出纯文本,去除时间码和序号
字段说明
字段 类型 说明
index
int 字幕序号
start_time
string 开始时间(原始格式)
end_time
string 结束时间(原始格式)
start_ms
int 开始时间(毫秒)
end_ms
int 结束时间(毫秒)
duration_ms
int 持续时长(毫秒)
text
string 字幕文本内容
使用示例
场景 1:分析字幕文件
python <skill_path>/scripts/parse_srt.py video.srt --stats -o analysis.json
场景 2:提取纯文本用于翻译
python <skill_path>/scripts/parse_srt.py video.srt --text-only -o transcript.txt
场景 3:在 Python 中直接使用
import subprocess import json
result = subprocess.run( ['python', '<skill_path>/scripts/parse_srt.py', 'input.srt', '--stats'], capture_output=True, text=True ) data = json.loads(result.stdout)