Back to Skills

srt-to-structured-data

verified

将 SRT 字幕文件转换为结构化 JSON 数据。 触发场景: (1) 需要解析 SRT 字幕文件 (2) 需要将字幕转为 JSON/结构化格式 (3) 需要提取字幕时间码和文本 (4) 视频字幕数据处理和分析 (5) 生成字幕纯文本或统计信息

View on GitHub

Marketplace

claude-code-skills

NanmiCoder/claude-code-skills

Plugin

srt-to-structured-data

productivity

Repository

NanmiCoder/claude-code-skills
30stars

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

Last Verified

February 1, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/NanmiCoder/claude-code-skills/blob/main/plugins/srt-to-structured-data/skills/srt-to-structured-data/SKILL.md -a claude-code --skill srt-to-structured-data

Installation paths:

Claude
.claude/skills/srt-to-structured-data/
Powered by add-skill CLI

Instructions

# SRT 字幕转结构化数据

将 SRT 字幕文件解析为结构化 JSON 格式,支持提取时间码、计算时长、生成统计信息。

## 快速开始

### 基础用法

```bash
# 解析 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 结构化数据

```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:分析字幕文件

```bash
python <skill_path>/scripts/parse_srt.py video.srt --stats -o analysis.json
```

### 场景 2:提取纯文本用于翻译

```bash
python <skill_path>/scripts/parse_srt.py video.srt --text-only -o transcript.txt
```

### 场景 3:在 Python 中直接使用

```python
import subprocess
import json

result = subprocess

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
1998 chars