Skip to content
Novus Examples
srt208 B

SRT — Cyrillic

Cyrillic captions — outside ASCII but still single-width and left-to-right, which isolates encoding handling from layout handling.

Preview, first 9 linessrt
1
00:00:01,000 --> 00:00:03,000
Новус — тестовый файл субтитров

2
00:00:03,500 --> 00:00:06,000
Вторая реплика, две строки:
это вторая строка

Specifications

Encoding
UTF-8
Script
Cyrillic
Cues
2
Direction
LTR

Testing contract

Expected to pass
Scenario
Decode the file, parse its cues, and measure each cue's length in bytes and in characters.
Expected result
2 cues of Cyrillic in UTF-8, LTR, the second of which is two display lines. The two lengths must differ: Cyrillic letters occupy two bytes each in UTF-8 and the em dash in cue 1 occupies three, so any caption-length limit measured in bytes rather than characters under-counts how much text will fit, and truncating on a byte boundary can split a character.

What is a .srt file?

SRT (SubRip) is a plain-text subtitle format listing numbered cues, each with a start and end timecode and one or more lines of text. It is simple, human-readable, and extremely widely supported by players. It carries no styling metadata beyond basic inline tags.

How to use this file

Use an example SRT to test subtitle parsing, timecode handling, and converters that translate between SRT and WebVTT or other caption formats.

How to use this file for testing

“SRT — Cyrillic” is a deterministic Novus Examples fixture for Caption encoding, Subtitle parsing, Video QA. The same cue list written with a UTF-8 BOM, without one, in UTF-16, with CRLF and with bare LF, plus non-Latin scripts and right-to-left text, for finding the parser that assumed captions are always LF-terminated ASCII.

Documented properties for this file: 2 cues · UTF-8. Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.

Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such, expect parsers to fail loudly rather than silently accept them.

Media fixtures are short and synthetic by design. Prefer waveform or transcript ground truth in the same group when measuring ASR, trim, upscale, or sync tools; do not assume broadcast-quality masters.

Code examples

<video controls src="clip.mp4">
  <track kind="captions" srclang="en" label="English" src="script-cyrillic.srt" default>
</video>

Generated by generation/video_timedtext.py. Free for any use, no attribution required, license.