| name | space-video-subtitle |
| description | 视频字幕全流程——语音转写、口播式断句、AI 校对纠错(专有名词/同音字/标点)、生成 SRT/ASS,并可选烧录进视频。当用户说「上字幕」「转写这条视频」「生成 srt」「字幕校对」「断句」「烧录字幕」「硬字幕」「subtitle」时触发。输入是视频或音频,输出是校对过的字幕文件,可选带字幕的成片。 |
space-video-subtitle · 字幕
字幕不是「转写完就行」。口播字幕要断句舒服、专名正确、和画面对齐。分四步。
流程
视频/音频 → ① 转写(带时间) → ② 口播式断句 → ③ AI 校对 → ④ 输出 SRT/ASS →(可选)烧录
① 转写
- 抽 16k 单声道 wav → ASR(SenseVoice / whisper / Volc 任一可用后端)
- 产出带时间的词级或句级结果
② 口播式断句
字幕断句和标点不一样,按呼吸和语义断,不按书面标点:
- 一屏字幕 ≤ 一句能一眼读完(中文一般 ≤15 字/行,竖屏更短)
- 在自然停顿处断,不把一个词组切两屏
- 语气词/口头语可保留(更真实),也可按用户偏好清掉
③ AI 校对(最关键)
ASR 初稿必错,重点纠三类:
- 专有名词:人名、产品名、英文缩写(Qoder、HyperFrames、MCP…)——建一个术语表喂进去统一
- 同音字:中文 ASR 高发(「在/再」「的/得」「做/作」)
- 标点与数字:口播里的「百分之八十七」→「87%」按需规整
若有剪辑(space-video-edit),字幕基于剪后视频重新转写再校对,不能沿用原视频字幕。
④ 输出
subtitles.srt:通用
subtitles.ass:需要样式(字体、描边、位置、逐字卡拉OK)时用
- 命名和成片对应
烧录(可选)
ffmpeg -i in.mp4 -i subtitles.srt -c copy -c:s mov_text out.mp4
ffmpeg -i in.mp4 -vf "subtitles=subtitles.ass" -c:a copy out_hard.mp4
竖屏注意字幕安全区(别被平台 UI 挡住),一般压在画面下方 1/5 以上。
交接
- 上游:
space-video-edit 的 source_cut.mp4,或任意成片/音频
- 下游:带字幕的成片 →
space-video-cover 或直接发布
依赖
ffmpeg、一个 ASR 后端;烧录 ASS 需 ffmpeg 带 libass。
核心原则
- 断句按呼吸,不按标点
- 专名先建表:术语表统一,避免同一个词半集对半集错
- 剪后重转写:剪过的视频,字幕必须重新做