Windows application for extracting frames from videos and analyzing them for sharpness, grading, and alignment for 3DGS purposes. This project was built almost entirely in the cursor composer by a non-programmer, so, don't judge me on the code quality. Open to feedback and suggestions for new features, improvements, and bug fixes.
- Extract frames from videos at customizable FPS rates
- Optional frame resizing while maintaining aspect ratio
- Progress tracking during extraction
- Support for common video formats (MP4, AVI, MOV, MKV)
- Automatic blur detection using Laplacian variance
- Batch processing of images
- Smart selection of best frames based on quality metrics
- Configurable minimum and maximum image selection
- Detailed statistics and analysis results
- Direct integration with RealityCapture for 3D reconstruction
- Darktable integration for image grading
- Automatic project organization and file management
- Python 3.7+
- FFmpeg (must be in system PATH)
- RealityCapture (optional, for 3D reconstruction)
- Darktable (optional, for image processing)
-
Install Python
- Download Python 3.7+ from python.org
- During installation, check "Add Python to PATH"
- Verify installation:
python --version
-
Install FFmpeg
- Download FFmpeg from ffmpeg.org
- Extract the zip file
- Add FFmpeg to PATH:
- Copy the path to ffmpeg/bin folder
- Open System Properties → Advanced → Environment Variables
- Add to System PATH
- Verify installation:
ffmpeg -version
-
Clone Repository
git clone https://github.com/shrimbly/Video-to-splat.git cd Video-to-splat
-
Create Virtual Environment
python -m venv venv .\venv\Scripts\activate
-
Install Dependencies
pip install -r requirements.txt
-
RealityCapture Integration
- Install RealityCapture
- Update
config.py
with RC path:
RC_EXECUTABLE = r"C:\Program Files\Capturing Reality\RealityCapture\RealityCapture.exe"
-
Darktable Integration
- Download Darktable from darktable.org
- Install and update
config.py
:
DARKTABLE_EXECUTABLE = r"C:\Program Files\darktable\bin\darktable.exe"
-
Configure Output Directories
- Open
config.py
- Set your preferred paths:
AUTOMATIC_OUTPUT_DIR = r"path\to\your\output\directory" SOURCE_IMAGES_DIR = "Source Images" BEST_IMAGES_DIR = "Best Images"
- Open
Run it Do the config first, then run it.
python main.py
-
FFmpeg Not Found
- Ensure FFmpeg is in PATH
- Restart terminal/IDE after PATH changes
- Try using full path in config
-
Import Errors
- Verify virtual environment is activated
- Reinstall requirements:
pip install --upgrade -r requirements.txt
-
Permission Issues
- Run terminal as administrator
- Check folder permissions
- Verify write access to output directories
-
Video Processing Errors
- Ensure video codec is supported
- Check available disk space
- Verify video file isn't corrupted