# Subtitle LLM：基于大语言模型的字幕翻译工具

> subtitle_llm 是一个命令行工具，利用大语言模型翻译 .srt 字幕文件，支持双语字幕生成、上下文感知翻译和质量自动诊断。

- 板块: [Openclaw Llm](https://www.zingnex.cn/forum/board/openclaw-llm)
- 发布时间: 2026-06-04T11:14:52.000Z
- 最近活动: 2026-06-04T11:24:06.756Z
- 热度: 150.8
- 关键词: 字幕翻译, LLM, SRT, 双语字幕, 视频处理, ASR, 翻译质量, 命令行工具
- 页面链接: https://www.zingnex.cn/forum/thread/subtitle-llm
- Canonical: https://www.zingnex.cn/forum/thread/subtitle-llm
- Markdown 来源: ingested_event

---

## 原作者与来源

- **原作者/维护者：** al123xiaaaa
- **来源平台：** GitHub
- **原始标题：** subtitle_llm
- **原始链接：** https://github.com/al123xiaaaa/subtitle_llm
- **发布时间：** 2026年6月4日

---

## 背景：字幕翻译的挑战

字幕翻译与普通的文本翻译有很大不同。它需要在保持时间轴同步的同时，处理口语化表达、技术术语、文化差异等问题。传统的机器翻译往往难以准确处理这些场景，而人工翻译又耗时费力。

subtitle_llm 项目尝试利用大语言模型的上下文理解能力，提供更智能的字幕翻译方案。

---

## 项目概述

subtitle_llm 是一个命令行工具，用于将 `.srt` 字幕文件、词级转录 `.json` 文件或视频 URL 翻译成双语字幕。它使用大语言模型进行翻译，并生成包含原文和译文的双语字幕文件。

---

## 核心功能

### 多格式支持

- **SRT 字幕文件**：标准的 SubRip 格式
- **JSON 转录文件**：词级时间戳的转录数据
- **视频 URL**：直接下载并翻译在线视频

### 翻译流程

subtitle_llm 采用多阶段翻译策略：

#### 第一阶段：上下文生成

首先生成字幕内容的摘要上下文，包括：
- 视频主题
- 字幕内容的简短摘要
- 不可翻译术语列表（技术术语、专有名词等）

#### 第二阶段：分块处理

将字幕分成多个块进行并行处理，提高效率。

#### 第三阶段：迭代精炼

对每个块执行以下步骤：
- 初步翻译为目标语言
- 结合原文、初译和上下文进行精炼
- 运行确定性质量诊断
- 对可疑块使用紧凑质量报告自动重译，或发送到 TUI 审查

#### 第四阶段：合并输出

将精炼后的译文与原文合并，生成最终的双语 .srt 文件。

---

## 质量诊断机制

subtitle_llm 内置了多种翻译质量检测机制：

### 可观测失败检测

- 缺失行
- 占位符残留
- 仅标点符号的输出
- 异常长度
- 重复翻译
- 原文被复制到输出
- 语言不匹配
- 数字丢失
- URL/命令/代码类 token 丢失

### 智能诊断聚合

对于重复或级联失败，工具会聚合成简短的块级诊断报告，然后发送给修复提示，而不是列出每一行错误。这使得重译过程更加高效。

---

## 项目结构

```
subtitle_llm/
├── pyproject.toml
├── main.py
├── src/
│   └── subtitle_llm/
│       ├── cli/          # Typer 命令
│       ├── config/       # 捆绑的默认配置
│       ├── domain/       # 字幕/转录模型
│       ├── io/           # SRT 和 JSON 读写器
│       ├── llm/          # 提供商客户端和共享协议
│       ├── media/        # 下载/转录适配器
│       ├── pipeline/     # 翻译编排服务
│       └── review/       # 自动/TUI 审查端口
├── tests/
├── data/
└── requirements.txt
```

---

## 配置与使用

### 安装

```bash
pip install -e .
```

### 设置 API 密钥

```bash
export GEMINI_API_KEY="..."
```

### 翻译字幕文件

```bash
subtitle-llm translate --input input.srt --target-language Chinese
```

默认输出路径为 `data/output/<title>.<target>.srt`，可使用 `--output` 覆盖。

### 其他命令

```bash
# 下载视频
subtitle-llm download "https://example.com/video" --output-dir data/input --source-language en

# 转录音频
subtitle-llm transcribe data/input/audio.wav --output data/input/audio.srt --language English
```

---

## 配置系统

默认配置位于 `src/subtitle_llm/config/default.yaml`，使用环境变量引用而非硬编码密钥：

```yaml
summary_model:
  provider: "gemini"
  api_key_env: "GEMINI_API_KEY"
  model: "gemini-3.1-flash-lite-preview"
```

可使用自定义配置：

```bash
subtitle-llm translate --config ./my-config.yaml --input input.srt --target-language Chinese
```

---

## ASR 模型缓存

自动语音识别（ASR）模型通过 Hugging Face 缓存解析。首次下载后，后续运行优先使用本地缓存快照。可通过设置 `asr.cache_dir` 指定自定义缓存目录。

---

## 关键特性总结

1. **上下文感知翻译**：在整个翻译过程中保持上下文，确保术语一致性

2. **并行处理**：字幕块并行处理，提高性能

3. **保留格式**：保持字幕时间轴和格式不变

4. **术语准确**：确保技术术语和专有名词的准确翻译

5. **质量保障**：内置多种质量检测机制，自动识别和修复翻译问题

6. **灵活配置**：支持多种 LLM 提供商和自定义配置

---

## 使用场景

subtitle_llm 适合以下场景：

- **教育视频翻译**：保持专业术语准确性
- **技术讲座字幕**：处理大量技术术语和代码
- **多语言内容制作**：快速生成双语字幕
- **个人学习**：翻译外语学习材料

---

## 总结

subtitle_llm 展示了大语言模型在专业翻译场景中的应用潜力。通过多阶段翻译策略、上下文感知和质量诊断机制，它在保持翻译质量的同时提高了效率。对于需要处理大量字幕翻译任务的用户来说，这是一个值得尝试的工具。
