lance-format/pusht-lerobot-lancedb-video
pusht-lerobot-lancedb-video (video blobs) A lerobot-lancedb-format Lance copy of lerobot/pusht, using the video-blob layout: one row per frame in …video.lance (tabular only), plus one row per source mp4 in …video_videos.lance (raw mp4 bytes as Lance blob v2). Pixels are bit-exact with upstream. Not to be confused with lance-format/lerobot-pusht-lance, which uses a different three-table schema and is not loadable with lerobot-lancedb. This repo is specifically the layout… See the full description on the dataset page: https://huggingface.co/datasets/lance-format/pusht-lerobot-lancedb-video.
pusht-lerobot-lancedb-video (video blobs)
A `lerobot-lancedb`-format Lance copy of `lerobot/pusht`, using the video-blob layout: one row per frame in …video.lance (tabular only), plus one row per source mp4 in …video_videos.lance (raw mp4 bytes as Lance blob v2). Pixels are bit-exact with upstream.
Not to be confused with `lance-format/lerobot-pusht-lance`, which uses a different three-table schema and is not loadable withlerobot-lancedb. This repo is specifically the layout produced bylerobot-convert-to-lance-video.
Load
from lerobot_lancedb import LeRobotLanceVideoDataset
ds = LeRobotLanceVideoDataset(repo_id="lance-format/pusht-lerobot-lancedb-video")
print(len(ds)) # 25_650 frames
print(ds[0]["observation.image"].shape) # torch.Size([3, 96, 96])Decode is on-the-fly via torchcodec against the inline mp4 bytes (no separate videos/ directory). Lance streams the segment bytes lazily through byte-range fetches from the Hub.
Repro
pip install git+https://github.com/lancedb/lerobot-lancedb.git
lerobot-convert-to-lance-video \
--repo-id=lerobot/pusht \
--output=./pusht-lerobot-lancedb-video \
--table-name=pusht-lerobot-lancedb-videoLayout
pusht-lerobot-lancedb-video/
├── meta/ # standard LeRobotDataset metadata sidecar
├── pusht-lerobot-lancedb-video.lance/ # one row per frame, tabular only
└── pusht-lerobot-lancedb-video_videos.lance/ # one row per source mp4, raw bytes as blob v2Frames table columns: episode_index, frame_index, index, timestamp, task_index, observation.state, action. Pixels live in the _videos.lance blob column and are decoded per-(episode, video_key) segment at sample time.
Size: ~8 MB. Companion JPEG-frame layout (~60 MB, faster single-frame decode) at `lance-format/pusht-lerobot-lancedb`.
