The fixed inputs
UTF-8 text with LF (\n) line endings, exactly as shown:
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
The expected outputs
Boundary policy trim, clip-relative reset on. The second caption crosses the clip end at 00:00:14.000, so it is trimmed to the boundary and recorded as one warning in the manifest:
srt/intro.srt (CRLF line endings)
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 line endings)
Hello world Second line
SHA-256: a9e83523a6cb1aa198a5432317cda1705656447aa61bdae4357e0ff54b43bad7
manifest.csv (CRLF line endings)
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
Two ways to reproduce
- In the product: open the batch SRT splitter, upload the two inputs above, keep the trim policy, and compare the preview of
intro— timestamps, text, warning count and manifest row — against this page. - From source: run
bun run verify:fixturein the project repository. It feeds the same bytes through the same parsing, processing and export functions and prints the same hashes.
Deterministic output FAQ
Run your own inputs through the same pipeline
The fixture above is the smallest possible case. Bring a real master SRT and clip CSV and get the same determinism at full size.
Open the Batch SRT Splitter