Prerequisites
Before installing the video synchronization tool, ensure you have the following prerequisites:Python 3.11+
Python 3.11+
This project requires Python 3.11 or higher due to dependencies in Expected output:
scipy and pandas.Check your Python version:The project was developed and tested on Python 3.12. If you need to install or upgrade Python, visit python.org.
FFmpeg
FFmpeg
FFmpeg is required for audio extraction and video manipulation. It must be accessible in your system PATH.Verify FFmpeg installation:Expected output:
- macOS
- Windows
- Linux
Install via Homebrew:
Installation Steps
Clone the Repository
Download the project source code:
Replace
<repo-url> with the actual repository URL.Create Virtual Environment
Create an isolated Python environment for the project:You should see
- macOS/Linux
- Windows
(venv) prefix in your terminal prompt.Install Dependencies
Install all required Python packages:Required packages (from
Installation time: Approximately 2-5 minutes depending on your internet connection.
requirements.txt):What each package does
What each package does
- flask: Web UI framework for the synchronization wizard
- opencv-python: Video frame extraction and motion analysis
- numpy: Numerical operations and array processing
- scipy: Signal processing, FFT, and optimization algorithms
- matplotlib: Visualization of motion signals and sync indicators
- tqdm: Progress bars for long-running operations
- pandas: Data handling in the evaluation suite
- psutil: Resource monitoring (CPU, memory usage)
Project Structure
After installation, your project directory should look like this:The
evaluation/ directory is optional and only needed if you want to assess synchronization accuracy on synthetic test data.Configuration
The synchronization method is configured insrc/config.py:
src/config.py
Visual Sync
Best for:
- Silent videos
- Noisy environments
- Different camera angles
Audio Sync
Best for:
- Videos with clear audio
- High-precision alignment
- Similar audio across all cameras
Troubleshooting
FFmpeg not found error
FFmpeg not found error
Error message:Solution:
- Verify FFmpeg installation:
ffmpeg -version - If not installed, follow the FFmpeg installation steps
- Restart your terminal after installation
- Verify it’s in PATH:
which ffmpeg(macOS/Linux) orwhere ffmpeg(Windows)
Python version too old
Python version too old
Error message:Solution:
- Install Python 3.11 or higher from python.org
- Create a new virtual environment with the correct version:
OpenCV import error
OpenCV import error
Error message:Solution (Linux only):
Permission denied on macOS
Permission denied on macOS
Error message:Solution:
The app uses your system’s temp directory. If you encounter permissions issues, modify
src/config.py:Next Steps
Quick Start
Learn how to synchronize your first set of videos
Configuration
Customize sync parameters and processing options