Agent Skills: SRT 字幕转结构化数据

|

UncategorizedID: NanmiCoder/claude-code-skills/srt-to-structured-data

Install this agent skill to your local

pnpm dlx add-skill https://github.com/NanmiCoder/claude-code-skills/tree/HEAD/plugins/srt-to-structured-data/skills/srt-to-structured-data

Skill Files

Browse the full folder contents for srt-to-structured-data.

Download Skill

Loading file tree…

plugins/srt-to-structured-data/skills/srt-to-structured-data/SKILL.md

Skill Metadata

Name
srt-to-structured-data
Description
|

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)