Skip to Content
Experimental: Contact Us

This surface is directional and may change before public release. Contact Spiral if you want to use it in an early workflow.

The Video Extension is intended for video catalogs where users need to query metadata, clip ranges, sampled frames, and decode policies without decoding entire videos up front.

Planned table functions

FunctionPurpose
video.scan(path)Discover video files or read a video manifest.
video.clips(path)Produce clip-level rows with start/end metadata.
video.frames(path, every)Produce deferred frame references at a sampling interval.
video.windows(path, window, stride)Produce deferred temporal windows.
video.decode(frame_ref)Materialize selected frames or windows.

These names are preview syntax. The functions are not registered in the current video plugin.

Output shape

Frame-oriented functions should produce rows like:

ColumnMeaning
video_idStable video id.
pathLocal path or object URI.
timestamp_msFrame timestamp.
frame_indexFrame number when available.
duration_msVideo or clip duration.
frame_refDeferred frame reference.

Example shape

SELECT video_id, frame_ref FROM video.frames('s3://bucket/videos/', every => '2s') LIMIT 100;

Notes

  • Metadata and sampling should be plan-visible before decode.
  • Decode policy should document frame format, resize policy, device placement, and whether timestamps are exact or nearest-frame.
  • Shot-boundary and scene-detection outputs should be documented as separate table functions if they become public.
Last updated on