4D Gaussian Splatting Volumetric Capture
A capture-to-B2 pipeline for dynamic 4D reconstruction: turn synchronized multi-camera video into a hustvl/4DGaussians multipleview dataset and a trained, time-varying Gaussian-Splatting model, with every input and derived artifact versioned in Backblaze B2 over the S3-compatible API.
Built for: Engineers and AI-assisted builders creating a dynamic 4D or volumetric-capture reconstruction pipeline who need durable, cheap, S3-compatible storage for large capture, training, and export artifacts.

What it's built with
Each piece of the stack, and the job it does in this project.
- Next.js 16 + React 19
- Web app and dashboard UI (Tailwind v4, shadcn/ui, Recharts, TanStack Query)
- FastAPI + Pydantic v2
- Typed Python API with a layered, contract-checked backend
- boto3 + Backblaze B2
- S3-compatible object storage for every capture and training artifact
- NumPy, Pillow, imageio-ffmpeg, plyfile
- CPU capture pipeline: frame extraction, calibration, dataset staging, and .ply handling
- hustvl/4DGaussians
- Local, keyless CUDA engine for the 4D training tail
- pnpm workspaces
- TypeScript and Python monorepo workflow
Core capabilities
What the project does out of the box, before you write any code of your own.
4D capture sessions
Create, browse, edit, delete, and run 4D capture sessions through a full UI lifecycle; each session's system of record is a JSON manifest in B2, with no database.
Synchronized multi-view ingest
Upload per-camera video or seed a fully synthetic capture, then extract frames per camera with a bundled ffmpeg.
Real 4DGaussians dataset staging
Stage a real multipleview dataset with an init point cloud, and get the exact train.py command for the CUDA training tail — the trained splat is never faked.
B2 write-amplification story
A write-amplification dashboard and a per-session Artifacts & Storage explorer break the capture-to-splat fan-out down by pipeline stage.
Reusable B2-backed surface
The starter's full-bucket File Explorer and drag-and-drop presigned Upload are kept intact alongside the domain screens.
A closer look
More screens from the running project.



Choose it for the right job
4D Gaussian Splatting Volumetric Capture is a head start for a specific shape of project, not a supported, general-purpose product.
Use it when
- You are building a dynamic 4D or volumetric-capture reconstruction pipeline and want durable, cheap, S3-compatible storage for source video, extracted frames, calibration, checkpoints, and the trained splat.
- You want to run the full CPU pipeline — ingest, frame extraction, calibration, dataset staging, and previews — end to end on any machine with no GPU, staging a real 4DGaussians multipleview dataset into B2.
- You want the CUDA training tail to auto-gate on a non-GPU host and emit the exact train.py command to run on a GPU box, instead of a simulated result.
- You value an engineering-minded scaffold with a layered backend, contract checks, and tests that an AI coding agent can read and extend.
Choose another path when
- You need a complete hosted SaaS product or a managed 4D-reconstruction service — this ships no managed hosting, user accounts, authentication, tenant isolation, or billing.
- You need the 4D training tail to run without a CUDA GPU: the 4DGaussians rasterizer and simple-knn are CUDA-only, so training is gated on CPU or MPS hosts (the CPU pipeline and all B2 I/O still run).
- You need a supported product with a service-level agreement or guaranteed maintenance.
- You only need a general file-upload and object-storage starter without the 4D pipeline — the Vibe Coding Starter Kit is a simpler base.
Project status and support
Report defects and feature requests through the repository's GitHub Issues; this sample is provided as-is with no service-level agreement.