Data
video
HLS video segments — MPEG-TS or fMP4. The default lane reads only playlist.segments metadata (start time + duration), so cards render as soon as the m3u8 is fetched without decoding any frames.
Chunk format
- Format:
ts(MPEG-TS) orfmp4(fragmented MP4) - Decoder: hls.js (used by
VideoPlayer) or none (theVideoLanereads only segment boundaries)
Chunk contents
Standard HLS — codecs must be supported by MediaSource Extensions. H.264 + AAC is the safest baseline.
Sample m3u8
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:10
#EXTINF:9.967,
segment-001.ts
#EXTINF:10.000,
segment-002.ts
#EXTINF:10.000,
segment-003.ts
#EXT-X-ENDLISTCompatible timeline lanes
| Lane | Notes |
|---|---|
VideoLane | Default. Segment-card film strip; optional WebVTT thumbnail mode via props.thumbnails. |
Compatible standalone views
| View | Notes |
|---|---|
VideoPlayer | Plays the video at clock time via hls.js. Use in a detail pane alongside a VideoLane on the timeline. |
Default props
| Field | Value |
|---|---|
defaultHeight | 56 (px) — video rows get more vertical space than chart rows |
Python generator
Video files are authored outside dreamlake-py — produce HLS with ffmpeg / hls.js-packager, then register the src URL with the track:
episode.track(
"cams/wrist_cam",
dtype="video",
src="s3://my-bucket/episodes/ep1/cams/wrist_cam/playlist.m3u8",
)registerDtype override
registerDtype({
id: 'video',
name: 'Video (tall)',
defaults: { defaultHeight: 96 }, // override height for all video rows
})