D
DreamLake

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) or fmp4 (fragmented MP4)
  • Decoder: hls.js (used by VideoPlayer) or none (the VideoLane reads 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-ENDLIST

Compatible timeline lanes

LaneNotes
VideoLaneDefault. Segment-card film strip; optional WebVTT thumbnail mode via props.thumbnails.

Compatible standalone views

ViewNotes
VideoPlayerPlays the video at clock time via hls.js. Use in a detail pane alongside a VideoLane on the timeline.

Default props

FieldValue
defaultHeight56 (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
})