Introduction
Open Video Tracker is a Blender add‑on that automates converting video footage into 3D point clouds and camera tracks using photogrammetry techniques. It integrates FFmpeg, COLMAP, and GLOMAP to provide a streamlined workflow for video tracking and 3D reconstruction.
Note: The add‑on is currently available for Windows only. Use the CUDA build if you have an NVIDIA RTX GPU; otherwise, use the standard version.
Video Demo
Installation
Step 1 — Download the add‑on
- Download the Open Video Tracker add‑on (Windows only for now).
- If you have an NVIDIA RTX GPU, download the CUDA build; otherwise, download the standard build.
- Locate the
open_video_tracker
folder containing the add‑on files.
Step 2 — Install in Blender
- Open Blender
- Go to Edit → Preferences
- Select the Add-ons tab
- Click Install from Disk
- Navigate to and select the
open_video_tracker
folder - Click Install From Disk
Step 3 — Verify installation
- Switch to the 3D Viewport
- Open the right sidebar and look for the Open Video Tracker tab
- If it’s visible, the installation was successful
User Interface Overview
Main Panel
The main interface is located in the 3D Viewport sidebar under the “Open Video Tracker” tab.
Video Selection
- Video Path: File browser to select input video file
- Video Information: Displays frame rate, resolution, and bitrate
Frame Extraction Settings
- Quality: Native, High, Balanced, Low, Lowest
Feature Extraction Settings
- Max Image Size (default: 2000 px)
- Use GPU: Enable for CUDA version
- Camera Model: Simple Radial recommended
- Max Num Features (default: 8192)
Sequential Matching
- Overlap: Number of overlapping frames (default: 10)
Reconstruction Settings
- Max Tracks per image (default: 1000)
- Constraint Type: Balance between point and camera constraints
- Advanced Options: GLOMAP parameters (epipolar error, iterations)
Execution Controls
- Track Video: Start the processing pipeline
- Progress: Real-time progress indicator
Import Options Panel
Camera Import
- Import Cameras: Enable camera track import
- Camera Extent: Size of camera visualization
- Add Background Images
- Add Image Planes
- Animation Options
Point Import
- Import Points
- Point Cloud Display: Sparsity and rendering options
- GPU Rendering
- Mesh Options
Workflow
Step 1 — Prepare your video
- Supported formats: MP4, AVI, MOV, MKV, WMV, FLV, WebM
- Use high-quality, stable footage
- Ensure good lighting and contrast
- Start with short clips for testing
Step 2 — Configure processing settings
Video Quality
- Native/High: Best quality, slowest processing
- Balanced: Good quality/performance
- Low/Lowest: Fastest, smaller files
Feature Extraction
- Increase Max Image Size for high-res videos
- Enable GPU if available
- Choose camera model based on camera type
Reconstruction
- Adjust Max Tracks for scene complexity
- Use Balanced constraints for most cases
Step 3 — Run the pipeline
- Click Track Video
- Monitor progress
- Processing time depends on video length and settings
- Do not close Blender during processing
Step 4 — Import results
After processing completes, the add‑on automatically imports:
- Camera objects with animation data
- Point cloud data
- Background images (if enabled)
Configuration Options
Camera Models
- Simple Radial: Most consumer cameras (smartphones, DSLRs)
- Simple Radial Fisheye: Action cameras (GoPro)
- OpenCV: Computer vision cameras
- Full OpenCV: Complex distortion scenarios
Constraint Types
- Points Only: When camera positions are unreliable
- Cameras Only: When point features are sparse
- Balanced: Recommended default
- Points and Cameras: Maximum constraints, slower
Running the Pipeline
Progress
- Each step is logged to the Blender console
- View via Window → Toggle System Console (Windows)
Expected output
The add‑on uses the same directory as the .blend file and creates:
{your_blend_file_directory}/
└── video_tracking/
└── {video_name}/
├── images/ # Extracted frames
├── sparse/ # Reconstruction data
│ ├── 0/ # Model files
│ ├── cameras.txt # Camera data
│ ├── images.txt # Image data
│ └── points3D.txt # Point cloud data
└── database.db # COLMAP database
Importing Results
Camera Import
- Camera Extent: Visual size of camera objects
- Background Images: Show original frames
- Image Planes: Create textured planes
- Animation: Convert camera motion to keyframes
Point Cloud Import
- Display Sparsity: Reduce density for performance
- GPU Rendering
- Mesh Conversion: Convert points to mesh objects
Post‑Processing
Coming soon.
Best Practices
Video Preparation
- Resolution: Higher resolution improves tracking but increases time
- Frame Rate: 24–30 fps is optimal
- Stabilization: Use stabilized footage when possible
- Lighting: Ensure consistent, even lighting
- Motion: Prefer smooth camera movement
Processing Optimization
- Start Small: Test with short clips first
- GPU Usage: Enable when available
- Quality Settings: Use Balanced for initial tests
- Memory Management: Monitor RAM with large videos
Scene Considerations
- Feature‑Rich scenes track better
- Minimize motion blur
- Include objects of known scale
- Ensure sufficient frame overlap
Quick Fixes
- Processing fails: Check executable paths in preferences
- Out of memory: Reduce Max Image Size or use lower quality
- Poor tracking: Adjust camera model or increase Max Features
- Slow processing: Enable GPU or reduce video resolution
Credits
- Blender — 3D creation suite (blender.org)
- FFmpeg — Video processing toolkit (ffmpeg.org)
- COLMAP — Structure-from-Motion and MVS (colmap.github.io)
- GLOMAP — Global incremental SfM (github.com/colmap/glomap)
- Blender Photogrammetry Importer (github.com/SBCV/Blender-Addon-Photogrammetry-Importer)
- Thanks to the open‑source community and contributors