Dependencies & Installation
Everything required to run the Splat Factory pipeline — converting DJI Mini 4 Pro footage to 3D Gaussian Splats. Ordered by installation sequence. Run items marked Manual before anything else.
Pipeline Overview
inbox/DJI_0001.MP4
│
▼ worker.py (inbox watcher → atomic job claim)
Creates queue/project_timestamp.job → moves to working/
│
▼ STAGE 1: ffmpeg
Decode MP4 (NVDEC if available, software fallback)
Apply LUT (DJI D-Log → REC709)
Extract at 2fps, scale 1920px, mild sharpen
→ local_temp/project/frames/ (~240 frames)
│
▼ STAGE 2: COLMAP
Feature extraction (SIFT GPU), Sequential/Exhaustive matching
Sparse reconstruction → quality check (warns if <75% registered)
Undistort → images/ + sparse/
→ local_temp/project/colmap/
│
▼ STAGE 3: 3DGS Training
GTX 1080 safe flags auto-applied (data_device cpu, 20k iters)
gsplat (pip) or GraphDECO repo — whichever found
→ local_temp/project/splat/*.ply
│
▼ Copy to NAS
splat/ → projects/project_name/splat/
done/project.job + .done_X checkpoint flags
01
System Requirements
Manual
NVIDIA GPU
GTX 1080 min · 8GB VRAM
CUDA-accelerated COLMAP feature extraction and 3DGS training. GTX 1080 safe mode auto-applied (data_device=cpu, 20k iterations).
CUDA Toolkit
11.8 (cu118)
Must match your GPU driver. GTX 1080 → CUDA 11.8. Install before PyTorch.
Python 3.10+
3.10 or 3.11 recommended
Runs all pipeline stages. Use 3.10/3.11 for best gsplat compatibility.
Windowspython.org/downloads
02
External Tools
Manual — add to PATH
ffmpeg
6.x · NVDEC build
Video decoding (NVDEC hardware acceleration), LUT application, frame extraction at 2fps, scaling, sharpening filter.
COLMAP
3.9+ · CUDA build
Structure-from-Motion reconstruction. Extracts camera poses from frames. Use the CUDA build for GPU-accelerated feature extraction. Exhaustive matcher for ≤500 frames, sequential for longer sequences.
Docscolmap.github.io
git
2.x
Required only if using GraphDECO gaussian-splatting repo instead of gsplat pip package. Not required when using gsplat from pip.
Windowsgit-scm.com/download/win
Linuxsudo apt install git
03
PyTorch
Manual — install first
torch + torchvision
2.x · cu118 build
CUDA-enabled PyTorch. Must match your CUDA version. GTX 1080 → cu118. Install manually before gsplat — do not let pip resolve it automatically.
Selectorpytorch.org/get-started
cu118 whldownload.pytorch.org/whl/cu118
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu118
COPY
04
Python Packages
Auto-installed by run.py
gsplat
pip · preferred trainer
Memory-efficient 3DGS trainer. Preferred over GraphDECO repo in 2026. Installs as a pip package with CUDA extensions compiled on install.
pip install gsplatCOPY
numpy
1.24+
Numerical arrays. Used by gsplat, COLMAP output parsing, and frame validation.
pip install numpyCOPY
Pillow
10.x
Image I/O for frame validation and sample generation.
pip install PillowCOPY
tqdm
4.x
Progress bars for long-running COLMAP and training stages.
pip install tqdmCOPY
watchdog
3.x
Cross-platform filesystem watcher for the inbox/ folder. Triggers job creation on new .MP4 files.
pip install watchdogCOPY
nvidia-ml-py
pynvml
VRAM monitoring during training. Falls back to nvidia-smi subprocess if not installed.
pip install pynvmlCOPY
05
NAS Folder Structure
Manual — create before first run
Folder Layout
Create this structure on the ASUSTOR NAS share before starting any workers. Workers use
os.replace() for atomic job claims — all dirs must pre-exist.
splat-factory/
inbox/ # drop .MP4 files here
queue/ # auto-created .job files
working/ # jobs in progress
done/ # completed jobs
projects/ # output .ply + frame samples
luts/ # DJI D-Log LUT files (.cube)
tools/ # ffmpeg, colmap binaries
windows/
linux/
inbox/ # drop .MP4 files here
queue/ # auto-created .job files
working/ # jobs in progress
done/ # completed jobs
projects/ # output .ply + frame samples
luts/ # DJI D-Log LUT files (.cube)
tools/ # ffmpeg, colmap binaries
windows/
linux/
DJI D-Log LUT
.cube format
Place DJI D-Log to REC709 LUT file in
luts/. If absent, pipeline skips colour grading (still works). DJI Official LUTs available from DJI support or third-party packages.DJI LUTsdji.com (official LUT download)