facebookresearch/vrs
VRS is a file format optimized to record & playback streams of sensor data, such as images, audio samples, and any other discrete sensors (IMU, temperature, etc), stored in per-device streams of timestamped records.
What it solves
VRS provides a specialized file format and library for recording and playing back high-volume streams of time-stamped sensor data. It solves the problem of efficiently storing and accessing diverse data types—such as images, audio, IMU, and temperature readings—from multiple devices in a single, synchronized file, which is critical for developing systems like positional tracking and hand tracking in VR/AR hardware.
How it works
Data is organized into per-device streams containing time-sorted records. Each record consists of typed content blocks (e.g., metadata, image, or audio). To maximize efficiency, metadata is described once per stream, and records can be losslessly compressed using lz4 or zstd. The system supports concurrent multi-threaded recording, random-access playback, and automatic chunking for massive files (multi-terabyte scale). It also includes a C++ library, a Python interface (pyvrs), and tools for inspection and visualization.
Who it’s for
It is designed for researchers and engineers working with sensor-heavy hardware, such as AR/VR headsets (e.g., Meta Quest, Aria glasses) and robotics, who need a performant way to log and analyze synchronized multimodal sensor data.
Highlights
- Multimodal Support: Handles images, audio, and discrete sensor data (IMU, GPS, etc.) in synchronized streams.
- High Performance: Supports multi-threaded concurrent recording and efficient lossless compression.
- Scalability: Capable of handling multi-terabyte files with support for auto-chunking.
- Flexible Playback: Optimized for timestamp order (ideal for network streaming) while supporting random access.
- Extensible: Custom
FileHandlerimplementations allow for cloud storage streaming.
Related
- Project
- Project
- Project
- Project
- Project