All projects
SampleSample · unsupportedUnsupported · no SLA

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.

MIT licensed · 1 GitHub stars · Updated Aug 17, 2026

Dashboard showing session stat cards, a per-session write-amplification bar chart, and recent-session cards.
The dashboard surfaces session stats, a per-session B2 write-amplification chart, and recent captures.

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.

Sessions page listing capture-session cards, each with scene, camera and frame counts, timestamp, and write-amplification.
Every 4D capture session as a card with its scene, camera and frame counts, and write-amplification.
Session detail with a multi-view contact sheet, 4D metrics, per-stage B2 storage breakdown, and a pipeline timeline where the CUDA stages are skipped.
A completed run: the synchronized multi-view contact sheet, 4D metrics, per-stage B2 storage breakdown, and a pipeline timeline with the CUDA training tail auto-gated on a non-GPU host.
New session form with fields for session name, scene preset, cameras, frames per camera, and training quality.
Pick a synthetic scene and capture parameters — cameras, frames, training quality — before running the pipeline.

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.
Sample · unsupported

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.