Clip Caption Kit

验证输出是确定性的

相同的输入、相同的算法、相同的字节。把下面两份输入粘贴进批量拆分器(裁剪策略),一定得到完全一致的输出——否则就是管线的 bug。

由 Clip Caption Kit 编写最后更新:

固定的输入

UTF-8 文本,LF(\n)换行,与下示完全一致:

verification-master.srt

1
00:00:10,000 --> 00:00:12,000
Hello world

2
00:00:13,500 --> 00:00:15,000
Second line

SHA-256: 48dc6e6435773124c0a548604e96cdbbfa78196cfacef341e6992f85f6ea6029

verification-clips.csv

name,start,end
intro,00:00:09.000,00:00:14.000

SHA-256: b37fd0f3cd8a01d62dc0161bb49f93c796ef30eb800c8e37687dd43c36345174

预期的输出

边界策略 trim(裁剪),片段相对重置开启。第二条字幕跨越了片段结尾 00:00:14.000,因此被裁剪到边界,并在 manifest 里记为 1 条警告:

srt/intro.srt(CRLF 换行)

1
00:00:01,000 --> 00:00:03,000
Hello world

2
00:00:04,500 --> 00:00:05,000
Second line

SHA-256: 5d5aa96a51e0b3ab9780f85ba633ba8a6f4bfefd66142b6c58d4271693913a7b

txt/intro.txt(LF 换行)

Hello world
Second line

SHA-256: a9e83523a6cb1aa198a5432317cda1705656447aa61bdae4357e0ff54b43bad7

manifest.csv(CRLF 换行)

name,start,end,duration,caption_count,boundary_policy,warning_count,srt_file,txt_file
intro,00:00:09.000,00:00:14.000,00:00:05.000,2,trim,1,srt/intro.srt,txt/intro.txt

SHA-256: 1e4ecddbd7997a79a8a613e1a182f4077cc1dc17457430456cad077e0e8e13cf

两种复现方式

  1. 在产品里:打开批量 SRT 拆分器,上传上面两份输入,保持裁剪策略,对照本页检查intro 的预览——时间码、文本、警告数与 manifest 行。
  2. 从源码:在项目仓库运行 bun run verify:fixture。它把同样的字节送进同样的解析、处理与导出函数,打印同样的哈希。

确定性输出 FAQ

把自己的输入送进同一条管线

上面的夹具是最小例子。带来真实的主字幕 SRT 与片段 CSV,同样的确定性在完整规模下成立。

打开批量 SRT 拆分器