可视化校对
上桌之前,在本地浏览器工作台里逐行检查字幕的文字、时间与译文。
可视化校对是视频上桌前的人工检查站。OpenBBQ 会在浏览器里打开一个本地工作台:看视频、读每一行字幕、改文字和时间、处理它替你标出的疑点、把检查过的行标出来。所有内容都留在你自己的电脑上,不会上传到任何地方。
安装编辑器
编辑器是可选组件,安装一次即可:
uv tool install 'openbbq[review]' --force打开工作区
openbbq review --workspace workspaces/demo --to zh浏览器会打开一个只有你自己电脑能访问的本地地址。常用选项:
--to zh——打开该语言的翻译工作表,也就是每行字幕对应一条译文的文件。不加这个选项则进入仅原文模式,只有原文字幕行;进入编辑器后也可以再选择语言。--port PORT——默认端口被占用时,换一个端口。--no-open——只启动编辑器,不自动打开浏览器标签页。
工作台长什么样

打开后是一屏四区(区间的竖条可以拖动调宽度,刷新后位置还在):
- cue 列表——所有字幕行,带筛选、搜索,以及「列表 / 问题」两个标签页。
- 媒体播放器——视频(音频工作区则是音频),播放控件常驻,字幕实时叠加。
- cue 编辑器——当前这一行的原文、译文、时间和备注,以及它的疑点卡片。
- 波形·字幕轨——整条时间线:波形用来找气口,色块是字幕行。
cue 列表:找到要看的行

- 顶部按状态筛选(未审核 / 已审核 / 待处理 / 全部),也可以按「缺失译文」「超预算」等质量条件筛;搜索框支持文字和
#编号。 - 行尾的小图标是这一行的疑点(术语、时间、预算、低置信词、agent 建议),形状对应种类、颜色对应严重度,点过去就知道是什么。
- 播放时选中行跟着播放头走;你滚一下列表,只是列表停止自动滚动(上方会出现琥珀色的「恢复跟随」按钮),选中本身不受影响。
- Shift 点选一段、⌘/Ctrl 点选多条,底部会出现批量操作条。
问题视图:按疑点清单干活

切到「问题」标签页,所有疑点按种类聚合成组(时间、术语、预算、低置信识别、agent 建议)。点开一组就能看到涉及的每一条 cue,点行直接跳过去。修好的、忽略的、拒绝过的收在每组底部的「已处理」里,随时展开审计。
播放器:看到的就是观众看到的

- 进度、音量、倍速、字幕显示模式(双语 / 原文 / 译文 / 隐藏)、全屏都在控制条上常驻,不需要 hover 召唤。
- 叠加字幕严格跟着播放头走:字幕行之间的间隙里画面是干净的——预览即观众所见。
- 播放中选中行自动跟随当前 cue,暂停即冻结;播放中点任何一条 cue 会自动暂停并跳过去,不会出现「刚点中就被拽走」。
cue 编辑器:一行的全部信息

- 原文、译文直接改,停顿约半秒后自动保存;起止时间用
MM:SS.mmm格式输入,非法输入或起点不早于终点会当场提示,不会悄悄写盘。 - 头部实时显示时长、原文语速和译文字数预算——输入过程中即时更新,不用等保存。
- 下方的彩色卡片是这一行的疑点:琥珀色是规则警告(预算 / 时间 / 术语),蓝色是提示(低置信识别词),紫色是 agent 建议。手动修好的卡片当场消失;不想管的点「忽略」——但如果你之后又改了这一行,忽略会自动作废、重新提示。
- 「标为已审核
Enter」「待处理⇧F」是校对的主循环按钮。
波形·字幕轨:对时间的最后确认

- 灰色波形下方的小竖线是 ASR 词边界,拖动边缘时会自动吸附。
- 拖色块两边改起止时间,拖中间整体平移;单击只是选中,不会产生任何修改。
- 滚轮平移视野,右侧滑杆缩放;拆分时默认切点对齐最近的词边界。
校对怎么打:三种顺手的方式
逐条精修(主力打法):点一条 → 重听这段(需要的话开单条循环)→ 改 → Enter 标为已审核并自动跳下一条未审核;Shift+Enter 只保存跳下一条。一路 Enter 到底。
连续过片:1.25× 播放往下看,发现不对就暂停——编辑器已经停在当前这条上,直接改;改完空格继续。选中永远跟着播放头,你不用回头找。
按问题清单:在问题视图里按疑点种类扫,点一条修一条,适合「先把所有术语问题过一遍」这种打法。
agent 建议:它标疑点,你做决定

紫色卡片是 agent 留下的修改建议:点建议文本先填进编辑框继续改;「接受」直接落成正式内容(一次原子写,一次 ⌘Z 可撤);「拒绝」收进问题视图底部,随时找回。如果这条 cue 在建议生成后又被改过,卡片会提示「建议可能过时」,但接不接受永远你说了算。
建议有两个来源:翻译阶段 agent 顺手留下的(零额外成本);以及开工前的预分析:
openbbq review --prepare --workspace workspaces/demo --to zh
# 把输出的分析请求交给 agent 回答,然后:
openbbq review --prepare --apply suggestions-response.json --workspace workspaces/demo --to zh预分析只在你显式运行时发生,不校对的人不产生任何额外成本。详见 Agent 协作。
查找替换:先预览,再动手

⌘F 呼出。填入查找内容后必须先点「预览」——它会列出命中了哪些 cue、命中片段高亮,确认无误后「替换 N 处」才允许点击。整批替换是一次原子写,⌘Z 一次全部撤回。支持区分大小写和正则表达式,范围可选原文 / 译文,也可以只在选中的几条里替换。
批量操作:一次处理一排

Shift 连选或 ⌘/Ctrl 点选多条后,底部批量条可以:整批标已审核 / 待处理 / 未审核、整批删除(有确认)、或把查找替换限定在这几条里。整批操作「全有或全无」——中途有任何冲突,一条都不会落盘。
顺手补词表:修一处,消一片

在原文或译文里选中一个词,旁边会浮出「添加术语」;填入源词和规范译法提交后,这个词进入工作区绑定的词表,全库相关的术语警告立刻消失。也可以从术语警告卡片的「+ 添加新术语」直接发起。词表的完整玩法见术语表。
快捷键:一张表管所有

按 ? 随时呼出这张表(它和实际执行的键位同源生成,永远不会过时)。最常用的几个:
| 键 | 作用 |
|---|---|
Space | 播放 / 暂停 |
Enter | 标为已审核,跳下一条未审核 |
Shift+Enter | 仅保存,跳下一条 |
J / K / L | 后退 2 秒慢放 / 暂停 / 1.5× 前进 |
[ / ] | 把当前行起点 / 终点设为播放头位置 |
S | 在光标处拆分 cue |
⌘F | 查找替换 |
⌘Z / ⇧⌘Z | 撤销 / 重做 |
全部校对完之后

所有行都标为已审核后,顶部会出现一条克制的横幅:还剩多少未处理的疑点,以及下一步的导出命令(点一下复制)。导出仍然是终端的事,工作台只负责交接。
边改边存
文字修改会自动保存到 cues.json(字幕行)和 translation.zh.json(工作表)——也就是每条终端命令读写的同一份文件。没有保存按钮,也没有第二份拷贝需要同步。
可以把一行拆成两行、把多行合并、插入或删除行,随时可以撤销或重做。确认无误的行标为 reviewed(已校对);需要回头再看的行标为 flagged(已标记),然后继续往下走。
校对进度写在 review.zh.json 里——仅原文模式则是 review.source.json。
同一时间只开一个编辑器
一个工作区的编辑锁,同时只能由一个编辑会话持有。先结束或关掉一个 openbbq review,再对同一个工作区启动下一个。
字幕文件等导出生成
编辑器不会去碰 SRT 或 ASS 文件。它们始终是派生文件——从工作区生成,而不是被直接修改。改完之后,显式重新导出:
openbbq export --to zh --workspace workspaces/demo详见导出与烧录。
校对关卡
一旦存在 review.zh.json,OpenBBQ 就认为校对必须完成:在该范围内每一行都标为 reviewed 之前,译文导出和双语导出都会被挡住。重新打开编辑器,把剩下的行处理完:
openbbq review --to zh --workspace workspaces/demo导出时的 --allow-unreviewed 只用于有意为之的草稿——它放行导出,但不会把任何行标为 reviewed。它在整个流程中的位置,见质量关卡。