
做 AI 短剧字幕时,画面生成、语音转写和字幕润色要分别验收。某个视频接口能生成音轨,并不意味着转写能自动听对人名,更不意味着润色模型可以改剧情事实。
本文不生成视频,也没有运行 ASR。能本地验证的是一组构造字幕的时间区间与重复 ID,不能冒充真实音频测评。
接口生命周期先查清
Google 官方 Gemini API 弃用表列出了三项 Veo 3.1 预览模型:veo-3.1-lite-generate-preview、veo-3.1-generate-preview 和 veo-3.1-fast-generate-preview,三行的 Shutdown date 均为 2026-10-22。页面标注更新于 2026-10-22,;该页同时说明,表中日期是最早可能停用日期,确切停用时间会提前通知用户。本文没有实测三个端点的当前可用性,也不能据此写成“所有 Veo 3.1 或其他渠道都已停服”。迁移目标、账号权限和实际能力需按目标平台再核实,本文不填写未验证价格与参数。
faster-whisper 项目提供 Whisper 转写实现及时间戳选项。README 中的测试带有旧版本和硬件条件,不是十月新测评,也不是本机结果。使用它时仍要对照原音,不把自动文本当唯一证据。
时间轴采用半开区间
我们把一条字幕定义为 [start_ms,end_ms),单位为整数毫秒。A 在 1000 结束、B 在 1000 开始时,不算重叠。若是单条主字幕轨,非预期重叠应提示人工检查;双说话人、多语轨可能允许重叠,需分轨而不是全局一刀切。

def validate(cues, duration_ms):
ids = set()
for c in cues:
if c["id"] in ids:
raise ValueError("duplicate cue id")
ids.add(c["id"])
start, end = c["start"], c["end"]
if type(start) is not int or type(end) is not int:
raise ValueError("integer milliseconds required")
if not 0 <= start < end <= duration_ms:
raise ValueError("invalid interval")
if not c["text"].strip():
raise ValueError("empty text")
ordered = sorted(cues, key=lambda c:(c["start"], c["end"], c["id"]))
overlap = []
for i, a in enumerate(ordered):
for b in ordered[i+1:]:
if b["start"] >= a["end"]:
break
overlap.append((a["id"], b["id"]))
return overlap
A = {"id":"A", "start":0, "end":1000, "text":"构造台词甲"}
B = {"id":"B", "start":1000, "end":1800, "text":"构造台词乙"}
C = {"id":"C", "start":900, "end":1200, "text":"构造台词丙"}
assert validate([A, B], 2000) == []
assert validate([A, C], 2000) == [("A", "C")]
for cues in [[A, dict(A)], [dict(A, end=0)], [dict(A, end=2100)]]:
try:
validate(cues, 2000)
except ValueError:
pass
else:
raise AssertionError("invalid cue accepted")
print("touching boundaries, overlaps, IDs and duration checked")
Python 3.9.6 隔离运行通过。重叠检测最坏 O(n²),这里更重视易读和完整配对,长片可改用扫描线。它不会检查语速、断句、说话人或声画同步,也不能发现某个否定词被听反。
字词纠错与剧情改写分开验收
一条字幕至少应能追到片段 ID、原始时间范围和原音。专有名词、数字、单位、否定词是优先回听项;“不接受”与“接受”只差一个字,剧情含义却相反。术语表可以列出允许的姓名和产品写法,但遇到歧义要留待确认,不能强行替换成最常见词。
若让大模型润色,应要求保留人物、数量、时序和肯否,只调整标点与可读分行。每次改写保存原句、改后句、变更理由和证据位置。无声片段里出现完整台词、音轨中不存在的因果关系,都不能靠“语句更流畅”通过验收。
最后还要在真实播放器里看字幕是否遮住信息、是否跨切镜不自然,以及导出编码、帧率和时间单位是否一致。本篇没有这类媒体输入,因此不声称完成播放器验收。
采用前需复核接口停用、迁移范围及转写依赖。时间轴代码仅针对构造数据,音频质量和模型效果仍待授权素材的实测。
本文聚焦AI短剧字幕的质量验收方法,强调时间轴校验(采用毫秒级半开区间)、ASR转写结果与大模型润色的边界划分,明确字词纠错与剧情改写必须分离验收。指出接口弃用风险(如Gemini Veo 3.1停服)、faster-whisper等工具的验证局限,并要求保留原始ID、时间范围及音源依据。验收需覆盖术语一致性、否定词准确性、标点分行合理性,且不替代真实播放器与音画同步测试。

310

被折叠的 条评论
为什么被折叠?



