Data
subtitle
W3C WebVTT captions — human-readable timed text. Each cue has a time range and a payload (usually a single line of text).
Chunk format
- Format:
vtt - Decoder:
textDecoder(returns UTF-8 strings;SubtitleViewparses cues on render)
Sample chunk
WEBVTT
00:00:00.500 --> 00:00:02.800
Approaching target cup
00:00:02.800 --> 00:00:04.200
Closing gripperSample m3u8
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:15
#EXTINF:15.000,
chunk-001.vtt
#EXTINF:15.000,
chunk-002.vtt
#EXT-X-ENDLISTCompatible timeline lanes
| Lane | Notes |
|---|---|
PillLane | Default. Renders each cue as an interval pill; cue text becomes the label. |
Compatible standalone views
| View | Notes |
|---|---|
SubtitleView | Displays the active cue's text — ideal for overlaying on a video pane. |
Default props
| Field | Value |
|---|---|
textField | 'text' (the VTT payload field that PillLane reads) |
Python generator
WebVTT files are authored outside dreamlake-py — transcription / annotation tools produce them, then register the src:
episode.track(
"narration/subtitles",
dtype="subtitle",
src="s3://my-bucket/episodes/ep1/narration/subtitles/playlist.m3u8",
)registerDtype override
registerDtype({
id: 'subtitle',
name: 'Subtitle',
defaults: { textField: 'transcription' }, // if your VTT cues use a custom field
})