mcpField
C
Caption Checker

Caption Checker

本地服务
markstudios.com媒体与设计01 天前更新

关于 Caption Checker

Caption Checker 是用于检查 SRT 和 WebVTT 字幕的工具,适合字幕编辑和视频制作流程。它按 Netflix English、BBC 或 DCMP 标准标记阅读速度、行数、时长、间隔和时间戳问题,并可通过 CLI、库或本地 MCP 服务使用。

主要功能

  1. 01检查 SRT 与 WebVTT
  2. 02支持三种字幕标准
  3. 03标记速度、行数与时长问题
  4. 04CLI、JavaScript 库和 MCP 服务
  5. 05本地运行,无需上传

适用场景

  1. 01发布前检查字幕是否符合规范
  2. 02在 CI 中阻止不合规字幕
  3. 03在编辑任务中让 Agent 检查字幕

MCP 相关

本地 MCP 服务提供 `check_captions` 和 `list_standards` 工具,可检查文件路径或粘贴的字幕文本并列出标准限制。服务无需密钥或网络连接。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库
安装包
mcpbcaption-checker-1.1.0.mcpb

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

caption-checker

根据已发布的字幕标准检查 SRT 和 WebVTT 字幕:Netflix English、BBC 字幕指南或 DCMP Captioning Key。它会标记阅读速度过快、单行过长、行数过多、字幕显示时间过短或过长、间隔低于最低要求、字幕重叠以及时间戳格式错误等问题。

无依赖。需要 Node 18+。同一检查器也可在浏览器中运行,无需安装或上传文件,网址为 markstudios.com/tools/caption-checker。

caption-check 标记旅行视频博客的 SRT 文件:8 条字幕中有 2 条符合 Netflix English 限制

$ 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)BBCDCMP Captioning Key
阅读速度每秒最多 20 个字符(成人),17 个字符(儿童)每分钟 160–180 个单词每分钟最多 130 / 140 / 160 个单词(低 / 中 / 高年级)
每行字符数42广播(Teletext)为 37无字符数限制
每条字幕行数22;竖屏 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,一家视频剪辑和制作工作室。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。