关于 Caption Checker
Caption Checker 是用于检查 SRT 和 WebVTT 字幕的工具,适合字幕编辑和视频制作流程。它按 Netflix English、BBC 或 DCMP 标准标记阅读速度、行数、时长、间隔和时间戳问题,并可通过 CLI、库或本地 MCP 服务使用。
主要功能
- 01检查 SRT 与 WebVTT
- 02支持三种字幕标准
- 03标记速度、行数与时长问题
- 04CLI、JavaScript 库和 MCP 服务
- 05本地运行,无需上传
适用场景
- 01发布前检查字幕是否符合规范
- 02在 CI 中阻止不合规字幕
- 03在编辑任务中让 Agent 检查字幕
MCP 相关
本地 MCP 服务提供 `check_captions` 和 `list_standards` 工具,可检查文件路径或粘贴的字幕文本并列出标准限制。服务无需密钥或网络连接。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
caption-checker
根据已发布的字幕标准检查 SRT 和 WebVTT 字幕:Netflix English、BBC 字幕指南或 DCMP Captioning Key。它会标记阅读速度过快、单行过长、行数过多、字幕显示时间过短或过长、间隔低于最低要求、字幕重叠以及时间戳格式错误等问题。
无依赖。需要 Node 18+。同一检查器也可在浏览器中运行,无需安装或上传文件,网址为 markstudios.com/tools/caption-checker。

$ caption-check examples/travel-vlog.srt
travel-vlog.srt: 2 of 8 captions meet Netflix English, adult programs
#1 0:00.500 -> 0:03.000 Welcome back to the channel.
✗ Gap to the next caption is 0 frames at 24 fps (minimum 2)
#3 0:06.600 -> 0:07.100 First,
✗ On screen 0.50 s (minimum 5/6 of a second)
#4 0:07.200 -> 0:09.000 we packed water, snacks, a rain jacket and a spare battery for the cam
✗ Reading speed 41.1 characters a second (limit 20)
✗ Line 1 is 74 characters (limit 42)
...
限制
以下各项限制均根据对应标准在 2026-10-15 发布的页面整理。
| Netflix (English) | BBC | DCMP Captioning Key | |
|---|---|---|---|
| 阅读速度 | 每秒最多 20 个字符(成人),17 个字符(儿童) | 每分钟 160–180 个单词 | 每分钟最多 130 / 140 / 160 个单词(低 / 中 / 高年级) |
| 每行字符数 | 42 | 广播(Teletext)为 37 | 无字符数限制 |
| 每条字幕行数 | 2 | 2;竖屏 9:16 视频为 3 | 最好不超过 2 行 |
| 最短显示时间 | 5/6 秒 | 每个单词约 0.3 秒(建议) | 40 帧(1 秒又 10 帧) |
| 最长显示时间 | 7 秒 | 无具体数值 | 6 秒 |
| 字幕间隔 | 至少 2 帧;小于 0.5 秒的间隔缩短至 2 帧 | 如果留出间隔,至少 1 秒(建议) | 无规定 |
来源:Netflix English (USA) Timed Text Style Guide · Netflix General Requirements · Netflix Subtitle Timing Guidelines · BBC Subtitle Guidelines · DCMP Captioning Key: Text · DCMP Captioning Key: Presentation Rate
**计数方式。**字符数包括字母、空格和标点,但不包括换行符或格式标记(<i> 标签、{\an8} 代码、WebVTT 语音片段)。阅读速度按字符数 ÷(结束时间 − 开始时间)计算。单词是由字母或数字组成的字符序列,因此说话者标签和声音标签也计入,这符合 DCMP 的要求。间隔按你指定的帧率,以帧为单位,从一条字幕的结束时间计算到下一条字幕的开始时间。标准中标为建议的内容会作为建议报告,不会判定为不合格。
CLI
npx github:markksantos/caption-checker captions.srt
# or: git clone https://github.com/markksantos/caption-checker && node caption-checker/bin/caption-check.js captions.srt
caption-check <file.srt|file.vtt> [more files] [options]
-s, --standard <id> netflix | netflix-kids | bbc | dcmp-upper | dcmp-middle | dcmp-lower (default: netflix)
-f, --fps <rate> frame rate for frame-gap checks (default: 24)
--vertical 9:16 video (the BBC allows three lines)
--json JSON output
--advice also print advice-only notes
--mcp run as an MCP server on stdio
只要有任何字幕违反限制,程序就会以 1 退出,因此可在字幕发布前将其用作 CI 检查。
库
const { parse, check } = require('caption-checker');
const result = check(parse(fs.readFileSync('captions.vtt', 'utf8')), 'bbc', { vertical: true });
console.log(result.flagged, 'of', result.cues.length, 'captions break a limit');
for (const cue of result.cues) for (const issue of cue.issues) console.log(cue.n, issue.severity, issue.message);
check() 接受标准 ID,也接受与 index.js 中 STANDARDS 字段相同的自定义标准对象。
MCP 服务和 Claude Code 插件
同一套检查也可通过 MCP 服务运行,因此 Claude、Cursor、VS Code 和其他 MCP 客户端可以在任务进行期间检查字幕文件。提供两个工具:check_captions(接收文件路径或粘贴的 SRT/VTT 文本、标准、fps、vertical)和 list_standards(列出各项限制及其来源页面)。所有操作均在本地运行:无需密钥,也无需联网。
# Claude Code plugin (MCP server + a caption QA skill)
/plugin marketplace add markksantos/caption-checker
/plugin install caption-checker@caption-checker
# or the server on its own
claude mcp add caption-checker -- npx -y github:markksantos/caption-checker --mcp
其他客户端:
{ "mcpServers": { "caption-checker": { "command": "npx", "args": ["-y", "github:markksantos/caption-checker", "--mcp"] } } }
skills/caption-checker/SKILL.md 中的技能文件会告诉 Agent 应选择哪项标准、如何报告结果,以及如何在不改动字幕原文的情况下修正字幕。
研究
study/ 保存了字幕阅读速度研究所用的代码和数据:使用此库测量了 NASA 视频和 MIT OpenCourseWare 讲座中的 339,521 条字幕,涵盖 387 个视频和讲座。
study-auto-captions/ 保存了 YouTube 自动字幕准确度研究:对 299 个视频中的自动字幕和人工字幕进行比较,并统计订阅人数最多的频道的字幕覆盖率。
study-dubbing/ 保存了 YouTube 配音研究:统计订阅人数最多的 97 个频道中 485 个视频的所有音轨,并将其分为频道自制配音和 YouTube 自动配音。
study-video-length/ 保存了 YouTube 视频时长研究:统计订阅人数最多的频道最新 2,859 个视频的时长,以及其近期上传的 1,484 个视频中 Shorts 所占比例。
版本历史
请参阅 CHANGELOG.md 和发布版本。
测试
npm test
许可证
MIT © Mark Studios,一家视频剪辑和制作工作室。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。