TTSP is a Blender extension that reconstructs a camera move from video. It produces a keyframed camera that matches the original shot, together with a colored point cloud of the filmed environment, for use in matchmoving and CG integration.
TTSP implements a structure-from-motion pipeline. Each solve passes through the same sequence:
All processing runs locally. Solving runs in a separate background process, so Blender remains fully responsive throughout, and a running solve can be cancelled at any time.
To install: Edit ▸ Preferences ▸ Get Extensions ▸ Install from Disk…, select the ttsp-*.zip for your platform, and confirm the extension is enabled in the Add-ons list. The panel appears in the 3D viewport sidebar (N) under the TTSP tab.
Each solved video receives a sidecar folder named <video>_TTSP next to the source file. It holds the extracted frames, the solve database, the reconstruction, and logs. Results are cached: re-importing a finished solve is immediate.
Selects the input video and controls how it is sampled for analysis. When a video is chosen, an information readout shows resolution, frame rate, duration, file size, total frame count, the number of frames that will be analyzed, and an estimated tracking time. The last two update live as the settings change.
| Setting | Default | Description |
|---|---|---|
| Analyze every _ frames | 2 | Frequency of feature detection. A value of 2 analyzes every second frame. Use 1 for fast camera moves so consecutive frames still overlap; raise the value for long, slow shots. |
| Max frames analyzed | 300 | Maximum number of keyframes. For long videos, the detection frequency is lowered automatically to stay within this limit and keep solve times short. |
| Analysis resolution (px) | 1600 | Downscale size; the value is the long edge of the downscaled video used for analysis. Raise it only if tracking struggles on fine or distant detail. |
The Engine line reports which solver will run: the bundled solver (CPU) or a system COLMAP installation with GPU acceleration, if enabled in §4.5.
| Control | Description |
|---|---|
| Quality | Fast (global) solves all frames simultaneously and is the recommended default. Robust (incremental) registers frames one at a time; slower, but more tolerant of difficult footage (motion blur, sparse detail, abrupt moves). |
| Track and solve | Starts the solve in a background process. The progress bar reports each stage; Cancel stops the run immediately. |
Progress stages, in order:
| Stage | Meaning |
|---|---|
| Extracting Frames | Sampled stills are pulled from the video. |
| Finding Features | Each frame is scanned for trackable detail. |
| Matching Features | Detail is matched across neighboring frames. |
| Solving Camera | Rotations, then positions, then refinement. |
| Saving Solve | The reconstruction is written to the sidecar folder. |
| Option | Description |
|---|---|
| Keyframed camera | Creates a camera keyed on every solved frame, with focal length estimated from the solve. |
| Point cloud | Imports the reconstructed 3D points as a cloud of small dots, a sketch of the filmed environment for placing CG against. |
| Video as camera background | Displays the source footage behind the camera view and sets the render resolution to match the clip. |
| Build scene | Imports the selected items into a new collection. A best-effort leveling is applied automatically on import. |
| Align Floor to Selected Points | Levels the scene from points you choose. Select the point cloud, enter Edit Mode (Tab), select three or more points on the ground (box-select works well), and click the button. The whole solve rotates so those points become the level floor at Z = 0, with their center at the origin. |
| Open solve folder | Reveals the <video>_TTSP sidecar folder. |
Reports the state of TTSP's components. Solver and Frame extractor should both read Bundled. System COLMAP (turbo) indicates whether a separate COLMAP installation was detected; enabling Use system COLMAP routes solving through it, which is substantially faster on NVIDIA GPUs. Re-scan re-checks after installing software. A manual path to a COLMAP executable can be set in the add-on preferences.
Build scene creates a collection named TTSP <clip> containing an empty, with the camera and point cloud parented to it. The empty is the master transform for the whole solve: rotating or scaling it moves camera and points together, keeping them registered to each other.
An automatic best-effort leveling is applied on import. If the result is not level (footage varies), use Align Floor to Selected Points (§4.3) to set the ground plane exactly from points you pick. Two properties still require judgment:
CG elements placed among the points will hold their position in the shot when viewed through the camera. Parent them to the empty if you expect to re-orient or re-scale the world afterward.
| Symptom | Cause and remedy |
|---|---|
| "No reconstruction produced" | The footage lacks parallax (camera rotated without traveling) or trackable texture. Reshoot with lateral movement, or try Robust quality. |
| Erratic camera path | Motion blur or insufficient frame overlap. Set "Analyze Every _ Frames" to 1, raise "Max Frames Analyzed", and try Robust quality. |
| "Solve data missing on disk" | The solve predates the current TTSP version. Run Track and solve again for that video. |
| Only part of the clip solved | Expected on difficult footage; the camera is keyed only where solving succeeded. More texture and slower moves raise the solved fraction. |
| Panel missing after update | Confirm the extension is enabled: Edit ▸ Preferences ▸ Get Extensions ▸ Installed. |
| Other failures | The complete engine log is written to worker.log in the sidecar folder. |